docs: added examples page (#9587)

- Added an examples page with examples of all different concepts in Medusa. We'll probably add more examples with time as we see the need for them.
- Small fixes in different pages.

Preview: https://resources-docs-ocb5uyp0o-medusajs.vercel.app/v2/resources/examples
This commit is contained in:
Shahed Nasser
2024-10-16 13:07:39 +03:00
committed by GitHub
parent ddcb749bc4
commit 6e856d3156
15 changed files with 4301 additions and 546 deletions
@@ -55,7 +55,7 @@ For example:
```ts highlights={[["9"]]}
import {
LoaderOptions,
} from "@medusajs/framework/modules-sdk"
} from "@medusajs/framework/types"
import {
ContainerRegistrationKeys
} from "@medusajs/framework/utils"
@@ -28,8 +28,8 @@ So, to run database queries in a service:
For example, in your service, add the following methods:
export const methodsHighlight = [
["4", "getCount", "Retrieves the number of records in `my_custom` using the `count` method."],
["8", "getCountSql", "Retrieves the number of records in `my_custom` using the `execute` method."]
["11", "getCount", "Retrieves the number of records in `my_custom` using the `count` method."],
["18", "getCountSql", "Retrieves the number of records in `my_custom` using the `execute` method."]
]
```ts highlights={methodsHighlight}
@@ -81,7 +81,7 @@ For example:
```ts title="src/modules/hello/loaders/hello-world.ts" highlights={[["11"], ["12", "ModuleOptions", "The type of expected module options."], ["16"]]}
import {
LoaderOptions,
} from "@medusajs/framework/modules-sdk"
} from "@medusajs/framework/types"
// recommended to define type in another file
type ModuleOptions = {
+1 -1
View File
@@ -127,7 +127,7 @@ The last step is to add the module in Medusas configurations.
In `medusa-config.ts`, add a `modules` property and pass in it your custom module:
```ts title="medusa-config.ts" highlights={[["6", "helloModuleService", "The key of the main service to be registered in the Medusa container."]]}
```ts title="medusa-config.ts" highlights={[["7"]]}
module.exports = defineConfig({
projectConfig: {
// ...
@@ -1,151 +0,0 @@
export const metadata = {
title: `${pageNumber} Examples`,
}
# {metadata.title}
This chapter provides links to example sections on different Medusa topics.
## API Routes
- [Execute a workflow in an API route](../../basics/workflows/page.mdx#3-execute-the-workflow)
- [Extend an existing API route](../../customization/extend-models/extend-create-product/page.mdx)
- [Override an existing API route](!resources!/recipes/subscriptions/examples/standard#step-6-override-complete-cart-api-route)
- [Restrict HTTP Methods in a middleware](../../advanced-development/api-routes/middlewares/page.mdx#restrict-http-methods)
- [Change response content to something other than JSON](../../advanced-development/api-routes/responses/page.mdx#change-response-content-type)
- [Retrieve logged-in customer's details](../../advanced-development/api-routes/protected-routes/page.mdx#retrieve-logged-in-customers-details)
- [Retrieve logged-in user's details](../../advanced-development/api-routes/protected-routes/page.mdx#retrieve-logged-in-admin-users-details)
- [Custom error handler](../../advanced-development/api-routes/errors/page.mdx#override-error-handler)
- [Using Query in an API route](../../advanced-development/module-links/query/page.mdx#query-example)
- [Upload files in a custom API route](!resources!/recipes/digital-products/examples/standard#step-7-upload-digital-product-media-api-route)
- [Customize cart-completion API route](!resources!/recipes/digital-products/examples/standard#step-11-customize-cart-completion)
---
## Modules
- [Create a Brand Module](../../customization/custom-features/module/page.mdx)
- [Create a Marketplace Module](!resources!/recipes/marketplace/examples/vendors#step-1-create-marketplace-module)
- [Create a Restaurant Module](!resources!/recipes/marketplace/examples/restaurant-delivery#step-1-create-a-restaurant-module)
- [Create a Delivery Module](!resources!/recipes/marketplace/examples/restaurant-delivery#step-2-create-a-delivery-module)
- [Create a Subscription Module](!resources!/recipes/subscriptions/examples/standard#step-1-create-subscription-module)
- [Create a Digital Product Module](!resources!/recipes/digital-products/examples/standard#step-1-create-the-digital-product-module)
- [Create a link between a brand and a product](../../customization/extend-models/create-links/page.mdx)
---
## Services
- [Override a method generated by the service factory](!resources!/recipes/subscriptions/examples/standard#step-4-override-createsubscriptions-method-in-service)
- [Integrate a third-party system](../../customization/integrate-systems/service/page.mdx)
---
## Subscribers
- [Execute a workflow in a subscriber](../../basics/workflows/page.mdx#3-execute-the-workflow)
- [Handle a custom event](../../customization/integrate-systems/handle-event/page.mdx)
- [Handle reset password token event](!resources!/commerce-modules/auth/reset-password)
---
## Scheduled Jobs
- [Execute a workflow in a scheduled job](../../basics/workflows/page.mdx#3-execute-the-workflow)
- [Schedule a task to sync data to third-party system](../../customization/integrate-systems/schedule-task/page.mdx)
---
## Workflows
- [Create a brand workflow](../../customization/custom-features/workflow/page.mdx)
- [Emit event in a workflow](../../customization/integrate-systems/handle-event/page.mdx#1-emit-custom-event-for-brand-creation)
- [Sync data to a third-party system with a workflow](../../customization/integrate-systems/schedule-task/page.mdx#1-implement-syncing-workflow)
- [Create a long-running workflow to handle delivery from placed to completed](!resources!/recipes/marketplace/examples/restaurant-delivery#step-11-handle-delivery-workflow)
- [Access long-running workflow's status and result in an API route](../../advanced-development/workflows/long-running-workflow/page.mdx#access-long-running-workflow-status-and-result)
---
## Custom CLI Scripts
- [Seed Dummy Products](../../advanced-development/custom-cli-scripts/seed-data/page.mdx)
---
## Admin Customizations
- [Send a request to custom API routes from widgets or UI routes](../../customization/customize-admin/widget/page.mdx)
- [Create a Settings Page](../../advanced-development/admin/ui-routes/page.mdx#create-settings-page)
- [Link to another page in the admin dashboard](../../advanced-development/admin/tips/page.mdx#routing-functionalities)
- [Show table with pagination](!resources!/recipes/digital-products/examples/standard#step-8-add-digital-products-ui-route-in-admin)
---
## Testing
- [Writing integration tests for API routes](../../debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx)
- [Writing integration tests for workflows](../../debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx)
- [Writing integration tests for modules](../../debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx)
---
## Storefront Development
- [Storefront development guides](!resources!/storefront-development)
---
## Commerce Modules
### Auth
- [Create a custom actor type](!resources!/commerce-modules/auth/create-actor-type)
- [Create auth provider module](!resources!/references/auth/provider)
### Cart
- [Retrieve tax lines of a cart](!resources!/commerce-modules/cart/tax-lines#retrieving-tax-lines)
- [Retrieve promotion actions of a cart](!resources!/commerce-modules/cart/promotions#promotion-actions)
### Fulfillment
- [Create fulfillment module provider](!resources!/recipes/digital-products/examples/standard#step-10-create-digital-product-fulfillment-module-provider)
### Order
- [Retrieve promotion actions of an order](!resources!/commerce-modules/order/promotion-adjustments#promotion-actions)
### Payment
- [Create payment module provider](!resources!/references/payment/provider)
### Product
- [Retrieve prices of product variants](!resources!/commerce-modules/product/guides/price)
- [Retrieve product variant prices with taxes](!resources!/commerce-modules/product/guides/price-with-taxes)
---
## Architectural Modules
### Cache
- [Create cache module](!resources!/architectural-modules/cache/create)
### Event
- [Create event module](!resources!/architectural-modules/event/create)
### File
- [Create file module provider](!resources!/references/file-provider-module)
### Notification
- [Create notification module provider](!resources!/references/notification-provider-module)
---
## Integrations
- [Send a notification with SendGrid](!resources!/architectural-modules/notification/sendgrid#test-out-the-module)
-1
View File
@@ -108,7 +108,6 @@ export const generatedEditDates = {
"app/customization/next-steps/page.mdx": "2024-09-12T10:50:04.873Z",
"app/customization/page.mdx": "2024-09-12T11:16:18.504Z",
"app/more-resources/cheatsheet/page.mdx": "2024-07-11T16:11:26.480Z",
"app/more-resources/examples/page.mdx": "2024-10-03T11:12:50.956Z",
"app/architecture/architectural-modules/page.mdx": "2024-09-23T12:51:04.520Z",
"app/architecture/overview/page.mdx": "2024-09-23T12:55:01.339Z",
"app/advanced-development/data-models/infer-type/page.mdx": "2024-09-30T08:43:53.123Z",
+8 -3
View File
@@ -167,13 +167,18 @@ const nextConfig = {
{
source: "/basics/modules-and-services",
destination: "/basics/modules",
permanent: true
permanent: true,
},
{
source: "/basics/data-models",
destination: "/basics/modules",
permanent: true
}
permanent: true,
},
{
source: "/more-resources/examples",
destination: "/resources/examples",
permanent: true,
},
]
},
}
@@ -1,4 +1,4 @@
import { ChildDocs } from "docs-ui"
import { CardList } from "docs-ui"
export const metadata = {
title: `Payment Module Provider`,
@@ -18,7 +18,15 @@ After the payment session is authorized, the payment provider is associated with
### List of Payment Module Providers
<ChildDocs type="item" />
<CardList
items={[
{
href: "/commerce-modules/payment/payment-provider/stripe",
title: "Stripe"
}
]}
/>
---
File diff suppressed because it is too large Load Diff
+25 -4
View File
@@ -1,4 +1,4 @@
import { ChildDocs } from "docs-ui"
import { CardList } from "docs-ui"
export const metadata = {
title: `Integrations`,
@@ -12,7 +12,14 @@ Find in this document Medusa's modules that integrate third-party services and s
Learn how to create a payment provider in [this guide](/references/payment/provider).
<ChildDocs showItems={["Payment"]} hideTitle />
<CardList
items={[
{
href: "/architectural-modules/file/s3",
title: "AWS S3 (and Compatible APIs)"
}
]}
/>
---
@@ -20,7 +27,14 @@ Learn how to create a payment provider in [this guide](/references/payment/provi
Learn how to create a notification provider in [this guide](/references/notification-provider-module).
<ChildDocs showItems={["Notification"]} hideTitle />
<CardList
items={[
{
href: "/architectural-modules/notification/sendgrid",
title: "SendGrid"
}
]}
/>
---
@@ -28,4 +42,11 @@ Learn how to create a notification provider in [this guide](/references/notifica
Learn how to create a file provider in [this guide](/references/file-provider-module).
<ChildDocs showItems={["File"]} hideTitle />
<CardList
items={[
{
href: "/commerce-modules/payment/payment-provider/stripe",
title: "Stripe"
}
]}
/>
+2 -1
View File
@@ -124,7 +124,7 @@ export const generatedEditDates = {
"app/deployment/medusa-application/railway/page.mdx": "2024-10-15T12:50:50.981Z",
"app/deployment/storefront/vercel/page.mdx": "2024-07-26T07:21:31+00:00",
"app/deployment/page.mdx": "2024-07-25T09:55:22+03:00",
"app/integrations/page.mdx": "2024-07-19T08:49:08+00:00",
"app/integrations/page.mdx": "2024-10-15T12:26:39.839Z",
"app/medusa-cli/page.mdx": "2024-08-28T11:25:32.382Z",
"app/medusa-container-resources/page.mdx": "2024-09-30T08:43:53.173Z",
"app/medusa-workflows-reference/page.mdx": "2024-09-30T08:43:53.174Z",
@@ -2295,5 +2295,6 @@ export const generatedEditDates = {
"references/fulfillment/interfaces/fulfillment.IFulfillmentModuleService/page.mdx": "2024-10-14T15:28:22.238Z",
"references/types/CommonTypes/interfaces/types.CommonTypes.RequestQueryFields/page.mdx": "2024-10-14T15:27:49.882Z",
"references/utils/utils.ProductUtils/page.mdx": "2024-10-14T15:27:51.874Z",
"app/examples/page.mdx": "2024-10-15T12:19:18.820Z",
"app/medusa-cli/commands/build/page.mdx": "2024-10-16T08:16:27.618Z"
}
@@ -591,6 +591,10 @@ export const filesMap = [
"filePath": "/www/apps/resources/app/events-reference/page.mdx",
"pathname": "/events-reference"
},
{
"filePath": "/www/apps/resources/app/examples/page.mdx",
"pathname": "/examples"
},
{
"filePath": "/www/apps/resources/app/integrations/page.mdx",
"pathname": "/integrations"
+160 -199
View File
@@ -7,6 +7,158 @@ export const generatedSidebar = [
"title": "Overview",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/examples",
"title": "Examples",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes",
"title": "Recipes",
"isChildSidebar": true,
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/marketplace",
"title": "Marketplace",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/marketplace/examples/vendors",
"title": "Example: Vendors",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/marketplace/examples/restaurant-delivery",
"title": "Example: Restaurant-Delivery",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/subscriptions",
"title": "Subscriptions",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/subscriptions/examples/standard",
"title": "Example",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/digital-products",
"title": "Digital Products",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/digital-products/examples/standard",
"title": "Example",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/b2b",
"title": "B2B",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/commerce-automation",
"title": "Commerce Automation",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/ecommerce",
"title": "Ecommerce",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/integrate-ecommerce-stack",
"title": "Integrate Ecommerce Stack",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/multi-region-store",
"title": "Multi-Region Store",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/omnichannel",
"title": "Omnichannel Store",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/oms",
"title": "OMS",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/personalized-products",
"title": "Personalized Products",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/pos",
"title": "POS",
"children": []
}
]
},
{
"type": "separator"
},
{
"loaded": true,
"isPathHref": true,
@@ -7581,205 +7733,6 @@ export const generatedSidebar = [
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/integrations",
"title": "Integrations",
"isChildSidebar": true,
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "File",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/architectural-modules/file/s3",
"title": "AWS S3 (and Compatible APIs)",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "Notification",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/architectural-modules/notification/sendgrid",
"title": "SendGrid",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "Payment",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/commerce-modules/payment/payment-provider/stripe",
"title": "Stripe",
"children": []
}
]
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes",
"title": "Recipes",
"isChildSidebar": true,
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/marketplace",
"title": "Marketplace",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/marketplace/examples/vendors",
"title": "Example: Vendors",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/marketplace/examples/restaurant-delivery",
"title": "Example: Restaurant-Delivery",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/subscriptions",
"title": "Subscriptions",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/subscriptions/examples/standard",
"title": "Example",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/digital-products",
"title": "Digital Products",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/digital-products/examples/standard",
"title": "Example",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/b2b",
"title": "B2B",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/commerce-automation",
"title": "Commerce Automation",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/ecommerce",
"title": "Ecommerce",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/integrate-ecommerce-stack",
"title": "Integrate Ecommerce Stack",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/multi-region-store",
"title": "Multi-Region Store",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/omnichannel",
"title": "Omnichannel Store",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/oms",
"title": "OMS",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/personalized-products",
"title": "Personalized Products",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/recipes/pos",
"title": "POS",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
@@ -8022,6 +7975,14 @@ export const generatedSidebar = [
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/integrations",
"title": "Integrations",
"children": []
},
{
"type": "separator"
},
+146 -177
View File
@@ -7,6 +7,108 @@ export const sidebar = sidebarAttachHrefCommonOptions([
path: "/",
title: "Overview",
},
{
type: "link",
path: "/examples",
title: "Examples",
},
{
type: "link",
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",
},
{
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",
@@ -1485,141 +1587,6 @@ export const sidebar = sidebarAttachHrefCommonOptions([
},
],
},
{
type: "link",
path: "/integrations",
title: "Integrations",
isChildSidebar: true,
children: [
{
type: "category",
title: "File",
children: [
{
type: "link",
path: "/architectural-modules/file/s3",
title: "AWS S3 (and Compatible APIs)",
},
],
},
{
type: "category",
title: "Notification",
children: [
{
type: "link",
path: "/architectural-modules/notification/sendgrid",
title: "SendGrid",
},
],
},
{
type: "category",
title: "Payment",
children: [
{
type: "link",
path: "/commerce-modules/payment/payment-provider/stripe",
title: "Stripe",
},
],
},
],
},
{
type: "link",
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",
},
{
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: "link",
path: "/architectural-modules",
@@ -1783,45 +1750,9 @@ export const sidebar = sidebarAttachHrefCommonOptions([
],
},
{
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: "/nextjs-starter",
title: "Next.js Starter",
},
],
type: "link",
path: "/integrations",
title: "Integrations",
},
{
type: "link",
@@ -2094,6 +2025,47 @@ export const sidebar = sidebarAttachHrefCommonOptions([
{
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: "/nextjs-starter",
title: "Next.js Starter",
},
],
},
{
type: "separator",
},
{
type: "category",
title: "General",
@@ -2233,9 +2205,6 @@ export const sidebar = sidebarAttachHrefCommonOptions([
},
],
},
{
type: "separator",
},
{
type: "category",
title: "Admin",
+8 -3
View File
@@ -37,19 +37,24 @@ export const navDropdownItems: NavigationItem[] = [
link: "/v2/resources",
useAsFallback: true,
},
{
type: "link",
title: "Examples",
link: "/v2/resources/examples",
},
{
type: "link",
title: "Recipes",
link: "/v2/resources/recipes",
},
{
type: "divider",
},
{
type: "link",
title: "UI Library",
link: "/ui",
},
{
type: "divider",
},
{
type: "link",
title: "Storefront Development",