diff --git a/www/apps/resources/app/commerce-modules/page.mdx b/www/apps/resources/app/commerce-modules/page.mdx index 2538553337c26..b3edf39022236 100644 --- a/www/apps/resources/app/commerce-modules/page.mdx +++ b/www/apps/resources/app/commerce-modules/page.mdx @@ -14,7 +14,7 @@ A commerce module also defines data models, representing tables in the database. ## Commerce Modules List - + --- diff --git a/www/apps/resources/generated/edit-dates.mjs b/www/apps/resources/generated/edit-dates.mjs index 964bd9417b7ba..a0d86a2c119d7 100644 --- a/www/apps/resources/generated/edit-dates.mjs +++ b/www/apps/resources/generated/edit-dates.mjs @@ -112,7 +112,7 @@ export const generatedEditDates = { "app/commerce-modules/user/module-options/page.mdx": "2024-09-30T08:43:53.171Z", "app/commerce-modules/user/user-creation-flows/page.mdx": "2024-10-15T14:51:37.311Z", "app/commerce-modules/user/page.mdx": "2024-12-09T14:48:54.225Z", - "app/commerce-modules/page.mdx": "2024-10-07T13:55:08.014Z", + "app/commerce-modules/page.mdx": "2024-12-23T14:38:21.064Z", "app/contribution-guidelines/docs/page.mdx": "2024-12-12T11:06:12.250Z", "app/create-medusa-app/page.mdx": "2024-08-05T11:10:55+03:00", "app/deployment/admin/vercel/page.mdx": "2024-10-16T08:10:29.377Z", diff --git a/www/apps/resources/generated/sidebar.mjs b/www/apps/resources/generated/sidebar.mjs index f8af0643abaec..ff4c2ea295a6b 100644 --- a/www/apps/resources/generated/sidebar.mjs +++ b/www/apps/resources/generated/sidebar.mjs @@ -174,14 +174,14 @@ export const generatedSidebar = [ "type": "link", "path": "/commerce-modules", "title": "Commerce Modules", - "isChildSidebar": true, + "hideChildren": true, "children": [ { "loaded": true, "isPathHref": true, "type": "category", "title": "API Key Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -360,7 +360,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Auth Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -681,7 +681,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Cart Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -1274,7 +1274,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Currency Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -1379,7 +1379,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Customer Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -1700,7 +1700,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Fulfillment Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -2494,14 +2494,14 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Inventory Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, "isPathHref": true, "type": "link", "path": "/commerce-modules/inventory", - "title": "Inventory Module", + "title": "Overview", "children": [] }, { @@ -2903,14 +2903,14 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Order Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, "isPathHref": true, "type": "link", "path": "/commerce-modules/order", - "title": "Order Module", + "title": "Overview", "children": [] }, { @@ -4297,7 +4297,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Payment Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -4794,14 +4794,14 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Pricing Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, "isPathHref": true, "type": "link", "path": "/commerce-modules/pricing", - "title": "Pricing Module", + "title": "Overview", "children": [] }, { @@ -5316,7 +5316,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Product Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -6071,14 +6071,14 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Promotion Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, "isPathHref": true, "type": "link", "path": "/commerce-modules/promotion", - "title": "Promotion Module", + "title": "Overview", "children": [] }, { @@ -6482,7 +6482,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Region Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -6683,7 +6683,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Sales Channel Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -6860,14 +6860,14 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Stock Location Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, "isPathHref": true, "type": "link", "path": "/commerce-modules/stock-location", - "title": "Stock Location Module", + "title": "Overview", "children": [] }, { @@ -7045,14 +7045,14 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Store Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, "isPathHref": true, "type": "link", "path": "/commerce-modules/store", - "title": "Store Module", + "title": "Overview", "children": [] }, { @@ -7206,7 +7206,7 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Tax Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, @@ -7535,14 +7535,14 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "User Module", - "initialOpen": false, + "isChildSidebar": true, "children": [ { "loaded": true, "isPathHref": true, "type": "link", "path": "/commerce-modules/user", - "title": "User Module", + "title": "Overview", "children": [] }, { diff --git a/www/apps/resources/sidebar.mjs b/www/apps/resources/sidebar.mjs index 7dd0b7de37cc0..1a415b5be3316 100644 --- a/www/apps/resources/sidebar.mjs +++ b/www/apps/resources/sidebar.mjs @@ -1,3 +1,28 @@ +import { apiKeySidebar } from "./sidebars/api-key.mjs" +import { architecturalModulesSidebar } from "./sidebars/architectural-modules.mjs" +import { authSidebar } from "./sidebars/auth.mjs" +import { cartSidebar } from "./sidebars/cart.mjs" +import { currencySidebar } from "./sidebars/currency.mjs" +import { customerSidebar } from "./sidebars/customer.mjs" +import { fulfillmentSidebar } from "./sidebars/fulfillment.mjs" +import { integrationsSidebar } from "./sidebars/integrations.mjs" +import { inventorySidebar } from "./sidebars/inventory.mjs" +import { orderSidebar } from "./sidebars/order-module.mjs" +import { paymentSidebar } from "./sidebars/payment.mjs" +import { pricingSidebar } from "./sidebars/pricing.mjs" +import { productSidebar } from "./sidebars/product.mjs" +import { promotionSidebar } from "./sidebars/promotion.mjs" +import { recipesSidebar } from "./sidebars/recipes.mjs" +import { referencesSidebar } from "./sidebars/references.mjs" +import { regionSidebar } from "./sidebars/region.mjs" +import { salesChannelSidebar } from "./sidebars/sales-channel.mjs" +import { sdkToolsSidebar } from "./sidebars/sdk-tools.mjs" +import { stockLocationSidebar } from "./sidebars/stock-location.mjs" +import { storeSidebar } from "./sidebars/store.mjs" +import { storefrontGuidesSidebar } from "./sidebars/storefront.mjs" +import { taxSidebar } from "./sidebars/tax.mjs" +import { troubleshootingSidebar } from "./sidebars/troubleshooting.mjs" +import { userSidebar } from "./sidebars/user.mjs" import { sidebarAttachHrefCommonOptions } from "./utils/sidebar-attach-common-options.mjs" /** @type {import('types').RawSidebarItem[]} */ @@ -17,2186 +42,65 @@ export const sidebar = sidebarAttachHrefCommonOptions([ path: "/recipes", title: "Recipes", isChildSidebar: true, - children: [ - { - type: "link", - path: "/recipes/marketplace", - title: "Marketplace", - children: [ - { - type: "link", - path: "/recipes/marketplace/examples/vendors", - title: "Example: Vendors", - }, - { - type: "link", - path: "/recipes/marketplace/examples/restaurant-delivery", - title: "Example: Restaurant-Delivery", - }, - ], - }, - { - type: "link", - path: "/recipes/subscriptions", - title: "Subscriptions", - children: [ - { - type: "link", - path: "/recipes/subscriptions/examples/standard", - title: "Example", - }, - ], - }, - { - type: "link", - path: "/recipes/digital-products", - title: "Digital Products", - children: [ - { - type: "link", - path: "/recipes/digital-products/examples/standard", - title: "Example", - }, - ], - }, - { - type: "link", - path: "/recipes/b2b", - title: "B2B", - }, - { - type: "link", - path: "/recipes/commerce-automation", - title: "Commerce Automation", - children: [ - { - type: "link", - path: "/recipes/commerce-automation/restock-notification", - title: "Example: Restock Notifications", - }, - ], - }, - { - type: "link", - path: "/recipes/ecommerce", - title: "Ecommerce", - }, - { - type: "link", - path: "/recipes/integrate-ecommerce-stack", - title: "Integrate Ecommerce Stack", - }, - { - type: "link", - path: "/recipes/multi-region-store", - title: "Multi-Region Store", - }, - { - type: "link", - path: "/recipes/omnichannel", - title: "Omnichannel Store", - }, - { - type: "link", - path: "/recipes/oms", - title: "OMS", - }, - { - type: "link", - path: "/recipes/personalized-products", - title: "Personalized Products", - }, - { - type: "link", - path: "/recipes/pos", - title: "POS", - }, - ], - }, - { - type: "separator", - }, - { - type: "link", - path: "/commerce-modules", - title: "Commerce Modules", - isChildSidebar: true, - children: [ - { - type: "category", - title: "API Key Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/api-key", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/api-key/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/api-key/concepts", - title: "API Key Concepts", - }, - { - type: "link", - path: "/commerce-modules/api-key/links-to-other-modules", - title: "Link to Modules", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/api-key", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "API Key Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - hasTitleStyling: true, - autogenerate_path: - "/references/api_key/IApiKeyModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/api-key/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "API Key Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - hasTitleStyling: true, - autogenerate_path: "/references/api_key_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Auth Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/auth", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/auth/module-options", - title: "Module Options", - }, - { - type: "link", - path: "/commerce-modules/auth/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/auth/auth-identity-and-actor-types", - title: "Identity and Actor Types", - }, - { - type: "link", - path: "/commerce-modules/auth/auth-providers", - title: "Auth Providers", - }, - { - type: "link", - path: "/commerce-modules/auth/auth-flows", - title: "Auth Flow with Module", - }, - { - type: "link", - path: "/commerce-modules/auth/authentication-route", - title: "Auth Flow with Routes", - }, - ], - }, - { - type: "sub-category", - title: "Guides", - children: [ - { - type: "link", - path: "/commerce-modules/auth/create-actor-type", - title: "Create an Actor Type", - }, - { - type: "link", - path: "/commerce-modules/auth/reset-password", - title: "Handle Password Reset Event", - }, - { - type: "link", - path: "/references/auth/provider", - title: "Create Auth Provider Module", - }, - ], - }, - { - type: "sub-category", - title: "Providers", - children: [ - { - type: "link", - path: "/commerce-modules/auth/auth-providers/emailpass", - title: "Emailpass Provider", - }, - { - type: "link", - path: "/commerce-modules/auth/auth-providers/google", - title: "Google Provider", - }, - { - type: "link", - path: "/commerce-modules/auth/auth-providers/github", - title: "GitHub Provider", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/auth", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Auth Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/auth/IAuthModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/auth/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Auth Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: "/references/auth_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Cart Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/cart", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/cart/examples", - title: "Examples", - }, - { - type: "link", - path: "/commerce-modules/cart/extend", - title: "Extend Module", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/cart/concepts", - title: "Cart Concepts", - }, - { - type: "link", - path: "/commerce-modules/cart/promotions", - title: "Promotion Adjustments", - }, - { - type: "link", - path: "/commerce-modules/cart/tax-lines", - title: "Tax Lines", - }, - { - type: "link", - path: "/commerce-modules/cart/links-to-other-modules", - title: "Links to Other Modules", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/cart", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Cart Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/cart/ICartModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/cart/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Cart Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: "/references/cart_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Currency Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/currency", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/currency/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/currency", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Cart Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/currency/ICurrencyModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/currency/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Currency Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: "/references/currency_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Customer Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/customer", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/customer/examples", - title: "Examples", - }, - { - type: "link", - path: "/commerce-modules/customer/extend", - title: "Extend Module", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/customer/customer-accounts", - title: "Customer Accounts", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/customer", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Customer Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/customer/ICustomerModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/customer/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Customer Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: "/references/customer_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Fulfillment Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/fulfillment", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/fulfillment/module-options", - title: "Module Options", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/fulfillment/concepts", - title: "Fulfillment Concepts", - }, - { - type: "link", - path: "/commerce-modules/fulfillment/fulfillment-provider", - title: "Fulfillment Provider", - }, - { - type: "link", - path: "/commerce-modules/fulfillment/shipping-option", - title: "Shipping Option", - }, - { - type: "link", - path: "/commerce-modules/fulfillment/item-fulfillment", - title: "Item Fulfillment", - }, - { - type: "link", - path: "/commerce-modules/fulfillment/links-to-other-modules", - title: "Links to Other Modules", - }, - ], - }, - { - type: "sub-category", - title: "Guides", - children: [ - { - type: "link", - path: "/references/fulfillment/provider", - title: "Create Fulfillment Provider Module", - }, - { - type: "link", - path: "/integrations/guides/shipstation", - title: "Integrate ShipStation", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/fulfillment", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: - "Fulfillment Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/fulfillment/IFulfillmentModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/fulfillment/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Fulfillment Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - hasTitleStyling: true, - autogenerate_path: - "/references/fulfillment_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Inventory Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/inventory", - title: "Inventory Module", - }, - { - type: "link", - path: "/commerce-modules/inventory/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/inventory/concepts", - title: "Inventory Concepts", - }, - { - type: "link", - path: "/commerce-modules/inventory/inventory-in-flows", - title: "Inventory in Flows", - }, - { - type: "link", - path: "/commerce-modules/inventory/links-to-other-modules", - title: "Links to Modules", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/inventory-next", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Inventory Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/inventory_next/IInventoryService/methods", - }, - ], - }, - { - type: "link", - path: "/references/inventory-next/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Inventory Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: - "/references/inventory_next_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Order Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/order", - title: "Order Module", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/order/concepts", - title: "Order Concepts", - }, - { - type: "link", - path: "/commerce-modules/order/promotion-adjustments", - title: "Promotions Adjustments", - }, - { - type: "link", - path: "/commerce-modules/order/tax-lines", - title: "Tax Lines", - }, - { - type: "link", - path: "/commerce-modules/order/transactions", - title: "Transactions", - }, - { - type: "link", - path: "/commerce-modules/order/order-versioning", - title: "Order Versioning", - }, - { - type: "link", - path: "/commerce-modules/order/return", - title: "Return", - }, - { - type: "link", - path: "/commerce-modules/order/exchange", - title: "Exchange", - }, - { - type: "link", - path: "/commerce-modules/order/claim", - title: "Claim", - }, - { - type: "link", - path: "/commerce-modules/order/edit", - title: "Order Edit", - }, - { - type: "link", - path: "/commerce-modules/order/order-change", - title: "Order Change", - }, - { - type: "link", - path: "/commerce-modules/order/links-to-other-modules", - title: "Links to Other Modules", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/order", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Order Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/order/IOrderModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/order/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Order Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - hasTitleStyling: true, - autogenerate_path: "/references/order_models/classes", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Payment Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/payment", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/payment/module-options", - title: "Module Options", - }, - { - type: "link", - path: "/commerce-modules/payment/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/payment/payment-collection", - title: "Payment Collections", - }, - { - type: "link", - path: "/commerce-modules/payment/payment-session", - title: "Payment Session", - }, - { - type: "link", - path: "/commerce-modules/payment/payment", - title: "Payment", - }, - { - type: "link", - path: "/commerce-modules/payment/payment-provider", - title: "Payment Provider Module", - }, - { - type: "link", - path: "/commerce-modules/payment/webhook-events", - title: "Webhook Events", - }, - { - type: "link", - path: "/commerce-modules/payment/links-to-other-modules", - title: "Links to Other Modules", - }, - ], - }, - { - type: "sub-category", - title: "Guides", - children: [ - { - type: "link", - path: "/commerce-modules/payment/payment-flow", - title: "Accept Payment Flow", - }, - { - type: "link", - path: "/references/payment/provider", - title: "Create Payment Provider", - }, - ], - }, - { - type: "sub-category", - title: "Payment Providers", - children: [ - { - type: "link", - path: "/commerce-modules/payment/payment-provider/stripe", - title: "Stripe", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/payment", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Payment Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/payment/IPaymentModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/payment/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Payment Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: "/references/payment_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Pricing Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/pricing", - title: "Pricing Module", - }, - { - type: "link", - path: "/commerce-modules/pricing/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/pricing/concepts", - title: "Pricing Concepts", - }, - { - type: "link", - path: "/commerce-modules/pricing/price-rules", - title: "Price Rules", - }, - { - type: "link", - path: "/commerce-modules/pricing/price-calculation", - title: "Prices Calculation", - }, - { - type: "link", - path: "/commerce-modules/pricing/tax-inclusive-pricing", - title: "Tax-Inclusive Pricing", - }, - { - type: "link", - path: "/commerce-modules/pricing/links-to-other-modules", - title: "Links to Other Modules", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/pricing", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Pricing Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/pricing/IPricingModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/pricing/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Pricing Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - hasTitleStyling: true, - autogenerate_path: "/references/pricing_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Product Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/product", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/product/examples", - title: "Examples", - }, - { - type: "link", - path: "/commerce-modules/product/extend", - title: "Extend Module", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/product/links-to-other-modules", - title: "Links to Other Modules", - }, - ], - }, - { - type: "sub-category", - title: "Guides", - autogenerate_path: "/commerce-modules/product/guides", - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/product", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Product Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/product/IProductModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/product/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Product Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - hasTitleStyling: true, - autogenerate_path: "/references/product_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Promotion Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/promotion", - title: "Promotion Module", - }, - { - type: "link", - path: "/commerce-modules/promotion/examples", - title: "Examples", - }, - { - type: "link", - path: "/commerce-modules/promotion/extend", - title: "Extend Module", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/promotion/concepts", - title: "Promotion", - }, - { - type: "link", - path: "/commerce-modules/promotion/application-method", - title: "Application Method", - }, - { - type: "link", - path: "/commerce-modules/promotion/campaign", - title: "Campaign", - }, - { - type: "link", - path: "/commerce-modules/promotion/actions", - title: "Promotion Actions", - }, - { - type: "link", - path: "/commerce-modules/promotion/links-to-other-modules", - title: "Links to Modules", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/promotion", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Promotion Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - hasTitleStyling: true, - autogenerate_path: - "/references/promotion/IPromotionModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/promotion/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Promotion Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - hasTitleStyling: true, - autogenerate_path: "/references/promotion_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Region Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/region", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/region/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/region/links-to-other-modules", - title: "Links to Modules", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/region", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Region Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/region/IRegionModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/region/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Region Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: "/references/region_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Sales Channel Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/sales-channel", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/sales-channel/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/sales-channel/publishable-api-keys", - title: "Publishable API Keys", - }, - { - type: "link", - path: "/commerce-modules/sales-channel/links-to-other-modules", - title: "Links to Modules", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/sales-channel", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: - "Sales Channel Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/sales_channel/ISalesChannelModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/sales-channel/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Sales Channel Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: - "/references/sales_channel_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Stock Location Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/stock-location", - title: "Stock Location Module", - }, - { - type: "link", - path: "/commerce-modules/stock-location/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/stock-location/concepts", - title: "Stock Location Concepts", - }, - { - type: "link", - path: "/commerce-modules/stock-location/links-to-other-modules", - title: "Links to Modules", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/stock-location-next", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: - "Stock Location Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/stock_location_next/IStockLocationService/methods", - }, - ], - }, - { - type: "link", - path: "/references/stock-location-next/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: - "Stock Location Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: - "/references/stock_location_next_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Store Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/store", - title: "Store Module", - }, - { - type: "link", - path: "/commerce-modules/store/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/store", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Store Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/store/IStoreModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/store/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Store Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: "/references/store_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "Tax Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/tax", - title: "Overview", - }, - { - type: "link", - path: "/commerce-modules/tax/module-options", - title: "Module Options", - }, - { - type: "link", - path: "/commerce-modules/tax/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Concepts", - children: [ - { - type: "link", - path: "/commerce-modules/tax/tax-region", - title: "Tax Region", - }, - { - type: "link", - path: "/commerce-modules/tax/tax-rates-and-rules", - title: "Tax Rates and Rules", - }, - { - type: "link", - path: "/commerce-modules/tax/tax-calculation-with-provider", - title: "Tax Calculation and Providers", - }, - ], - }, - { - type: "sub-category", - title: "Guides", - children: [ - { - type: "link", - path: "/references/tax/provider", - title: "Tax Provider Reference", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/tax", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "Tax Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/tax/ITaxModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/tax/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "Tax Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - autogenerate_path: "/references/tax_models/variables", - }, - ], - }, - ], - }, - ], - }, - { - type: "category", - title: "User Module", - initialOpen: false, - children: [ - { - type: "link", - path: "/commerce-modules/user", - title: "User Module", - }, - { - type: "link", - path: "/commerce-modules/user/module-options", - title: "Module Options", - }, - { - type: "link", - path: "/commerce-modules/user/examples", - title: "Examples", - }, - { - type: "sub-category", - title: "Guides", - children: [ - { - type: "link", - path: "/commerce-modules/user/user-creation-flows", - title: "User Creation Flows", - }, - ], - }, - { - type: "sub-category", - title: "References", - children: [ - { - type: "link", - path: "/references/user", - title: "Main Service Reference", - isChildSidebar: true, - childSidebarTitle: "User Module's Main Service Reference", - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: - "/references/user/IUserModuleService/methods", - }, - ], - }, - { - type: "link", - path: "/references/user/models", - title: "Data Models Reference", - isChildSidebar: true, - childSidebarTitle: "User Module Data Models Reference", - children: [ - { - type: "category", - title: "Data Models", - hasTitleStyling: true, - autogenerate_path: "/references/user_models/variables", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - type: "link", - path: "/architectural-modules", - title: "Architectural Modules", - isChildSidebar: true, - children: [ - { - type: "category", - title: "Cache Modules", - children: [ - { - type: "link", - path: "/architectural-modules/cache", - title: "Overview", - }, - { - type: "link", - path: "/architectural-modules/cache/in-memory", - title: "In-Memory", - }, - { - type: "link", - path: "/architectural-modules/cache/redis", - title: "Redis", - }, - { - type: "sub-category", - title: "Guides", - children: [ - { - type: "link", - path: "/architectural-modules/cache/create", - title: "Create Cache Module", - }, - ], - }, - ], - }, - { - type: "category", - title: "Event Modules", - children: [ - { - type: "link", - path: "/architectural-modules/event", - title: "Overview", - }, - { - type: "link", - path: "/architectural-modules/event/local", - title: "Local", - }, - { - type: "link", - path: "/architectural-modules/event/redis", - title: "Redis", - }, - { - type: "sub-category", - title: "Guides", - children: [ - { - type: "link", - path: "/architectural-modules/event/create", - title: "Create Event Module", - }, - ], - }, - ], - }, - { - type: "category", - title: "File Module Providers", - children: [ - { - type: "link", - path: "/architectural-modules/file", - title: "Overview", - }, - { - type: "link", - path: "/architectural-modules/file/local", - title: "Local", - }, - { - type: "link", - path: "/architectural-modules/file/s3", - title: "AWS S3 (and Compatible APIs)", - }, - { - type: "sub-category", - title: "Guides", - children: [ - { - type: "link", - path: "/references/file-provider-module", - title: "Create File Provider", - }, - ], - }, - ], - }, - { - type: "category", - title: "Notification Module Providers", - children: [ - { - type: "link", - path: "/architectural-modules/notification", - title: "Overview", - }, - { - type: "link", - path: "/architectural-modules/notification/local", - title: "Local", - }, - { - type: "link", - path: "/architectural-modules/notification/sendgrid", - title: "SendGrid", - }, - { - type: "sub-category", - title: "Guides", - children: [ - { - type: "link", - path: "/architectural-modules/notification/send-notification", - title: "Send Notification", - }, - { - type: "link", - path: "/references/notification-provider-module", - title: "Create Notification Provider", - }, - { - type: "link", - path: "/integrations/guides/resend", - title: "Integrate Resend", - }, - ], - }, - ], - }, - { - type: "category", - title: "Workflow Engine Modules", - children: [ - { - type: "link", - path: "/architectural-modules/workflow-engine", - title: "Overview", - }, - { - type: "link", - path: "/architectural-modules/workflow-engine/in-memory", - title: "In-Memory", - }, - { - type: "link", - path: "/architectural-modules/workflow-engine/redis", - title: "Redis", - }, - ], - }, - ], - }, - { - type: "link", - path: "/integrations", - title: "Integrations", - isChildSidebar: true, - children: [ - { - type: "category", - title: "Auth", - children: [ - { - type: "link", - path: "/commerce-modules/auth/auth-providers/google", - title: "Google", - }, - { - type: "link", - path: "/commerce-modules/auth/auth-providers/github", - title: "GitHub", - }, - ], - }, - { - type: "category", - title: "CMS", - children: [ - { - type: "link", - path: "/integrations/guides/sanity", - title: "Sanity", - }, - ], - }, - { - type: "category", - title: "File", - children: [ - { - type: "link", - path: "/architectural-modules/file/s3", - title: "AWS", - }, - ], - }, - { - type: "category", - title: "Fulfillment", - children: [ - { - type: "link", - path: "/integrations/guides/shipstation", - title: "ShipStation", - }, - ], - }, - { - type: "category", - title: "Notification", - children: [ - { - type: "link", - path: "/architectural-modules/notification/sendgrid", - title: "SendGrid", - }, - { - type: "link", - path: "/integrations/guides/resend", - title: "Resend", - }, - ], - }, - { - type: "category", - title: "Payment", - children: [ - { - type: "link", - path: "/commerce-modules/payment/payment-provider/stripe", - title: "Stripe", - }, - ], - }, - ], - }, - { - type: "link", - path: "/storefront-development", - title: "Storefront Development", - isChildSidebar: true, - children: [ - { - type: "category", - title: "General", - children: [ - { - type: "link", - path: "/storefront-development/tips", - title: "Tips", - }, - { - type: "link", - path: "/storefront-development/publishable-api-keys", - title: "Publishable API Key", - }, - ], - }, - { - type: "category", - title: "Regions", - children: [ - { - type: "link", - path: "/storefront-development/regions", - title: "Overview", - }, - { - type: "link", - path: "/storefront-development/regions/list", - title: "List Regions", - }, - { - type: "link", - path: "/storefront-development/regions/store-retrieve-region", - title: "Store and Retrieve Regions", - }, - { - type: "link", - path: "/storefront-development/regions/context", - title: "Region React Context", - }, - ], - }, - { - type: "category", - title: "Products", - children: [ - { - type: "link", - path: "/storefront-development/products", - title: "Overview", - }, - { - type: "link", - path: "/storefront-development/products/list", - title: "List Products", - }, - { - type: "link", - path: "/storefront-development/products/retrieve", - title: "Retrieve a Product", - }, - { - type: "link", - path: "/storefront-development/products/variants", - title: "Select a Variant", - }, - { - type: "link", - path: "/storefront-development/products/price", - title: "Retrieve Variant Prices", - autogenerate_path: "storefront-development/products/price/examples", - }, - { - type: "link", - path: "/storefront-development/products/inventory", - title: "Retrieve Variant Inventory", - }, - { - type: "link", - path: "/storefront-development/products/categories", - title: "Categories", - children: [ - { - type: "link", - path: "/storefront-development/products/categories/list", - title: "List Categories", - }, - { - type: "link", - path: "/storefront-development/products/categories/retrieve", - title: "Retrieve a Category", - }, - { - type: "link", - path: "/storefront-development/products/categories/products", - title: "Retrieve a Category's Products", - }, - { - type: "link", - path: "/storefront-development/products/categories/nested-categories", - title: "Retrieve Nested Categories", - }, - ], - }, - { - type: "link", - path: "/storefront-development/products/collections", - title: "Collections", - children: [ - { - type: "link", - path: "/storefront-development/products/collections/list", - title: "List Collections", - }, - { - type: "link", - path: "/storefront-development/products/collections/retrieve", - title: "Retrieve a Collection", - }, - { - type: "link", - path: "/storefront-development/products/collections/products", - title: "Retrieve a Collection's Products", - }, - ], - }, - ], - }, - { - type: "category", - title: "Carts", - children: [ - { - type: "link", - path: "/storefront-development/cart", - title: "Overview", - }, - { - type: "link", - path: "/storefront-development/cart/create", - title: "Create Cart", - }, - { - type: "link", - path: "/storefront-development/cart/retrieve", - title: "Retrieve Cart", - }, - { - type: "link", - path: "/storefront-development/cart/context", - title: "Cart React Context", - }, - { - type: "link", - path: "/storefront-development/cart/update", - title: "Update Cart", - }, - { - type: "link", - path: "/storefront-development/cart/manage-items", - title: "Manage Line Items", - }, - ], - }, - { - type: "category", - title: "Checkout", - children: [ - { - type: "link", - path: "/storefront-development/checkout", - title: "Overview", - }, - { - type: "link", - path: "/storefront-development/checkout/email", - title: "1. Enter Email", - }, - { - type: "link", - path: "/storefront-development/checkout/address", - title: "2. Enter Address", - }, - { - type: "link", - path: "/storefront-development/checkout/shipping", - title: "3. Choose Shipping Method", - }, - { - type: "link", - path: "/storefront-development/checkout/payment", - title: "4. Choose Payment Provider", - children: [ - { - type: "link", - path: "/storefront-development/checkout/payment/stripe", - title: "Example: Stripe", - }, - ], - }, - { - type: "link", - path: "/storefront-development/checkout/complete-cart", - title: "5. Complete Cart", - }, - ], - }, - { - type: "category", - title: "Customers", - children: [ - { - type: "link", - path: "/storefront-development/customers", - title: "Overview", - }, - { - type: "link", - path: "/storefront-development/customers/register", - title: "Register Customer", - }, - { - type: "link", - path: "/storefront-development/customers/login", - title: "Login Customer", - }, - { - type: "link", - path: "/storefront-development/customers/third-party-login", - title: "Third-Party (Social) Login", - }, - { - type: "link", - path: "/storefront-development/customers/reset-password", - title: "Reset Password", - }, - { - type: "link", - path: "/storefront-development/customers/retrieve", - title: "Retrieve Customer", - }, - { - type: "link", - path: "/storefront-development/customers/context", - title: "Customer React Context", - }, - { - type: "link", - path: "/storefront-development/customers/profile", - title: "Edit Customer Profile", - }, - { - type: "link", - path: "/storefront-development/customers/addresses", - title: "Manage Customer Addresses", - }, - { - type: "link", - path: "/storefront-development/customers/log-out", - title: "Log-out Customer", - }, - ], - }, + children: recipesSidebar, + }, + { + type: "separator", + }, + { + type: "link", + path: "/commerce-modules", + title: "Commerce Modules", + hideChildren: true, + children: [ + ...apiKeySidebar, + ...authSidebar, + ...cartSidebar, + ...currencySidebar, + ...customerSidebar, + ...fulfillmentSidebar, + ...inventorySidebar, + ...orderSidebar, + ...paymentSidebar, + ...pricingSidebar, + ...productSidebar, + ...promotionSidebar, + ...regionSidebar, + ...salesChannelSidebar, + ...stockLocationSidebar, + ...storeSidebar, + ...taxSidebar, + ...userSidebar, ], }, + { + type: "link", + path: "/architectural-modules", + title: "Architectural Modules", + isChildSidebar: true, + children: architecturalModulesSidebar, + }, + { + type: "link", + path: "/integrations", + title: "Integrations", + isChildSidebar: true, + children: integrationsSidebar, + }, + { + type: "link", + path: "/storefront-development", + title: "Storefront Development", + isChildSidebar: true, + children: storefrontGuidesSidebar, + }, { type: "separator", }, { type: "category", title: "SDKs and Tools", - children: [ - { - type: "link", - path: "/create-medusa-app", - title: "create-medusa-app", - }, - { - type: "link", - path: "/medusa-cli", - title: "Medusa CLI", - isChildSidebar: true, - childSidebarTitle: "Medusa CLI Reference", - children: [ - { - type: "link", - path: "/medusa-cli", - title: "Overview", - }, - { - type: "separator", - }, - { - type: "category", - title: "Commands", - autogenerate_path: "medusa-cli/commands", - }, - ], - }, - { - type: "link", - path: "/js-sdk", - title: "JS SDK", - isChildSidebar: true, - childSidebarTitle: "JS SDK Reference", - children: [ - { - type: "category", - title: "Auth", - autogenerate_path: "/references/js_sdk/auth/Auth/methods", - initialOpen: true, - }, - { - type: "category", - title: "Store", - autogenerate_path: "/references/js_sdk/store/Store/properties", - initialOpen: true, - }, - { - type: "category", - title: "Admin", - autogenerate_path: "/references/js_sdk/admin/Admin/properties", - initialOpen: true, - }, - ], - }, - { - type: "link", - path: "/nextjs-starter", - title: "Next.js Starter Storefront", - isChildSidebar: true, - children: [ - { - type: "link", - path: "/nextjs-starter", - title: "Overview", - }, - { - type: "category", - title: "Payment", - children: [ - { - type: "link", - path: "/nextjs-starter/guides/customize-stripe", - title: "Customize Stripe Integration", - }, - ], - }, - ], - }, - ], + children: sdkToolsSidebar, }, { type: "category", @@ -2249,100 +153,7 @@ export const sidebar = sidebarAttachHrefCommonOptions([ path: "/troubleshooting", title: "Troubleshooting Guides", isChildSidebar: true, - children: [ - { - type: "category", - title: "Installation", - children: [ - { - type: "link", - path: "/troubleshooting/create-medusa-app-errors", - title: "Create Medusa App Errors", - }, - { - type: "link", - path: "/troubleshooting/errors-installing-cli", - title: "Errors Installing CLI", - }, - { - type: "link", - path: "/troubleshooting/general-errors", - title: "General Errors", - }, - ], - }, - { - type: "category", - title: "Medusa Application", - children: [ - { - type: "link", - path: "/troubleshooting/eaddrinuse", - title: "EADDRINUSE Error", - }, - { - type: "link", - path: "/troubleshooting/database-errors", - title: "Database Errors", - }, - { - type: "link", - path: "/troubleshooting/dist-imports", - title: "Importing from /dist", - }, - { - type: "link", - path: "/troubleshooting/workflow-errors", - title: "Workflow Errors", - }, - ], - }, - { - type: "category", - title: "Admin Development", - children: [ - { - type: "link", - path: "/troubleshooting/medusa-admin/no-widget-route", - title: "Widget or Route not Showing", - }, - ], - }, - { - type: "category", - title: "Upgrade", - children: [ - { - type: "link", - path: "/troubleshooting/errors-after-upgrading", - title: "Errors After Upgrading", - }, - ], - }, - { - type: "category", - title: "Frontend", - children: [ - { - type: "link", - path: "/troubleshooting/cors-errors", - title: "CORS Errors", - }, - ], - }, - { - type: "category", - title: "Integrations", - hasTitleStyling: true, - children: [ - { - type: "link", - path: "/troubleshooting/s3", - title: "S3 Module Provider Errors", - }, - ], - }, - ], + children: troubleshootingSidebar, }, ], }, @@ -2394,116 +205,7 @@ export const sidebar = sidebarAttachHrefCommonOptions([ { type: "category", title: "References", - children: [ - { - type: "link", - path: "/references/workflows", - title: "Workflows SDK", - childSidebarTitle: "Workflows SDK Reference", - isChildSidebar: true, - children: [ - { - type: "category", - title: "Functions", - autogenerate_path: "/references/workflows/functions", - }, - ], - }, - { - type: "link", - path: "/references/data-model", - title: "Data Model Language", - childSidebarTitle: "Data Model Language Reference", - isChildSidebar: true, - children: [ - { - type: "link", - path: "/references/data-model/define", - title: "Define Method", - }, - { - type: "separator", - }, - { - type: "category", - title: "Property Types", - autogenerate_path: "/references/dml/Property_Types/methods", - }, - { - type: "category", - title: "Relationship Methods", - autogenerate_path: "/references/dml/Relationship_Methods/methods", - }, - { - type: "category", - title: "Model Methods", - autogenerate_path: "/references/dml/Model_Methods/methods", - }, - { - type: "category", - title: "Property Configuration Methods", - autogenerate_path: - "/references/dml/Property_Configuration_Methods/methods", - }, - ], - }, - { - type: "link", - path: "/service-factory-reference", - title: "Service Factory", - isChildSidebar: true, - children: [ - { - type: "category", - title: "Methods", - autogenerate_path: "/service-factory-reference/methods", - }, - { - type: "category", - title: "Tips", - autogenerate_path: "/service-factory-reference/tips", - }, - ], - }, - { - type: "link", - path: "/references/helper-steps", - title: "Helper Steps", - isChildSidebar: true, - autogenerate_path: "/references/helper_steps/functions", - }, - { - type: "link", - title: "Core Workflows", - path: "/medusa-workflows-reference", - isChildSidebar: true, - custom_autogenerate: "core-flows", - }, - { - type: "link", - title: "Testing Framework", - path: "/test-tools-reference", - isChildSidebar: true, - children: [ - { - type: "category", - title: "Functions", - children: [ - { - type: "link", - title: "medusaIntegrationTestRunner", - path: "/test-tools-reference/medusaIntegrationTestRunner", - }, - { - type: "link", - title: "moduleIntegrationTestRunner", - path: "/test-tools-reference/moduleIntegrationTestRunner", - }, - ], - }, - ], - }, - ], + children: referencesSidebar, }, { type: "category", diff --git a/www/apps/resources/sidebars/api-key.mjs b/www/apps/resources/sidebars/api-key.mjs new file mode 100644 index 0000000000000..2f4ed9d410b31 --- /dev/null +++ b/www/apps/resources/sidebars/api-key.mjs @@ -0,0 +1,73 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const apiKeySidebar = [ + { + type: "category", + title: "API Key Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/api-key", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/api-key/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/api-key/concepts", + title: "API Key Concepts", + }, + { + type: "link", + path: "/commerce-modules/api-key/links-to-other-modules", + title: "Link to Modules", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/api-key", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "API Key Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + hasTitleStyling: true, + autogenerate_path: + "/references/api_key/IApiKeyModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/api-key/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "API Key Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + hasTitleStyling: true, + autogenerate_path: "/references/api_key_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/architectural-modules.mjs b/www/apps/resources/sidebars/architectural-modules.mjs new file mode 100644 index 0000000000000..54d59e89cdea5 --- /dev/null +++ b/www/apps/resources/sidebars/architectural-modules.mjs @@ -0,0 +1,162 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const architecturalModulesSidebar = [ + { + type: "category", + title: "Cache Modules", + children: [ + { + type: "link", + path: "/architectural-modules/cache", + title: "Overview", + }, + { + type: "link", + path: "/architectural-modules/cache/in-memory", + title: "In-Memory", + }, + { + type: "link", + path: "/architectural-modules/cache/redis", + title: "Redis", + }, + { + type: "sub-category", + title: "Guides", + children: [ + { + type: "link", + path: "/architectural-modules/cache/create", + title: "Create Cache Module", + }, + ], + }, + ], + }, + { + type: "category", + title: "Event Modules", + children: [ + { + type: "link", + path: "/architectural-modules/event", + title: "Overview", + }, + { + type: "link", + path: "/architectural-modules/event/local", + title: "Local", + }, + { + type: "link", + path: "/architectural-modules/event/redis", + title: "Redis", + }, + { + type: "sub-category", + title: "Guides", + children: [ + { + type: "link", + path: "/architectural-modules/event/create", + title: "Create Event Module", + }, + ], + }, + ], + }, + { + type: "category", + title: "File Module Providers", + children: [ + { + type: "link", + path: "/architectural-modules/file", + title: "Overview", + }, + { + type: "link", + path: "/architectural-modules/file/local", + title: "Local", + }, + { + type: "link", + path: "/architectural-modules/file/s3", + title: "AWS S3 (and Compatible APIs)", + }, + { + type: "sub-category", + title: "Guides", + children: [ + { + type: "link", + path: "/references/file-provider-module", + title: "Create File Provider", + }, + ], + }, + ], + }, + { + type: "category", + title: "Notification Module Providers", + children: [ + { + type: "link", + path: "/architectural-modules/notification", + title: "Overview", + }, + { + type: "link", + path: "/architectural-modules/notification/local", + title: "Local", + }, + { + type: "link", + path: "/architectural-modules/notification/sendgrid", + title: "SendGrid", + }, + { + type: "sub-category", + title: "Guides", + children: [ + { + type: "link", + path: "/architectural-modules/notification/send-notification", + title: "Send Notification", + }, + { + type: "link", + path: "/references/notification-provider-module", + title: "Create Notification Provider", + }, + { + type: "link", + path: "/integrations/guides/resend", + title: "Integrate Resend", + }, + ], + }, + ], + }, + { + type: "category", + title: "Workflow Engine Modules", + children: [ + { + type: "link", + path: "/architectural-modules/workflow-engine", + title: "Overview", + }, + { + type: "link", + path: "/architectural-modules/workflow-engine/in-memory", + title: "In-Memory", + }, + { + type: "link", + path: "/architectural-modules/workflow-engine/redis", + title: "Redis", + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/auth.mjs b/www/apps/resources/sidebars/auth.mjs new file mode 100644 index 0000000000000..131a7137ba9ee --- /dev/null +++ b/www/apps/resources/sidebars/auth.mjs @@ -0,0 +1,128 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const authSidebar = [ + { + type: "category", + title: "Auth Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/auth", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/auth/module-options", + title: "Module Options", + }, + { + type: "link", + path: "/commerce-modules/auth/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/auth/auth-identity-and-actor-types", + title: "Identity and Actor Types", + }, + { + type: "link", + path: "/commerce-modules/auth/auth-providers", + title: "Auth Providers", + }, + { + type: "link", + path: "/commerce-modules/auth/auth-flows", + title: "Auth Flow with Module", + }, + { + type: "link", + path: "/commerce-modules/auth/authentication-route", + title: "Auth Flow with Routes", + }, + ], + }, + { + type: "sub-category", + title: "Guides", + children: [ + { + type: "link", + path: "/commerce-modules/auth/create-actor-type", + title: "Create an Actor Type", + }, + { + type: "link", + path: "/commerce-modules/auth/reset-password", + title: "Handle Password Reset Event", + }, + { + type: "link", + path: "/references/auth/provider", + title: "Create Auth Provider Module", + }, + ], + }, + { + type: "sub-category", + title: "Providers", + children: [ + { + type: "link", + path: "/commerce-modules/auth/auth-providers/emailpass", + title: "Emailpass Provider", + }, + { + type: "link", + path: "/commerce-modules/auth/auth-providers/google", + title: "Google Provider", + }, + { + type: "link", + path: "/commerce-modules/auth/auth-providers/github", + title: "GitHub Provider", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/auth", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Auth Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/auth/IAuthModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/auth/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Auth Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: "/references/auth_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/cart.mjs b/www/apps/resources/sidebars/cart.mjs new file mode 100644 index 0000000000000..8d012de5bb7a2 --- /dev/null +++ b/www/apps/resources/sidebars/cart.mjs @@ -0,0 +1,86 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const cartSidebar = [ + { + type: "category", + title: "Cart Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/cart", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/cart/examples", + title: "Examples", + }, + { + type: "link", + path: "/commerce-modules/cart/extend", + title: "Extend Module", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/cart/concepts", + title: "Cart Concepts", + }, + { + type: "link", + path: "/commerce-modules/cart/promotions", + title: "Promotion Adjustments", + }, + { + type: "link", + path: "/commerce-modules/cart/tax-lines", + title: "Tax Lines", + }, + { + type: "link", + path: "/commerce-modules/cart/links-to-other-modules", + title: "Links to Other Modules", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/cart", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Cart Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/cart/ICartModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/cart/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Cart Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: "/references/cart_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/currency.mjs b/www/apps/resources/sidebars/currency.mjs new file mode 100644 index 0000000000000..e4f9c082bd583 --- /dev/null +++ b/www/apps/resources/sidebars/currency.mjs @@ -0,0 +1,55 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const currencySidebar = [ + { + type: "category", + title: "Currency Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/currency", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/currency/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/currency", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Cart Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/currency/ICurrencyModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/currency/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Currency Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: "/references/currency_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/customer.mjs b/www/apps/resources/sidebars/customer.mjs new file mode 100644 index 0000000000000..120473cf4a4c1 --- /dev/null +++ b/www/apps/resources/sidebars/customer.mjs @@ -0,0 +1,71 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const customerSidebar = [ + { + type: "category", + title: "Customer Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/customer", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/customer/examples", + title: "Examples", + }, + { + type: "link", + path: "/commerce-modules/customer/extend", + title: "Extend Module", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/customer/customer-accounts", + title: "Customer Accounts", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/customer", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Customer Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/customer/ICustomerModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/customer/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Customer Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: "/references/customer_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/fulfillment.mjs b/www/apps/resources/sidebars/fulfillment.mjs new file mode 100644 index 0000000000000..8d9a0c7c90e2a --- /dev/null +++ b/www/apps/resources/sidebars/fulfillment.mjs @@ -0,0 +1,103 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const fulfillmentSidebar = [ + { + type: "category", + title: "Fulfillment Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/fulfillment", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/fulfillment/module-options", + title: "Module Options", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/fulfillment/concepts", + title: "Fulfillment Concepts", + }, + { + type: "link", + path: "/commerce-modules/fulfillment/fulfillment-provider", + title: "Fulfillment Provider", + }, + { + type: "link", + path: "/commerce-modules/fulfillment/shipping-option", + title: "Shipping Option", + }, + { + type: "link", + path: "/commerce-modules/fulfillment/item-fulfillment", + title: "Item Fulfillment", + }, + { + type: "link", + path: "/commerce-modules/fulfillment/links-to-other-modules", + title: "Links to Other Modules", + }, + ], + }, + { + type: "sub-category", + title: "Guides", + children: [ + { + type: "link", + path: "/references/fulfillment/provider", + title: "Create Fulfillment Provider Module", + }, + { + type: "link", + path: "/integrations/guides/shipstation", + title: "Integrate ShipStation", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/fulfillment", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Fulfillment Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/fulfillment/IFulfillmentModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/fulfillment/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Fulfillment Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + hasTitleStyling: true, + autogenerate_path: "/references/fulfillment_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/integrations.mjs b/www/apps/resources/sidebars/integrations.mjs new file mode 100644 index 0000000000000..d40267fe85092 --- /dev/null +++ b/www/apps/resources/sidebars/integrations.mjs @@ -0,0 +1,79 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const integrationsSidebar = [ + { + type: "category", + title: "Auth", + children: [ + { + type: "link", + path: "/commerce-modules/auth/auth-providers/google", + title: "Google", + }, + { + type: "link", + path: "/commerce-modules/auth/auth-providers/github", + title: "GitHub", + }, + ], + }, + { + type: "category", + title: "CMS", + children: [ + { + type: "link", + path: "/integrations/guides/sanity", + title: "Sanity", + }, + ], + }, + { + type: "category", + title: "File", + children: [ + { + type: "link", + path: "/architectural-modules/file/s3", + title: "AWS", + }, + ], + }, + { + type: "category", + title: "Fulfillment", + children: [ + { + type: "link", + path: "/integrations/guides/shipstation", + title: "ShipStation", + }, + ], + }, + { + type: "category", + title: "Notification", + children: [ + { + type: "link", + path: "/architectural-modules/notification/sendgrid", + title: "SendGrid", + }, + { + type: "link", + path: "/integrations/guides/resend", + title: "Resend", + }, + ], + }, + { + type: "category", + title: "Payment", + children: [ + { + type: "link", + path: "/commerce-modules/payment/payment-provider/stripe", + title: "Stripe", + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/inventory.mjs b/www/apps/resources/sidebars/inventory.mjs new file mode 100644 index 0000000000000..a49bdaf9be810 --- /dev/null +++ b/www/apps/resources/sidebars/inventory.mjs @@ -0,0 +1,77 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const inventorySidebar = [ + { + type: "category", + title: "Inventory Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/inventory", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/inventory/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/inventory/concepts", + title: "Inventory Concepts", + }, + { + type: "link", + path: "/commerce-modules/inventory/inventory-in-flows", + title: "Inventory in Flows", + }, + { + type: "link", + path: "/commerce-modules/inventory/links-to-other-modules", + title: "Links to Modules", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/inventory-next", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Inventory Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/inventory_next/IInventoryService/methods", + }, + ], + }, + { + type: "link", + path: "/references/inventory-next/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Inventory Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: + "/references/inventory_next_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/order-module.mjs b/www/apps/resources/sidebars/order-module.mjs new file mode 100644 index 0000000000000..9a173bc1e32da --- /dev/null +++ b/www/apps/resources/sidebars/order-module.mjs @@ -0,0 +1,112 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const orderSidebar = [ + { + type: "category", + title: "Order Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/order", + title: "Overview", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/order/concepts", + title: "Order Concepts", + }, + { + type: "link", + path: "/commerce-modules/order/promotion-adjustments", + title: "Promotions Adjustments", + }, + { + type: "link", + path: "/commerce-modules/order/tax-lines", + title: "Tax Lines", + }, + { + type: "link", + path: "/commerce-modules/order/transactions", + title: "Transactions", + }, + { + type: "link", + path: "/commerce-modules/order/order-versioning", + title: "Order Versioning", + }, + { + type: "link", + path: "/commerce-modules/order/return", + title: "Return", + }, + { + type: "link", + path: "/commerce-modules/order/exchange", + title: "Exchange", + }, + { + type: "link", + path: "/commerce-modules/order/claim", + title: "Claim", + }, + { + type: "link", + path: "/commerce-modules/order/edit", + title: "Order Edit", + }, + { + type: "link", + path: "/commerce-modules/order/order-change", + title: "Order Change", + }, + { + type: "link", + path: "/commerce-modules/order/links-to-other-modules", + title: "Links to Other Modules", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/order", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Order Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/order/IOrderModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/order/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Order Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + hasTitleStyling: true, + autogenerate_path: "/references/order_models/classes", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/payment.mjs b/www/apps/resources/sidebars/payment.mjs new file mode 100644 index 0000000000000..7e9625fd4d800 --- /dev/null +++ b/www/apps/resources/sidebars/payment.mjs @@ -0,0 +1,123 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const paymentSidebar = [ + { + type: "category", + title: "Payment Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/payment", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/payment/module-options", + title: "Module Options", + }, + { + type: "link", + path: "/commerce-modules/payment/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/payment/payment-collection", + title: "Payment Collections", + }, + { + type: "link", + path: "/commerce-modules/payment/payment-session", + title: "Payment Session", + }, + { + type: "link", + path: "/commerce-modules/payment/payment", + title: "Payment", + }, + { + type: "link", + path: "/commerce-modules/payment/payment-provider", + title: "Payment Provider Module", + }, + { + type: "link", + path: "/commerce-modules/payment/webhook-events", + title: "Webhook Events", + }, + { + type: "link", + path: "/commerce-modules/payment/links-to-other-modules", + title: "Links to Other Modules", + }, + ], + }, + { + type: "sub-category", + title: "Guides", + children: [ + { + type: "link", + path: "/commerce-modules/payment/payment-flow", + title: "Accept Payment Flow", + }, + { + type: "link", + path: "/references/payment/provider", + title: "Create Payment Provider", + }, + ], + }, + { + type: "sub-category", + title: "Payment Providers", + children: [ + { + type: "link", + path: "/commerce-modules/payment/payment-provider/stripe", + title: "Stripe", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/payment", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Payment Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/payment/IPaymentModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/payment/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Payment Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: "/references/payment_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/pricing.mjs b/www/apps/resources/sidebars/pricing.mjs new file mode 100644 index 0000000000000..7f5ca7f41cfa7 --- /dev/null +++ b/www/apps/resources/sidebars/pricing.mjs @@ -0,0 +1,87 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const pricingSidebar = [ + { + type: "category", + title: "Pricing Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/pricing", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/pricing/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/pricing/concepts", + title: "Pricing Concepts", + }, + { + type: "link", + path: "/commerce-modules/pricing/price-rules", + title: "Price Rules", + }, + { + type: "link", + path: "/commerce-modules/pricing/price-calculation", + title: "Prices Calculation", + }, + { + type: "link", + path: "/commerce-modules/pricing/tax-inclusive-pricing", + title: "Tax-Inclusive Pricing", + }, + { + type: "link", + path: "/commerce-modules/pricing/links-to-other-modules", + title: "Links to Other Modules", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/pricing", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Pricing Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/pricing/IPricingModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/pricing/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Pricing Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + hasTitleStyling: true, + autogenerate_path: "/references/pricing_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/product.mjs b/www/apps/resources/sidebars/product.mjs new file mode 100644 index 0000000000000..fa61ea2573828 --- /dev/null +++ b/www/apps/resources/sidebars/product.mjs @@ -0,0 +1,77 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const productSidebar = [ + { + type: "category", + title: "Product Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/product", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/product/examples", + title: "Examples", + }, + { + type: "link", + path: "/commerce-modules/product/extend", + title: "Extend Module", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/product/links-to-other-modules", + title: "Links to Other Modules", + }, + ], + }, + { + type: "sub-category", + title: "Guides", + autogenerate_path: "/commerce-modules/product/guides", + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/product", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Product Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/product/IProductModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/product/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Product Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + hasTitleStyling: true, + autogenerate_path: "/references/product_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/promotion.mjs b/www/apps/resources/sidebars/promotion.mjs new file mode 100644 index 0000000000000..5f942d4925156 --- /dev/null +++ b/www/apps/resources/sidebars/promotion.mjs @@ -0,0 +1,93 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const promotionSidebar = [ + { + type: "category", + title: "Promotion Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/promotion", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/promotion/examples", + title: "Examples", + }, + { + type: "link", + path: "/commerce-modules/promotion/extend", + title: "Extend Module", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/promotion/concepts", + title: "Promotion", + }, + { + type: "link", + path: "/commerce-modules/promotion/application-method", + title: "Application Method", + }, + { + type: "link", + path: "/commerce-modules/promotion/campaign", + title: "Campaign", + }, + { + type: "link", + path: "/commerce-modules/promotion/actions", + title: "Promotion Actions", + }, + { + type: "link", + path: "/commerce-modules/promotion/links-to-other-modules", + title: "Links to Modules", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/promotion", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Promotion Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + hasTitleStyling: true, + autogenerate_path: + "/references/promotion/IPromotionModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/promotion/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Promotion Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + hasTitleStyling: true, + autogenerate_path: "/references/promotion_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/recipes.mjs b/www/apps/resources/sidebars/recipes.mjs new file mode 100644 index 0000000000000..3d46d51b21a64 --- /dev/null +++ b/www/apps/resources/sidebars/recipes.mjs @@ -0,0 +1,96 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const recipesSidebar = [ + { + type: "link", + path: "/recipes/marketplace", + title: "Marketplace", + children: [ + { + type: "link", + path: "/recipes/marketplace/examples/vendors", + title: "Example: Vendors", + }, + { + type: "link", + path: "/recipes/marketplace/examples/restaurant-delivery", + title: "Example: Restaurant-Delivery", + }, + ], + }, + { + type: "link", + path: "/recipes/subscriptions", + title: "Subscriptions", + children: [ + { + type: "link", + path: "/recipes/subscriptions/examples/standard", + title: "Example", + }, + ], + }, + { + type: "link", + path: "/recipes/digital-products", + title: "Digital Products", + children: [ + { + type: "link", + path: "/recipes/digital-products/examples/standard", + title: "Example", + }, + ], + }, + { + type: "link", + path: "/recipes/b2b", + title: "B2B", + }, + { + type: "link", + path: "/recipes/commerce-automation", + title: "Commerce Automation", + children: [ + { + type: "link", + path: "/recipes/commerce-automation/restock-notification", + title: "Example: Restock Notifications", + }, + ], + }, + { + type: "link", + path: "/recipes/ecommerce", + title: "Ecommerce", + }, + { + type: "link", + path: "/recipes/integrate-ecommerce-stack", + title: "Integrate Ecommerce Stack", + }, + { + type: "link", + path: "/recipes/multi-region-store", + title: "Multi-Region Store", + }, + { + type: "link", + path: "/recipes/omnichannel", + title: "Omnichannel Store", + }, + { + type: "link", + path: "/recipes/oms", + title: "OMS", + }, + { + type: "link", + path: "/recipes/personalized-products", + title: "Personalized Products", + }, + { + type: "link", + path: "/recipes/pos", + title: "POS", + }, +] diff --git a/www/apps/resources/sidebars/references.mjs b/www/apps/resources/sidebars/references.mjs new file mode 100644 index 0000000000000..e1dfcb4a13dc7 --- /dev/null +++ b/www/apps/resources/sidebars/references.mjs @@ -0,0 +1,111 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const referencesSidebar = [ + { + type: "link", + path: "/references/workflows", + title: "Workflows SDK", + childSidebarTitle: "Workflows SDK Reference", + isChildSidebar: true, + children: [ + { + type: "category", + title: "Functions", + autogenerate_path: "/references/workflows/functions", + }, + ], + }, + { + type: "link", + path: "/references/data-model", + title: "Data Model Language", + childSidebarTitle: "Data Model Language Reference", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/references/data-model/define", + title: "Define Method", + }, + { + type: "separator", + }, + { + type: "category", + title: "Property Types", + autogenerate_path: "/references/dml/Property_Types/methods", + }, + { + type: "category", + title: "Relationship Methods", + autogenerate_path: "/references/dml/Relationship_Methods/methods", + }, + { + type: "category", + title: "Model Methods", + autogenerate_path: "/references/dml/Model_Methods/methods", + }, + { + type: "category", + title: "Property Configuration Methods", + autogenerate_path: + "/references/dml/Property_Configuration_Methods/methods", + }, + ], + }, + { + type: "link", + path: "/service-factory-reference", + title: "Service Factory", + isChildSidebar: true, + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: "/service-factory-reference/methods", + }, + { + type: "category", + title: "Tips", + autogenerate_path: "/service-factory-reference/tips", + }, + ], + }, + { + type: "link", + path: "/references/helper-steps", + title: "Helper Steps", + isChildSidebar: true, + autogenerate_path: "/references/helper_steps/functions", + }, + { + type: "link", + title: "Core Workflows", + path: "/medusa-workflows-reference", + isChildSidebar: true, + custom_autogenerate: "core-flows", + }, + { + type: "link", + title: "Testing Framework", + path: "/test-tools-reference", + isChildSidebar: true, + children: [ + { + type: "category", + title: "Functions", + children: [ + { + type: "link", + title: "medusaIntegrationTestRunner", + path: "/test-tools-reference/medusaIntegrationTestRunner", + }, + { + type: "link", + title: "moduleIntegrationTestRunner", + path: "/test-tools-reference/moduleIntegrationTestRunner", + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/region.mjs b/www/apps/resources/sidebars/region.mjs new file mode 100644 index 0000000000000..91ab47ad0b472 --- /dev/null +++ b/www/apps/resources/sidebars/region.mjs @@ -0,0 +1,66 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const regionSidebar = [ + { + type: "category", + title: "Region Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/region", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/region/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/region/links-to-other-modules", + title: "Links to Modules", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/region", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Region Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/region/IRegionModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/region/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Region Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: "/references/region_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/sales-channel.mjs b/www/apps/resources/sidebars/sales-channel.mjs new file mode 100644 index 0000000000000..9cc6c1e7fd0f7 --- /dev/null +++ b/www/apps/resources/sidebars/sales-channel.mjs @@ -0,0 +1,71 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const salesChannelSidebar = [ + { + type: "category", + title: "Sales Channel Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/sales-channel", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/sales-channel/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/sales-channel/publishable-api-keys", + title: "Publishable API Keys", + }, + { + type: "link", + path: "/commerce-modules/sales-channel/links-to-other-modules", + title: "Links to Modules", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/sales-channel", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Sales Channel Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/sales_channel/ISalesChannelModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/sales-channel/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Sales Channel Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: "/references/sales_channel_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/sdk-tools.mjs b/www/apps/resources/sidebars/sdk-tools.mjs new file mode 100644 index 0000000000000..9ffb631601750 --- /dev/null +++ b/www/apps/resources/sidebars/sdk-tools.mjs @@ -0,0 +1,81 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const sdkToolsSidebar = [ + { + type: "link", + path: "/create-medusa-app", + title: "create-medusa-app", + }, + { + type: "link", + path: "/medusa-cli", + title: "Medusa CLI", + isChildSidebar: true, + childSidebarTitle: "Medusa CLI Reference", + children: [ + { + type: "link", + path: "/medusa-cli", + title: "Overview", + }, + { + type: "separator", + }, + { + type: "category", + title: "Commands", + autogenerate_path: "medusa-cli/commands", + }, + ], + }, + { + type: "link", + path: "/js-sdk", + title: "JS SDK", + isChildSidebar: true, + childSidebarTitle: "JS SDK Reference", + children: [ + { + type: "category", + title: "Auth", + autogenerate_path: "/references/js_sdk/auth/Auth/methods", + initialOpen: true, + }, + { + type: "category", + title: "Store", + autogenerate_path: "/references/js_sdk/store/Store/properties", + initialOpen: true, + }, + { + type: "category", + title: "Admin", + autogenerate_path: "/references/js_sdk/admin/Admin/properties", + initialOpen: true, + }, + ], + }, + { + type: "link", + path: "/nextjs-starter", + title: "Next.js Starter Storefront", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/nextjs-starter", + title: "Overview", + }, + { + type: "category", + title: "Payment", + children: [ + { + type: "link", + path: "/nextjs-starter/guides/customize-stripe", + title: "Customize Stripe Integration", + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/stock-location.mjs b/www/apps/resources/sidebars/stock-location.mjs new file mode 100644 index 0000000000000..44058cc2c56a1 --- /dev/null +++ b/www/apps/resources/sidebars/stock-location.mjs @@ -0,0 +1,72 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const stockLocationSidebar = [ + { + type: "category", + title: "Stock Location Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/stock-location", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/stock-location/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/stock-location/concepts", + title: "Stock Location Concepts", + }, + { + type: "link", + path: "/commerce-modules/stock-location/links-to-other-modules", + title: "Links to Modules", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/stock-location-next", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Stock Location Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/stock_location_next/IStockLocationService/methods", + }, + ], + }, + { + type: "link", + path: "/references/stock-location-next/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Stock Location Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: + "/references/stock_location_next_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/store.mjs b/www/apps/resources/sidebars/store.mjs new file mode 100644 index 0000000000000..08697fc55df8c --- /dev/null +++ b/www/apps/resources/sidebars/store.mjs @@ -0,0 +1,55 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const storeSidebar = [ + { + type: "category", + title: "Store Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/store", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/store/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/store", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Store Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/store/IStoreModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/store/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Store Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: "/references/store_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/storefront.mjs b/www/apps/resources/sidebars/storefront.mjs new file mode 100644 index 0000000000000..ab4e2e6d2a10b --- /dev/null +++ b/www/apps/resources/sidebars/storefront.mjs @@ -0,0 +1,266 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const storefrontGuidesSidebar = [ + { + type: "category", + title: "General", + children: [ + { + type: "link", + path: "/storefront-development/tips", + title: "Tips", + }, + { + type: "link", + path: "/storefront-development/publishable-api-keys", + title: "Publishable API Key", + }, + ], + }, + { + type: "category", + title: "Regions", + children: [ + { + type: "link", + path: "/storefront-development/regions", + title: "Overview", + }, + { + type: "link", + path: "/storefront-development/regions/list", + title: "List Regions", + }, + { + type: "link", + path: "/storefront-development/regions/store-retrieve-region", + title: "Store and Retrieve Regions", + }, + { + type: "link", + path: "/storefront-development/regions/context", + title: "Region React Context", + }, + ], + }, + { + type: "category", + title: "Products", + children: [ + { + type: "link", + path: "/storefront-development/products", + title: "Overview", + }, + { + type: "link", + path: "/storefront-development/products/list", + title: "List Products", + }, + { + type: "link", + path: "/storefront-development/products/retrieve", + title: "Retrieve a Product", + }, + { + type: "link", + path: "/storefront-development/products/variants", + title: "Select a Variant", + }, + { + type: "link", + path: "/storefront-development/products/price", + title: "Retrieve Variant Prices", + autogenerate_path: "storefront-development/products/price/examples", + }, + { + type: "link", + path: "/storefront-development/products/inventory", + title: "Retrieve Variant Inventory", + }, + { + type: "link", + path: "/storefront-development/products/categories", + title: "Categories", + children: [ + { + type: "link", + path: "/storefront-development/products/categories/list", + title: "List Categories", + }, + { + type: "link", + path: "/storefront-development/products/categories/retrieve", + title: "Retrieve a Category", + }, + { + type: "link", + path: "/storefront-development/products/categories/products", + title: "Retrieve a Category's Products", + }, + { + type: "link", + path: "/storefront-development/products/categories/nested-categories", + title: "Retrieve Nested Categories", + }, + ], + }, + { + type: "link", + path: "/storefront-development/products/collections", + title: "Collections", + children: [ + { + type: "link", + path: "/storefront-development/products/collections/list", + title: "List Collections", + }, + { + type: "link", + path: "/storefront-development/products/collections/retrieve", + title: "Retrieve a Collection", + }, + { + type: "link", + path: "/storefront-development/products/collections/products", + title: "Retrieve a Collection's Products", + }, + ], + }, + ], + }, + { + type: "category", + title: "Carts", + children: [ + { + type: "link", + path: "/storefront-development/cart", + title: "Overview", + }, + { + type: "link", + path: "/storefront-development/cart/create", + title: "Create Cart", + }, + { + type: "link", + path: "/storefront-development/cart/retrieve", + title: "Retrieve Cart", + }, + { + type: "link", + path: "/storefront-development/cart/context", + title: "Cart React Context", + }, + { + type: "link", + path: "/storefront-development/cart/update", + title: "Update Cart", + }, + { + type: "link", + path: "/storefront-development/cart/manage-items", + title: "Manage Line Items", + }, + ], + }, + { + type: "category", + title: "Checkout", + children: [ + { + type: "link", + path: "/storefront-development/checkout", + title: "Overview", + }, + { + type: "link", + path: "/storefront-development/checkout/email", + title: "1. Enter Email", + }, + { + type: "link", + path: "/storefront-development/checkout/address", + title: "2. Enter Address", + }, + { + type: "link", + path: "/storefront-development/checkout/shipping", + title: "3. Choose Shipping Method", + }, + { + type: "link", + path: "/storefront-development/checkout/payment", + title: "4. Choose Payment Provider", + children: [ + { + type: "link", + path: "/storefront-development/checkout/payment/stripe", + title: "Example: Stripe", + }, + ], + }, + { + type: "link", + path: "/storefront-development/checkout/complete-cart", + title: "5. Complete Cart", + }, + ], + }, + { + type: "category", + title: "Customers", + children: [ + { + type: "link", + path: "/storefront-development/customers", + title: "Overview", + }, + { + type: "link", + path: "/storefront-development/customers/register", + title: "Register Customer", + }, + { + type: "link", + path: "/storefront-development/customers/login", + title: "Login Customer", + }, + { + type: "link", + path: "/storefront-development/customers/third-party-login", + title: "Third-Party (Social) Login", + }, + { + type: "link", + path: "/storefront-development/customers/reset-password", + title: "Reset Password", + }, + { + type: "link", + path: "/storefront-development/customers/retrieve", + title: "Retrieve Customer", + }, + { + type: "link", + path: "/storefront-development/customers/context", + title: "Customer React Context", + }, + { + type: "link", + path: "/storefront-development/customers/profile", + title: "Edit Customer Profile", + }, + { + type: "link", + path: "/storefront-development/customers/addresses", + title: "Manage Customer Addresses", + }, + { + type: "link", + path: "/storefront-development/customers/log-out", + title: "Log-out Customer", + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/tax.mjs b/www/apps/resources/sidebars/tax.mjs new file mode 100644 index 0000000000000..8a86002a15bbf --- /dev/null +++ b/www/apps/resources/sidebars/tax.mjs @@ -0,0 +1,91 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const taxSidebar = [ + { + type: "category", + title: "Tax Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/tax", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/tax/module-options", + title: "Module Options", + }, + { + type: "link", + path: "/commerce-modules/tax/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Concepts", + children: [ + { + type: "link", + path: "/commerce-modules/tax/tax-region", + title: "Tax Region", + }, + { + type: "link", + path: "/commerce-modules/tax/tax-rates-and-rules", + title: "Tax Rates and Rules", + }, + { + type: "link", + path: "/commerce-modules/tax/tax-calculation-with-provider", + title: "Tax Calculation and Providers", + }, + ], + }, + { + type: "sub-category", + title: "Guides", + children: [ + { + type: "link", + path: "/references/tax/provider", + title: "Tax Provider Reference", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/tax", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "Tax Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: "/references/tax/ITaxModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/tax/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "Tax Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + autogenerate_path: "/references/tax_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/troubleshooting.mjs b/www/apps/resources/sidebars/troubleshooting.mjs new file mode 100644 index 0000000000000..199928aa283d1 --- /dev/null +++ b/www/apps/resources/sidebars/troubleshooting.mjs @@ -0,0 +1,95 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const troubleshootingSidebar = [ + { + type: "category", + title: "Installation", + children: [ + { + type: "link", + path: "/troubleshooting/create-medusa-app-errors", + title: "Create Medusa App Errors", + }, + { + type: "link", + path: "/troubleshooting/errors-installing-cli", + title: "Errors Installing CLI", + }, + { + type: "link", + path: "/troubleshooting/general-errors", + title: "General Errors", + }, + ], + }, + { + type: "category", + title: "Medusa Application", + children: [ + { + type: "link", + path: "/troubleshooting/eaddrinuse", + title: "EADDRINUSE Error", + }, + { + type: "link", + path: "/troubleshooting/database-errors", + title: "Database Errors", + }, + { + type: "link", + path: "/troubleshooting/dist-imports", + title: "Importing from /dist", + }, + { + type: "link", + path: "/troubleshooting/workflow-errors", + title: "Workflow Errors", + }, + ], + }, + { + type: "category", + title: "Admin Development", + children: [ + { + type: "link", + path: "/troubleshooting/medusa-admin/no-widget-route", + title: "Widget or Route not Showing", + }, + ], + }, + { + type: "category", + title: "Upgrade", + children: [ + { + type: "link", + path: "/troubleshooting/errors-after-upgrading", + title: "Errors After Upgrading", + }, + ], + }, + { + type: "category", + title: "Frontend", + children: [ + { + type: "link", + path: "/troubleshooting/cors-errors", + title: "CORS Errors", + }, + ], + }, + { + type: "category", + title: "Integrations", + hasTitleStyling: true, + children: [ + { + type: "link", + path: "/troubleshooting/s3", + title: "S3 Module Provider Errors", + }, + ], + }, +] diff --git a/www/apps/resources/sidebars/user.mjs b/www/apps/resources/sidebars/user.mjs new file mode 100644 index 0000000000000..6dfa8e9e50bb6 --- /dev/null +++ b/www/apps/resources/sidebars/user.mjs @@ -0,0 +1,72 @@ +/** @type {import('types').RawSidebarItem[]} */ +export const userSidebar = [ + { + type: "category", + title: "User Module", + isChildSidebar: true, + children: [ + { + type: "link", + path: "/commerce-modules/user", + title: "Overview", + }, + { + type: "link", + path: "/commerce-modules/user/module-options", + title: "Module Options", + }, + { + type: "link", + path: "/commerce-modules/user/examples", + title: "Examples", + }, + { + type: "sub-category", + title: "Guides", + children: [ + { + type: "link", + path: "/commerce-modules/user/user-creation-flows", + title: "User Creation Flows", + }, + ], + }, + { + type: "sub-category", + title: "References", + children: [ + { + type: "link", + path: "/references/user", + title: "Main Service Reference", + isChildSidebar: true, + childSidebarTitle: "User Module's Main Service Reference", + children: [ + { + type: "category", + title: "Methods", + autogenerate_path: + "/references/user/IUserModuleService/methods", + }, + ], + }, + { + type: "link", + path: "/references/user/models", + title: "Data Models Reference", + isChildSidebar: true, + childSidebarTitle: "User Module Data Models Reference", + children: [ + { + type: "category", + title: "Data Models", + hasTitleStyling: true, + autogenerate_path: "/references/user_models/variables", + }, + ], + }, + ], + }, + ], + }, +] diff --git a/www/packages/docs-ui/src/components/Sidebar/Item/Category/index.tsx b/www/packages/docs-ui/src/components/Sidebar/Item/Category/index.tsx index d3abd63c26b3e..92831fb373853 100644 --- a/www/packages/docs-ui/src/components/Sidebar/Item/Category/index.tsx +++ b/www/packages/docs-ui/src/components/Sidebar/Item/Category/index.tsx @@ -2,7 +2,7 @@ // @refresh reset -import React, { useEffect, useMemo, useRef, useState } from "react" +import React, { useEffect, useMemo, useState } from "react" import { SidebarItemCategory as SidebarItemCategoryType } from "types" import { Loading, SidebarItem, useSidebar } from "../../../.." import clsx from "clsx" @@ -22,13 +22,11 @@ export const SidebarItemCategory = ({ const [open, setOpen] = useState( item.initialOpen !== undefined ? item.initialOpen : expandItems ) - const childrenRef = useRef(null) const { isChildrenActive, updatePersistedCategoryState, getPersistedCategoryState, persistState, - activePath, } = useSidebar() const itemShowLoading = useMemo(() => { return !item.loaded || (item.showLoadingIfEmpty && !item.children?.length) @@ -115,26 +113,31 @@ export const SidebarItemCategory = ({ )} -
    - {showLoading && ( - - )} - {item.children?.map((childItem, index) => ( - - ))} -
