bananas-commerce-admin
Version:
What's this, an admin for apes?
66 lines • 2.19 kB
JavaScript
import CardMembershipIcon from "@mui/icons-material/CardMembership";
import ReceiptLongOutlinedIcon from "@mui/icons-material/ReceiptLongOutlined";
import SubscriptionsOutlinedIcon from "@mui/icons-material/SubscriptionsOutlined";
const routes = {
member: {
detail: {
page: async () => (await import("./pages/member/detail")).default,
},
list: { page: async () => (await import("./pages/member/list")).default },
},
};
export const router = {
app: "member",
pages: (route) => {
const { page, ...hit } = routes[route.view]?.[route.action] ?? {};
if (page != null) {
return {
page: page(),
...hit,
};
}
return undefined;
},
};
export const navigation = {
"member.member:list": {
icon: CardMembershipIcon,
title: "Members",
permission: "member.view_member",
},
};
export const contrib = {
subscriptionsTab: {
"member:member:detail:subscriptions": {
title: "Subscriptions",
icon: SubscriptionsOutlinedIcon,
component: async () => (await import("./contrib/SubscriptionsCard")).default,
variant: "tab",
permission: "subscription.view_subscription",
},
},
subscriptionsInline: {
"member:member:detail:subscriptions": {
component: async () => (await import("./contrib/SubscriptionsCard")).default,
variant: "inline",
permission: "subscription.view_subscription",
},
},
purchases: {
"member:member:detail:purchases": {
title: "Purchases",
icon: ReceiptLongOutlinedIcon,
component: async () => (await import("./contrib/PurchasesCard")).default,
variant: "tab",
permission: "pos.view_purchase",
},
},
paymentMethods: {
"member:member:detail:paymenttokens": {
component: async () => (await import("./contrib/PaymentMethodsCard")).default,
variant: "inline",
permission: "pos.view_paymenttoken",
},
},
};
//# sourceMappingURL=index.js.map