@rsc-labs/medusa-store-analytics
Version:
Get analytics data about your store
51 lines (50 loc) • 3.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrdersPaymentProviderCard = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
/*
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
*
* MIT License
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const ui_1 = require("@medusajs/ui");
const material_1 = require("@mui/material");
const medusa_react_1 = require("medusa-react");
const icons_1 = require("@medusajs/icons");
const orders_payment_provider_chart_1 = require("./orders-payment-provider-chart");
const OrdersPaymentProviderDetails = ({ dateRange, dateRangeCompareTo, compareEnabled }) => {
var _a, _b;
const { data, isLoading, isError, error } = (0, medusa_react_1.useAdminCustomQuery)(`/orders-analytics/payment-provider`, [dateRange, dateRangeCompareTo], {
dateRangeFrom: dateRange ? dateRange.from.getTime() : undefined,
dateRangeTo: dateRange ? dateRange.to.getTime() : undefined,
dateRangeFromCompareTo: dateRangeCompareTo ? dateRangeCompareTo.from.getTime() : undefined,
dateRangeToCompareTo: dateRangeCompareTo ? dateRangeCompareTo.to.getTime() : undefined
});
if (isLoading) {
return (0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 12 });
}
if (isError) {
const trueError = error;
const errorText = `Error when loading data. It shouldn't have happened - please raise an issue. For developer: ${(_b = (_a = trueError === null || trueError === void 0 ? void 0 : trueError.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message}`;
return (0, jsx_runtime_1.jsx)(ui_1.Alert, { variant: "error", children: errorText });
}
if (data.analytics == undefined) {
return (0, jsx_runtime_1.jsx)(ui_1.Heading, { level: "h3", children: "Cannot get orders" });
}
if (data.analytics.dateRangeFrom) {
return (0, jsx_runtime_1.jsx)(orders_payment_provider_chart_1.OrdersPaymentProviderPieChart, { ordersPaymentProviderResponse: data, compareEnabled: compareEnabled });
}
else {
return (0, jsx_runtime_1.jsx)(ui_1.Heading, { level: "h3", children: "No orders" });
}
};
const OrdersPaymentProviderCard = ({ dateRange, dateRangeCompareTo, compareEnabled }) => {
return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, paddingBottom: 2, spacing: 3, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, md: 12, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(icons_1.Cash, {}) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Heading, { level: "h2", children: "Payment provider popularity" }) })] }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, md: 12, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, direction: 'column', alignItems: 'center', paddingTop: 3, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(OrdersPaymentProviderDetails, { dateRange: dateRange, dateRangeCompareTo: dateRangeCompareTo, compareEnabled: compareEnabled }) }) }) })] }));
};
exports.OrdersPaymentProviderCard = OrdersPaymentProviderCard;