diff --git a/www/apps/book/components/Homepage/LinksSection/index.tsx b/www/apps/book/components/Homepage/LinksSection/index.tsx index 4fc706b941..f68733edb5 100644 --- a/www/apps/book/components/Homepage/LinksSection/index.tsx +++ b/www/apps/book/components/Homepage/LinksSection/index.tsx @@ -11,8 +11,8 @@ const HomepageLinksSection = () => { text: "Create your first application", }, { - href: "/learn/customization/custom-features/module", - text: "Build a Module", + href: "https://docs.medusajs.com/cloud/sign-up", + text: "Deploy to Medusa Cloud", }, { href: "https://docs.medusajs.com/resources/integrations", diff --git a/www/apps/cloud/app/comparison/page.mdx b/www/apps/cloud/app/comparison/page.mdx index a60c75dadb..57677e66a2 100644 --- a/www/apps/cloud/app/comparison/page.mdx +++ b/www/apps/cloud/app/comparison/page.mdx @@ -98,7 +98,7 @@ However, before choosing self-hosting, it's important to understand the challeng Requires manual optimization and monitoring to ensure optimal performance. - Provides continuous performance monitoring and optimization. + Provides continuous performance monitoring and optimization, with built-in cacheing support. @@ -246,7 +246,7 @@ If not optimized correctly, your application may experience slow response times, ### Cloud: Continuous Performance Monitoring -Medusa provides continuous performance monitoring and optimization on **Cloud**. Medusa continuously monitors applications to identify performance bottlenecks and build tooling to resolve them. +Medusa provides continuous performance monitoring and optimization on **Cloud**. Medusa continuously monitors applications to identify performance bottlenecks and build tooling to resolve them. Medusa also provides a direct [cache](../cache/page.mdx) integration to [improve performance of business-critical APIs](../cache/page.mdx#performance-benchmark-comparisons). Cloud users benefit from these optimizations without any additional effort or configuration, ensuring their applications run smoothly and efficiently. diff --git a/www/apps/cloud/components/Pricing/FeatureSections/index.tsx b/www/apps/cloud/components/Pricing/FeatureSections/index.tsx index 227670f1f1..0f639aa552 100644 --- a/www/apps/cloud/components/Pricing/FeatureSections/index.tsx +++ b/www/apps/cloud/components/Pricing/FeatureSections/index.tsx @@ -16,6 +16,7 @@ import { Users, WIP, } from "@medusajs/icons" +import { config } from "../../../config" const P = MDXComponents.p @@ -26,29 +27,39 @@ interface FeatureSectionsProps { } const featureLinks: Record = { - Orders: "https://docs.medusajs.com/commerce-modules/order", - Products: "https://docs.medusajs.com/commerce-modules/product", - "Sales Channels": "https://docs.medusajs.com/commerce-modules/sales-channels", - "Regions & currencies": "https://docs.medusajs.com/commerce-modules/region", - "GitHub integration": - "https://docs.medusajs.com/cloud/projects#2-create-project-from-an-existing-application", - "Push-to-deploy flow": - "https://docs.medusajs.com/cloud/deployments#how-are-deployments-created", - Previews: "https://docs.medusajs.com/cloud/environments/preview", - "Auto configuration:": - "https://docs.medusajs.com/cloud/projects#prerequisite-medusa-application-configurations", - Postgres: "https://docs.medusajs.com/cloud/database", - Redis: "https://docs.medusajs.com/cloud/redis", - S3: "https://docs.medusajs.com/cloud/s3", - "Environment variables": - "https://docs.medusajs.com/cloud/environments/environment-variables", - "Data import/export": - "https://docs.medusajs.com/cloud/database#importexport-database-dumps", - Logs: "https://docs.medusajs.com/cloud/logs", - "Multiple Long-Lived Environments": - "https://docs.medusajs.com/cloud/environments/long-lived", - "Cloud seats": - "https://docs.medusajs.com/cloud/organizations#view-organization-members", + orders: "/resources/commerce-modules/order", + products: "/resources/commerce-modules/product", + "sales channels": "/resources/commerce-modules/sales-channels", + "regions & currencies": "/resources/commerce-modules/region", + "github integration": + "/cloud/projects#2-create-project-from-an-existing-application", + "push-to-deploy flow": "/cloud/deployments#how-are-deployments-created", + previews: "/cloud/environments/preview", + "auto configuration:": + "/cloud/projects#prerequisite-medusa-application-configurations", + postgres: "/cloud/database", + redis: "/cloud/redis", + s3: "/cloud/s3", + "environment variables": "/cloud/environments/environment-variables", + "data import/export": "/cloud/database#importexport-database-dumps", + logs: "/cloud/logs", + "multiple long-lived environments": "/cloud/environments/long-lived", + "long-lived environments (lle)": "/cloud/environments/long-lived", + "preview environments (pe)": "/cloud/environments/preview", + "cloud seats": "/cloud/organizations#view-organization-members", + "object storage": "/cloud/s3", + "database storage": "/cloud/database", + "key value store": "/cloud/redis", + "admin dashboard users": "/user-guide/settings/users", + "unlimited deployments": "/cloud/deployments", + "traffic load balancing": "/cloud/comparison#auto-scaling", + "log retention": "/cloud/logs", + "real-time 24/7 monitoring": "/cloud/comparison#high-availability", + "zero-downtime deployment": "/cloud/deployments", + backups: "/cloud/database#cloud-database-backups", + "performance tuning": "/cloud/comparison#performance", + "sla-backed uptime": "/cloud/comparison#high-availability", + support: "/cloud/comparison#support", } const featureIcons: Record = { @@ -72,9 +83,14 @@ const renderBlockContent = (blocks: Block[]) => { return block.children .map((child: Span | TooltipBlock) => { if (child._type === "span") { - const key = child.text.trim() + const key = child.text.trim().toLowerCase() return featureLinks[key] - ? "[" + child.text + "](" + featureLinks[key] + ")" + ? "[" + + child.text + + "](" + + config.baseUrl + + featureLinks[key] + + ")" : child.text } return "" diff --git a/www/apps/cloud/components/Pricing/HeroPricing/index.tsx b/www/apps/cloud/components/Pricing/HeroPricing/index.tsx index bfe45f85fd..86f671bd93 100644 --- a/www/apps/cloud/components/Pricing/HeroPricing/index.tsx +++ b/www/apps/cloud/components/Pricing/HeroPricing/index.tsx @@ -137,7 +137,7 @@ const HeroPricing: React.FC = ({ data }) => { "bg-medusa-bg-subtle rounded-br" )} > -
+
{option.buttons.map((button) => ( = ({ data }) => { variant={ button.variant === "primary" || button.variant === "dark" ? "primary" - : "secondary" + : button.variant === "transparent" + ? "transparent" + : "secondary" } - className="w-full txt-compact-xsmall-plus" + className={clsx( + "w-full txt-compact-xsmall-plus", + button.variant === "transparent" && + "text-medusa-fg-subtle" + )} > {button.link.label} diff --git a/www/apps/cloud/generated/edit-dates.mjs b/www/apps/cloud/generated/edit-dates.mjs index 729d0b370e..92ea44d443 100644 --- a/www/apps/cloud/generated/edit-dates.mjs +++ b/www/apps/cloud/generated/edit-dates.mjs @@ -22,7 +22,7 @@ export const generatedEditDates = { "app/billing/manage/page.mdx": "2025-10-08T14:40:23.629Z", "app/pricing/page.mdx": "2025-09-05T10:31:59.059Z", "app/sign-up/page.mdx": "2025-10-08T14:40:47.993Z", - "app/comparison/page.mdx": "2025-09-30T06:17:40.257Z", + "app/comparison/page.mdx": "2025-10-22T14:44:01.898Z", "app/billing/plans/page.mdx": "2025-10-08T14:49:27.009Z", "app/cache/page.mdx": "2025-10-21T14:27:54.005Z", "app/deployments/troubleshooting/page.mdx": "2025-10-17T14:44:22.894Z"