+ {!item.hideChildren && ( +
    + {showLoading && ( + + )} + {item.children?.map((childItem, index) => ( + + ))} +
+ )} ) } diff --git a/www/packages/docs-ui/src/components/Sidebar/Item/Link/index.tsx b/www/packages/docs-ui/src/components/Sidebar/Item/Link/index.tsx index d8fe9258394b8..d61ec8fc5629d 100644 --- a/www/packages/docs-ui/src/components/Sidebar/Item/Link/index.tsx +++ b/www/packages/docs-ui/src/components/Sidebar/Item/Link/index.tsx @@ -84,7 +84,11 @@ export const SidebarItemLink = ({ }, [active, isMobile]) const hasChildren = useMemo(() => { - return !item.isChildSidebar && (item.children?.length || 0) > 0 + return ( + !item.isChildSidebar && + !item.hideChildren && + (item.children?.length || 0) > 0 + ) }, [item.children]) const isTitleOneWord = useMemo( diff --git a/www/packages/docs-ui/src/components/Sidebar/Item/SubCategory/index.tsx b/www/packages/docs-ui/src/components/Sidebar/Item/SubCategory/index.tsx index e1a124bf8de6e..ae9c9e6a9ceec 100644 --- a/www/packages/docs-ui/src/components/Sidebar/Item/SubCategory/index.tsx +++ b/www/packages/docs-ui/src/components/Sidebar/Item/SubCategory/index.tsx @@ -87,7 +87,7 @@ export const SidebarItemSubCategory = ({ }, [active, sidebarRef.current, disableActiveTransition]) const hasChildren = useMemo(() => { - return item.children?.length || 0 > 0 + return !item.hideChildren && (item.children?.length || 0) > 0 }, [item.children]) const isTitleOneWord = useMemo( diff --git a/www/packages/tags/src/tags/index.ts b/www/packages/tags/src/tags/index.ts index 3eb55cf2e528f..50c08f8987858 100644 --- a/www/packages/tags/src/tags/index.ts +++ b/www/packages/tags/src/tags/index.ts @@ -6,6 +6,7 @@ export * from "./order.js" export * from "./storefront.js" export * from "./fulfillment.js" export * from "./customer.js" +export * from "./auth.js" export * from "./product-collection.js" export * from "./inventory.js" export * from "./auth.js" diff --git a/www/packages/types/src/sidebar.ts b/www/packages/types/src/sidebar.ts index 37dbcd3e035ea..043ffb193b342 100644 --- a/www/packages/types/src/sidebar.ts +++ b/www/packages/types/src/sidebar.ts @@ -12,6 +12,7 @@ export type SidebarItemCommon = { loaded?: boolean additionalElms?: React.ReactNode chapterTitle?: string + hideChildren?: boolean } export type SidebarItemLink = SidebarItemCommon & {