add integrations sidebar

This commit is contained in:
Shahed Nasser
2025-03-10 13:55:51 +02:00
parent e2d832ebc2
commit 46c9314f43
6 changed files with 273 additions and 217 deletions
+30 -4
View File
@@ -40,7 +40,7 @@ Learn how to integrate a custom third-party authentication provider in [this gui
## CMS
Integrate third-party CMS to utilize rich content-related features.
Integrate a third-party Content-Management System (CMS) to utilize rich content-related features.
<CardList
items={[
@@ -49,7 +49,7 @@ Integrate third-party CMS to utilize rich content-related features.
title: "Sanity",
badge: {
variant: "blue",
children: "Guide"
children: "Tutorial"
}
},
]}
@@ -58,6 +58,32 @@ Integrate third-party CMS to utilize rich content-related features.
---
## ERP
Integrate your business's Enterprise Resource Planning (ERP) system with Medusa to sync products and orders, restrict purchase with custom rules, and more.
<Note>
To learn about the general approach of integrating an ERP with Medusa and the different use cases you can implement, refer to the [ERP Recipe](../recipes/erp/page.mdx).
</Note>
<CardList
items={[
{
href: "/recipes/erp/odoo",
title: "Odoo",
badge: {
variant: "blue",
children: "Tutorial"
}
}
]}
className="mb-1"
/>
---
## File
A File Module Provider uploads and manages assets, such as product images, on a third-party service.
@@ -87,7 +113,7 @@ A Fulfillment Module Provider provides fulfillment options during checkout, calc
title: "ShipStation",
badge: {
variant: "blue",
children: "Guide"
children: "Tutorial"
}
}
]}
@@ -113,7 +139,7 @@ A Notification Module Provider sends messages to users and customers in your Med
title: "Resend",
badge: {
variant: "blue",
children: "Guide"
children: "Tutorial"
}
}
]}
@@ -0,0 +1,147 @@
const generatedgeneratedIntegrationsSidebarSidebar = {
"sidebar_id": "integrations",
"title": "Integrations",
"items": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/integrations",
"title": "Overview",
"children": []
},
{
"type": "separator"
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "Auth",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "ref",
"path": "/commerce-modules/auth/auth-providers/google",
"title": "Google",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "ref",
"path": "/commerce-modules/auth/auth-providers/github",
"title": "GitHub",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "CMS",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/integrations/guides/sanity",
"title": "Sanity",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "ERP",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "ref",
"path": "/recipes/erp/odoo",
"title": "Odoo",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "File",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "ref",
"path": "/architectural-modules/file/s3",
"title": "AWS",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "Fulfillment",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/integrations/guides/shipstation",
"title": "ShipStation",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "Notification",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/integrations/guides/resend",
"title": "Resend",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "ref",
"path": "/architectural-modules/notification/sendgrid",
"title": "SendGrid",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "Payment",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "ref",
"path": "/commerce-modules/payment/payment-provider/stripe",
"title": "Stripe",
"children": []
}
]
}
]
}
export default generatedgeneratedIntegrationsSidebarSidebar
@@ -17144,138 +17144,6 @@ const generatedgeneratedResourcesSidebarSidebar = {
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "sidebar",
"sidebar_id": "integrations",
"title": "Integrations",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/integrations",
"title": "Overview",
"children": []
},
{
"type": "separator"
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "Auth",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/commerce-modules/auth/auth-providers/google",
"title": "Google",
"children": []
},
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/commerce-modules/auth/auth-providers/github",
"title": "GitHub",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "CMS",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/integrations/guides/sanity",
"title": "Sanity",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "File",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/architectural-modules/file/s3",
"title": "AWS",
"children": []
}
]
},
{
"loaded": true,
"isPathHref": true,
"type": "category",
"title": "Fulfillment",
"children": [
{
"loaded": true,
"isPathHref": true,
"type": "link",
"path": "/integrations/guides/shipstation",
"title": "ShipStation",
"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": "link",
"path": "/integrations/guides/resend",
"title": "Resend",
"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,
+5 -1
View File
@@ -70,7 +70,6 @@ export const sidebar = [
],
},
...architecturalModulesSidebar,
...integrationsSidebar,
...pluginsSidebar,
...storefrontGuidesSidebar,
{
@@ -130,4 +129,9 @@ export const sidebar = [
title: "How-To & Tutorials",
items: howToTutorialsSidebar,
},
{
sidebar_id: "integrations",
title: "Integrations",
items: integrationsSidebar,
},
]
+84 -80
View File
@@ -1,93 +1,97 @@
/** @type {import('types').Sidebar.SidebarItem[]} */
export const integrationsSidebar = [
{
type: "sidebar",
sidebar_id: "integrations",
title: "Integrations",
type: "link",
path: "/integrations",
title: "Overview",
},
{
type: "separator",
},
{
type: "category",
title: "Auth",
children: [
{
type: "ref",
path: "/commerce-modules/auth/auth-providers/google",
title: "Google",
},
{
type: "ref",
path: "/commerce-modules/auth/auth-providers/github",
title: "GitHub",
},
],
},
{
type: "category",
title: "CMS",
children: [
{
type: "link",
path: "/integrations",
title: "Overview",
path: "/integrations/guides/sanity",
title: "Sanity",
},
],
},
{
type: "category",
title: "ERP",
children: [
{
type: "ref",
path: "/recipes/erp/odoo",
title: "Odoo",
},
],
},
{
type: "category",
title: "File",
children: [
{
type: "ref",
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: "/integrations/guides/resend",
title: "Resend",
},
{
type: "separator",
type: "ref",
path: "/architectural-modules/notification/sendgrid",
title: "SendGrid",
},
],
},
{
type: "category",
title: "Payment",
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: "ref",
path: "/commerce-modules/payment/payment-provider/stripe",
title: "Stripe",
},
],
},
@@ -29,6 +29,13 @@ const sidebarMappings: {
"/deployment",
],
},
{
module: async () =>
import("@/generated/generated-integrations-sidebar.mjs") as Promise<{
default: Sidebar.Sidebar
}>,
paths: ["/integrations"],
},
]
export async function getSidebarForPath(
currentPath: string