bananas-commerce-admin 0.17.22 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,7 @@ export const NavRailRoutes = ({ navigation }) => {
14
14
  useEffect(() => {
15
15
  const newRoutes = Object.values(navigation)
16
16
  .filter((entry) => Boolean(entry && entry?.route))
17
+ .filter((entry) => entry.route.navigation !== false)
17
18
  .map((entry) => entry.route);
18
19
  setCustomRoutes(newRoutes);
19
20
  }, [navigation, setCustomRoutes]);
@@ -1 +1 @@
1
- {"version":3,"file":"NavRailRoutes.js","sourceRoot":"","sources":["../../../../src/components/NavRail/NavRailRoutes.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavRailRoutes.js","sourceRoot":"","sources":["../../../../src/components/NavRail/NavRailRoutes.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RouterContext.js","sourceRoot":"","sources":["../../../src/contexts/RouterContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RouterContext.js","sourceRoot":"","sources":["../../../src/contexts/RouterContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import React, { useState } from "react";
2
+ import ShoppingCartOutlinedIcon from "@mui/icons-material/ShoppingCartOutlined";
3
+ import Button from "@mui/material/Button";
4
+ import Card from "@mui/material/Card";
5
+ import CardContent from "@mui/material/CardContent";
6
+ import CardHeader from "@mui/material/CardHeader";
7
+ import Stack from "@mui/material/Stack";
8
+ import { useTheme } from "@mui/material/styles";
9
+ import Typography from "@mui/material/Typography";
10
+ import { AdapterLuxon } from "@mui/x-date-pickers/AdapterLuxon";
11
+ import { DatePicker } from "@mui/x-date-pickers/DatePicker";
12
+ import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
13
+ import { useSnackbar } from "notistack";
14
+ import { useApi } from "../../../contexts/ApiContext";
15
+ export const PayoutCard = () => {
16
+ const theme = useTheme();
17
+ const api = useApi();
18
+ const { enqueueSnackbar } = useSnackbar();
19
+ const [startDate, setStartDate] = useState(null);
20
+ const [endDate, setEndDate] = useState(null);
21
+ const generateReport = () => {
22
+ if (startDate === null || endDate === null) {
23
+ enqueueSnackbar("You need to enter both a start date and an end date to generate a report", {
24
+ variant: "error",
25
+ });
26
+ return;
27
+ }
28
+ const operation = api.operations["report.payout:create"];
29
+ const url = new URL(operation.server + operation.endpoint);
30
+ url.searchParams.set("start_date", startDate.toISODate());
31
+ url.searchParams.set("end_date", endDate.toISODate());
32
+ const a = document.createElement("a");
33
+ a.href = url.toString();
34
+ a.click();
35
+ a.remove();
36
+ enqueueSnackbar(`Downloading report...`, { variant: "success" });
37
+ };
38
+ return (React.createElement(Card, { sx: {
39
+ maxWidth: 450,
40
+ } },
41
+ React.createElement(CardHeader, { avatar: React.createElement(ShoppingCartOutlinedIcon, null), sx: {
42
+ borderBottomWidth: 1,
43
+ borderBottomStyle: "solid",
44
+ borderBottomColor: theme.palette.divider,
45
+ }, title: React.createElement(Typography, { variant: "h6" },
46
+ React.createElement("b", null, "Export Payouts")) }),
47
+ React.createElement(CardContent, null,
48
+ React.createElement(LocalizationProvider, { adapterLocale: "sv-SE", dateAdapter: AdapterLuxon },
49
+ React.createElement(Stack, { gap: 2 },
50
+ React.createElement(Typography, null, "Generate and download a report of all paid payouts between the two selected dates."),
51
+ React.createElement(Stack, { alignItems: "center", direction: "row", gap: 2 },
52
+ React.createElement(DatePicker, { label: "Start", onChange: (date) => setStartDate(date) }),
53
+ "-",
54
+ React.createElement(DatePicker, { label: "End", onChange: (date) => setEndDate(date) })),
55
+ React.createElement(Button, { color: "success", variant: "contained", onClick: generateReport }, "Download"))))));
56
+ };
57
+ export default PayoutCard;
58
+ //# sourceMappingURL=PayoutCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayoutCard.js","sourceRoot":"","sources":["../../../../../src/extensions/report/components/PayoutCard.tsx"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@ import React from "react";
2
2
  import { Header } from "../../../components/Header";
3
3
  import { Page } from "../../../components/Page";
4
4
  import { TitleBar } from "../../../components/TitleBar";
5
- import Content, { RightColumn } from "../../../containers/Content";
5
+ import Content, { TwoColumn } from "../../../containers/Content";
6
6
  import { useApi } from "../../../contexts/ApiContext";
7
+ import PayoutCard from "../components/PayoutCard";
7
8
  import PurchaseCard from "../components/PurchaseCard";
8
9
  export const ReportPage = () => {
9
10
  const api = useApi();
@@ -11,7 +12,9 @@ export const ReportPage = () => {
11
12
  React.createElement(Header, null,
12
13
  React.createElement(TitleBar, { title: "Reports" })),
13
14
  React.createElement(Content, { layout: "fixedWidth" },
14
- React.createElement(RightColumn, null, api.operations["report.purchase:create"] && React.createElement(PurchaseCard, null)))));
15
+ React.createElement(TwoColumn, null,
16
+ api.operations["report.purchase:create"] && React.createElement(PurchaseCard, null),
17
+ api.operations["report.payout:create"] && React.createElement(PayoutCard, null)))));
15
18
  };
16
19
  export default ReportPage;
17
20
  //# sourceMappingURL=report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../../../src/extensions/report/pages/report.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAkB,GAAG,EAAE;IAC5C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,OAAO,CACL,oBAAC,IAAI;QACH,oBAAC,MAAM;YACL,oBAAC,QAAQ,IAAC,KAAK,EAAC,SAAS,GAAG,CACrB;QAET,oBAAC,OAAO,IAAC,MAAM,EAAC,YAAY;YAC1B,oBAAC,WAAW,QAAE,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,oBAAC,YAAY,OAAG,CAAe,CACjF,CACL,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../../../src/extensions/report/pages/report.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAkB,GAAG,EAAE;IAC5C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,OAAO,CACL,oBAAC,IAAI;QACH,oBAAC,MAAM;YACL,oBAAC,QAAQ,IAAC,KAAK,EAAC,SAAS,GAAG,CACrB;QAET,oBAAC,OAAO,IAAC,MAAM,EAAC,YAAY;YAC1B,oBAAC,SAAS;gBACP,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,oBAAC,YAAY,OAAG;gBAC5D,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,oBAAC,UAAU,OAAG,CAC/C,CACJ,CACL,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -6,6 +6,7 @@ export interface RouteInfo {
6
6
  view: string;
7
7
  action: string;
8
8
  title: string;
9
+ /** Whether this route should be included in navigation menus */
9
10
  navigation: boolean;
10
11
  path: string;
11
12
  page: string;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare const PayoutCard: React.FC;
3
+ export default PayoutCard;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bananas-commerce-admin",
3
- "version": "0.17.22",
3
+ "version": "0.18.1",
4
4
  "description": "What's this, an admin for apes?",
5
5
  "keywords": [
6
6
  "admin",
@@ -24,6 +24,7 @@ export const NavRailRoutes: React.FC<NavRailRoutesProps> = ({ navigation }) => {
24
24
  useEffect(() => {
25
25
  const newRoutes = Object.values(navigation)
26
26
  .filter((entry): entry is { route: RouteInfo } => Boolean(entry && entry?.route))
27
+ .filter((entry) => entry.route.navigation !== false)
27
28
  .map((entry) => entry.route);
28
29
  setCustomRoutes(newRoutes);
29
30
  }, [navigation, setCustomRoutes]);
@@ -20,6 +20,7 @@ export interface RouteInfo {
20
20
  view: string;
21
21
  action: string;
22
22
  title: string;
23
+ /** Whether this route should be included in navigation menus */
23
24
  navigation: boolean;
24
25
  path: string;
25
26
  page: string;
@@ -0,0 +1,88 @@
1
+ import React, { useState } from "react";
2
+
3
+ import ShoppingCartOutlinedIcon from "@mui/icons-material/ShoppingCartOutlined";
4
+ import Button from "@mui/material/Button";
5
+ import Card from "@mui/material/Card";
6
+ import CardContent from "@mui/material/CardContent";
7
+ import CardHeader from "@mui/material/CardHeader";
8
+ import Stack from "@mui/material/Stack";
9
+ import { useTheme } from "@mui/material/styles";
10
+ import Typography from "@mui/material/Typography";
11
+ import { AdapterLuxon } from "@mui/x-date-pickers/AdapterLuxon";
12
+ import { DatePicker } from "@mui/x-date-pickers/DatePicker";
13
+ import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
14
+
15
+ import { DateTime } from "luxon";
16
+ import { useSnackbar } from "notistack";
17
+
18
+ import { useApi } from "../../../contexts/ApiContext";
19
+
20
+ export const PayoutCard: React.FC = () => {
21
+ const theme = useTheme();
22
+ const api = useApi();
23
+ const { enqueueSnackbar } = useSnackbar();
24
+ const [startDate, setStartDate] = useState<DateTime | null>(null);
25
+ const [endDate, setEndDate] = useState<DateTime | null>(null);
26
+
27
+ const generateReport = () => {
28
+ if (startDate === null || endDate === null) {
29
+ enqueueSnackbar("You need to enter both a start date and an end date to generate a report", {
30
+ variant: "error",
31
+ });
32
+ return;
33
+ }
34
+
35
+ const operation = api.operations["report.payout:create"];
36
+ const url = new URL(operation.server + operation.endpoint);
37
+ url.searchParams.set("start_date", startDate.toISODate()!);
38
+ url.searchParams.set("end_date", endDate.toISODate()!);
39
+
40
+ const a = document.createElement("a");
41
+ a.href = url.toString();
42
+ a.click();
43
+ a.remove();
44
+
45
+ enqueueSnackbar(`Downloading report...`, { variant: "success" });
46
+ };
47
+
48
+ return (
49
+ <Card
50
+ sx={{
51
+ maxWidth: 450,
52
+ }}
53
+ >
54
+ <CardHeader
55
+ avatar={<ShoppingCartOutlinedIcon />}
56
+ sx={{
57
+ borderBottomWidth: 1,
58
+ borderBottomStyle: "solid",
59
+ borderBottomColor: theme.palette.divider,
60
+ }}
61
+ title={
62
+ <Typography variant="h6">
63
+ <b>Export Payouts</b>
64
+ </Typography>
65
+ }
66
+ />
67
+ <CardContent>
68
+ <LocalizationProvider adapterLocale="sv-SE" dateAdapter={AdapterLuxon}>
69
+ <Stack gap={2}>
70
+ <Typography>
71
+ Generate and download a report of all paid payouts between the two selected dates.
72
+ </Typography>
73
+ <Stack alignItems="center" direction="row" gap={2}>
74
+ <DatePicker label="Start" onChange={(date) => setStartDate(date as DateTime)} />
75
+ -
76
+ <DatePicker label="End" onChange={(date) => setEndDate(date as DateTime)} />
77
+ </Stack>
78
+ <Button color="success" variant="contained" onClick={generateReport}>
79
+ Download
80
+ </Button>
81
+ </Stack>
82
+ </LocalizationProvider>
83
+ </CardContent>
84
+ </Card>
85
+ );
86
+ };
87
+
88
+ export default PayoutCard;
@@ -3,9 +3,10 @@ import React from "react";
3
3
  import { Header } from "../../../components/Header";
4
4
  import { Page } from "../../../components/Page";
5
5
  import { TitleBar } from "../../../components/TitleBar";
6
- import Content, { RightColumn } from "../../../containers/Content";
6
+ import Content, { TwoColumn } from "../../../containers/Content";
7
7
  import { useApi } from "../../../contexts/ApiContext";
8
8
  import { PageComponent } from "../../../types";
9
+ import PayoutCard from "../components/PayoutCard";
9
10
  import PurchaseCard from "../components/PurchaseCard";
10
11
 
11
12
  export const ReportPage: PageComponent = () => {
@@ -18,7 +19,10 @@ export const ReportPage: PageComponent = () => {
18
19
  </Header>
19
20
 
20
21
  <Content layout="fixedWidth">
21
- <RightColumn>{api.operations["report.purchase:create"] && <PurchaseCard />}</RightColumn>
22
+ <TwoColumn>
23
+ {api.operations["report.purchase:create"] && <PurchaseCard />}
24
+ {api.operations["report.payout:create"] && <PayoutCard />}
25
+ </TwoColumn>
22
26
  </Content>
23
27
  </Page>
24
28
  );