UNPKG

@rsc-labs/medusa-store-analytics-v2

Version:
65 lines 12.8 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.config = 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 react_1 = require("react"); const react_2 = require("react"); const admin_sdk_1 = require("@medusajs/admin-sdk"); const ui_1 = require("@medusajs/ui"); const icons_1 = require("@medusajs/icons"); const material_1 = require("@mui/material"); const overview_1 = __importDefault(require("../../../ui-components/tabs/overview")); const orders_1 = __importDefault(require("../../../ui-components/tabs/orders")); const products_1 = __importDefault(require("../../../ui-components/tabs/products")); const sales_1 = __importDefault(require("../../../ui-components/tabs/sales")); const customers_1 = __importDefault(require("../../../ui-components/tabs/customers")); const ui_components_1 = require("../../../ui-components"); const material_2 = require("@mui/material"); const overview_components_1 = require("../../../ui-components/common/overview-components"); const pro_1 = __importDefault(require("../../../ui-components/tabs/pro")); const AnalyticsPage = () => { // @ts-ignore const showProTab = import.meta.env.VITE_MEDUSA_ADMIN_MEDUSA_STORE_ANALYTICS_HIDE_PRO === undefined; const [dateLast, setDateLasts] = (0, react_1.useState)(ui_components_1.DateLasts.LastWeek); const [compareEnabled, setCompare] = (0, react_1.useState)(true); const [orderStatuses, setOrderStatuses] = (0, react_1.useState)([ui_components_1.OrderStatus.COMPLETED, ui_components_1.OrderStatus.PENDING]); const dateRange = (0, react_2.useMemo)(() => (0, ui_components_1.convertDateLastsToDateRange)(dateLast), [dateLast]); const dateRangeComparedTo = (0, react_2.useMemo)(() => (0, ui_components_1.convertDateLastsToComparedDateRange)(dateLast), [dateLast]); function setDateLastsString(select) { switch (select) { case ui_components_1.DateLasts.LastWeek: setDateLasts(ui_components_1.DateLasts.LastWeek); break; case ui_components_1.DateLasts.LastMonth: setDateLasts(ui_components_1.DateLasts.LastMonth); break; case ui_components_1.DateLasts.LastYear: setDateLasts(ui_components_1.DateLasts.LastYear); break; case ui_components_1.DateLasts.All: setDateLasts(ui_components_1.DateLasts.All); break; } } return ((0, jsx_runtime_1.jsxs)(material_2.Grid, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(material_2.Grid, { item: true, xs: 12, md: 12, children: (0, jsx_runtime_1.jsxs)(material_2.Grid, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(material_2.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_components_1.DropdownOrderStatus, { onOrderStatusChange: setOrderStatuses, appliedStatuses: orderStatuses }) }), (0, jsx_runtime_1.jsx)(material_2.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(overview_components_1.SelectDateLasts, { dateLast: dateLast, onSelectChange: setDateLastsString }) }), (0, jsx_runtime_1.jsx)(material_2.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(overview_components_1.GenerateReportButton, { orderStatuses: orderStatuses, dateRange: dateRange, dateRangeCompareTo: dateRangeComparedTo, compareEnabled: compareEnabled }) })] }) }), (0, jsx_runtime_1.jsx)(material_2.Grid, { item: true, xs: 12, md: 12, xl: 12, children: (0, jsx_runtime_1.jsxs)(material_2.Grid, { container: true, alignItems: 'center', columnSpacing: 6, children: [(0, jsx_runtime_1.jsx)(material_2.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(overview_components_1.SwitchComparison, { compareEnabled: compareEnabled, onCheckChange: setCompare, allTime: dateLast == ui_components_1.DateLasts.All }) }), (0, jsx_runtime_1.jsx)(material_2.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(overview_components_1.ComparedDate, { compare: compareEnabled, comparedToDateRange: dateRangeComparedTo }) })] }) }), (0, jsx_runtime_1.jsx)(material_2.Grid, { item: true, xs: 12, md: 12, children: (0, jsx_runtime_1.jsxs)(ui_1.Tabs, { defaultValue: 'overview', children: [(0, jsx_runtime_1.jsxs)(ui_1.Tabs.List, { style: { justifyContent: 'center' }, children: [(0, jsx_runtime_1.jsx)(ui_1.Tabs.Trigger, { value: 'overview', children: "Overview" }), (0, jsx_runtime_1.jsx)(ui_1.Tabs.Trigger, { value: 'sales', children: "Sales" }), (0, jsx_runtime_1.jsx)(ui_1.Tabs.Trigger, { value: 'orders', children: "Orders" }), (0, jsx_runtime_1.jsx)(ui_1.Tabs.Trigger, { value: 'customers', children: "Customers" }), (0, jsx_runtime_1.jsx)(ui_1.Tabs.Trigger, { value: 'products', children: "Products" }), showProTab && (0, jsx_runtime_1.jsx)(ui_1.Tabs.Trigger, { value: 'pro', style: { color: 'purple' }, children: "Pro version" })] }), (0, jsx_runtime_1.jsxs)(ui_1.Tabs.Content, { value: 'overview', children: [(0, jsx_runtime_1.jsx)(material_1.Box, { height: 20 }), (0, jsx_runtime_1.jsx)(overview_1.default, { orderStatuses: orderStatuses, dateRange: dateRange, dateRangeCompareTo: dateRangeComparedTo, compareEnabled: compareEnabled })] }), (0, jsx_runtime_1.jsxs)(ui_1.Tabs.Content, { value: 'sales', children: [(0, jsx_runtime_1.jsx)(material_1.Box, { height: 20 }), (0, jsx_runtime_1.jsx)(sales_1.default, { orderStatuses: orderStatuses, dateRange: dateRange, dateRangeCompareTo: dateRangeComparedTo, compareEnabled: compareEnabled })] }), (0, jsx_runtime_1.jsxs)(ui_1.Tabs.Content, { value: 'orders', children: [(0, jsx_runtime_1.jsx)(material_1.Box, { height: 20 }), (0, jsx_runtime_1.jsx)(orders_1.default, { orderStatuses: orderStatuses, dateRange: dateRange, dateRangeCompareTo: dateRangeComparedTo, compareEnabled: compareEnabled })] }), (0, jsx_runtime_1.jsxs)(ui_1.Tabs.Content, { value: 'customers', children: [(0, jsx_runtime_1.jsx)(material_1.Box, { height: 20 }), (0, jsx_runtime_1.jsx)(customers_1.default, { orderStatuses: orderStatuses, dateRange: dateRange, dateRangeCompareTo: dateRangeComparedTo, compareEnabled: compareEnabled })] }), (0, jsx_runtime_1.jsxs)(ui_1.Tabs.Content, { value: 'products', children: [(0, jsx_runtime_1.jsx)(material_1.Box, { height: 20 }), (0, jsx_runtime_1.jsx)(products_1.default, { orderStatuses: orderStatuses, dateRange: dateRange, dateRangeCompareTo: dateRangeComparedTo, compareEnabled: compareEnabled })] }), showProTab && (0, jsx_runtime_1.jsxs)(ui_1.Tabs.Content, { value: 'pro', children: [(0, jsx_runtime_1.jsx)(material_1.Box, { height: 20 }), (0, jsx_runtime_1.jsx)(pro_1.default, {})] })] }) })] })); }; exports.default = AnalyticsPage; exports.config = (0, admin_sdk_1.defineRouteConfig)({ label: "Analytics", icon: icons_1.LightBulb, }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9yb3V0ZXMvYW5hbHl0aWNzL3BhZ2UudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsaUNBQTRDO0FBQzVDLGlDQUErQjtBQUMvQixtREFBdUQ7QUFDdkQscUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQyw0Q0FBb0M7QUFDcEMsb0ZBQStEO0FBQy9ELGdGQUEyRDtBQUMzRCxvRkFBK0Q7QUFDL0QsOEVBQXlEO0FBQ3pELHNGQUFpRTtBQUNqRSwwREFBdUo7QUFDdkosNENBQXFDO0FBQ3JDLDJGQUEwSTtBQUMxSSwwRUFBcUQ7QUFFckQsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQ3pCLGFBQWE7SUFDYixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpREFBaUQsS0FBSyxTQUFTLENBQUM7SUFDbkcsTUFBTSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQVkseUJBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RSxNQUFNLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxHQUFHLElBQUEsZ0JBQVEsRUFBVSxJQUFJLENBQUMsQ0FBQTtJQUM1RCxNQUFNLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLEdBQUcsSUFBQSxnQkFBUSxFQUFnQixDQUFDLDJCQUFXLENBQUMsU0FBUyxFQUFFLDJCQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUUvRyxNQUFNLFNBQVMsR0FBRyxJQUFBLGVBQU8sRUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLDJDQUEyQixFQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUNsRixNQUFNLG1CQUFtQixHQUFHLElBQUEsZUFBTyxFQUFDLEdBQUcsRUFBRSxD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