@rsc-labs/medusa-store-analytics
Version:
Get analytics data about your store
30 lines (29 loc) • 2.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SalesNumber = 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 percentage_comparison_1 = require("../common/percentage-comparison");
const icon_comparison_1 = require("../common/icon-comparison");
const helpers_1 = require("../utils/helpers");
const SalesNumber = ({ salesHistoryResponse, compareEnabled }) => {
const overallCurrentSum = salesHistoryResponse.analytics.current.reduce((sum, order) => sum + parseInt(order.total), 0);
const overallPreviousSum = salesHistoryResponse.analytics.previous.length > 0 ?
salesHistoryResponse.analytics.previous.reduce((sum, order) => sum + parseInt(order.total), 0) :
undefined;
return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, alignItems: 'center', spacing: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsxs)(ui_1.Heading, { level: "h1", children: [(0, helpers_1.amountToDisplay)(overallCurrentSum, salesHistoryResponse.analytics.currencyDecimalDigits), " ", salesHistoryResponse.analytics.currencyCode.toUpperCase()] }) }), compareEnabled && salesHistoryResponse.analytics.dateRangeFromCompareTo &&
(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, alignItems: 'center', children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(icon_comparison_1.IconComparison, { current: overallCurrentSum, previous: overallPreviousSum ? overallPreviousSum : undefined }) }), overallPreviousSum !== undefined && (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(percentage_comparison_1.PercentageComparison, { current: (0, helpers_1.amountToDisplay)(overallCurrentSum, salesHistoryResponse.analytics.currencyDecimalDigits), label: salesHistoryResponse.analytics.currencyCode.toUpperCase(), previous: (0, helpers_1.amountToDisplay)(overallPreviousSum, salesHistoryResponse.analytics.currencyDecimalDigits) }) })] }) })] }));
};
exports.SalesNumber = SalesNumber;