diff --git a/apps/sim/app/(landing)/components/not-found-view.tsx b/apps/sim/app/(landing)/components/not-found-view.tsx new file mode 100644 index 00000000000..69a0f2d6778 --- /dev/null +++ b/apps/sim/app/(landing)/components/not-found-view.tsx @@ -0,0 +1,40 @@ +import Link from 'next/link' +import { getNavBlogPosts } from '@/lib/blog/registry' +import AuthBackground from '@/app/(auth)/components/auth-background' +import { AUTH_PRIMARY_CTA_BASE } from '@/app/(auth)/components/auth-button-classes' +import Navbar from '@/app/(landing)/components/navbar/navbar' + +/** + * Shared 404 view used by every `not-found.tsx` under the landing surface. + * + * Rendered outside the route-group `(shell)` layout so it owns the full + * viewport (Navbar + AuthBackground decoration, no Footer), matching the + * root `/` 404 treatment. + */ +export default async function NotFoundView() { + const blogPosts = await getNavBlogPosts() + return ( + +
+
+ +
+
+
+

+ Page not found +

+

+ The page you're looking for doesn't exist or has been moved. +

+
+ + Return to Home + +
+
+
+
+
+ ) +} diff --git a/apps/sim/app/(landing)/integrations/[slug]/components/integration-cta-button.tsx b/apps/sim/app/(landing)/integrations/(shell)/[slug]/components/integration-cta-button.tsx similarity index 100% rename from apps/sim/app/(landing)/integrations/[slug]/components/integration-cta-button.tsx rename to apps/sim/app/(landing)/integrations/(shell)/[slug]/components/integration-cta-button.tsx diff --git a/apps/sim/app/(landing)/integrations/[slug]/components/integration-faq.tsx b/apps/sim/app/(landing)/integrations/(shell)/[slug]/components/integration-faq.tsx similarity index 100% rename from apps/sim/app/(landing)/integrations/[slug]/components/integration-faq.tsx rename to apps/sim/app/(landing)/integrations/(shell)/[slug]/components/integration-faq.tsx diff --git a/apps/sim/app/(landing)/integrations/[slug]/components/template-card-button.tsx b/apps/sim/app/(landing)/integrations/(shell)/[slug]/components/template-card-button.tsx similarity index 100% rename from apps/sim/app/(landing)/integrations/[slug]/components/template-card-button.tsx rename to apps/sim/app/(landing)/integrations/(shell)/[slug]/components/template-card-button.tsx diff --git a/apps/sim/app/(landing)/integrations/[slug]/loading.tsx b/apps/sim/app/(landing)/integrations/(shell)/[slug]/loading.tsx similarity index 100% rename from apps/sim/app/(landing)/integrations/[slug]/loading.tsx rename to apps/sim/app/(landing)/integrations/(shell)/[slug]/loading.tsx diff --git a/apps/sim/app/(landing)/integrations/[slug]/page.tsx b/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx similarity index 99% rename from apps/sim/app/(landing)/integrations/[slug]/page.tsx rename to apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx index 8915a643494..51a6dfa72fe 100644 --- a/apps/sim/app/(landing)/integrations/[slug]/page.tsx +++ b/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx @@ -3,9 +3,9 @@ import Image from 'next/image' import Link from 'next/link' import { notFound } from 'next/navigation' import { SITE_URL } from '@/lib/core/utils/urls' -import { IntegrationCtaButton } from '@/app/(landing)/integrations/[slug]/components/integration-cta-button' -import { IntegrationFAQ } from '@/app/(landing)/integrations/[slug]/components/integration-faq' -import { TemplateCardButton } from '@/app/(landing)/integrations/[slug]/components/template-card-button' +import { IntegrationCtaButton } from '@/app/(landing)/integrations/(shell)/[slug]/components/integration-cta-button' +import { IntegrationFAQ } from '@/app/(landing)/integrations/(shell)/[slug]/components/integration-faq' +import { TemplateCardButton } from '@/app/(landing)/integrations/(shell)/[slug]/components/template-card-button' import { IntegrationIcon } from '@/app/(landing)/integrations/components/integration-icon' import { blockTypeToIconMap } from '@/app/(landing)/integrations/data/icon-mapping' import integrations from '@/app/(landing)/integrations/data/integrations.json' diff --git a/apps/sim/app/(landing)/integrations/layout.tsx b/apps/sim/app/(landing)/integrations/(shell)/layout.tsx similarity index 100% rename from apps/sim/app/(landing)/integrations/layout.tsx rename to apps/sim/app/(landing)/integrations/(shell)/layout.tsx diff --git a/apps/sim/app/(landing)/integrations/page.tsx b/apps/sim/app/(landing)/integrations/(shell)/page.tsx similarity index 91% rename from apps/sim/app/(landing)/integrations/page.tsx rename to apps/sim/app/(landing)/integrations/(shell)/page.tsx index 3340ba7f271..14daefeeacd 100644 --- a/apps/sim/app/(landing)/integrations/page.tsx +++ b/apps/sim/app/(landing)/integrations/(shell)/page.tsx @@ -1,13 +1,13 @@ import type { Metadata } from 'next' import { Badge } from '@/components/emcn' import { SITE_URL } from '@/lib/core/utils/urls' -import { IntegrationCard } from './components/integration-card' -import { IntegrationGrid } from './components/integration-grid' -import { RequestIntegrationModal } from './components/request-integration-modal' -import { blockTypeToIconMap } from './data/icon-mapping' -import integrations from './data/integrations.json' -import { POPULAR_WORKFLOWS } from './data/popular-workflows' -import type { Integration } from './data/types' +import { IntegrationCard } from '@/app/(landing)/integrations/components/integration-card' +import { IntegrationGrid } from '@/app/(landing)/integrations/components/integration-grid' +import { RequestIntegrationModal } from '@/app/(landing)/integrations/components/request-integration-modal' +import { blockTypeToIconMap } from '@/app/(landing)/integrations/data/icon-mapping' +import integrations from '@/app/(landing)/integrations/data/integrations.json' +import { POPULAR_WORKFLOWS } from '@/app/(landing)/integrations/data/popular-workflows' +import type { Integration } from '@/app/(landing)/integrations/data/types' const allIntegrations = integrations as Integration[] const INTEGRATION_COUNT = allIntegrations.length diff --git a/apps/sim/app/(landing)/integrations/not-found.tsx b/apps/sim/app/(landing)/integrations/not-found.tsx index b4ca1ec9d64..549bf6aca0f 100644 --- a/apps/sim/app/(landing)/integrations/not-found.tsx +++ b/apps/sim/app/(landing)/integrations/not-found.tsx @@ -1,6 +1,5 @@ import type { Metadata } from 'next' -import Link from 'next/link' -import { AUTH_PRIMARY_CTA_BASE } from '@/app/(auth)/components/auth-button-classes' +import NotFoundView from '@/app/(landing)/components/not-found-view' export const metadata: Metadata = { title: 'Page Not Found', @@ -8,21 +7,5 @@ export const metadata: Metadata = { } export default function IntegrationsNotFound() { - return ( -
-
-

- Page not found -

-

- The page you're looking for doesn't exist or has been moved. -

-
- - Return to Home - -
-
-
- ) + return } diff --git a/apps/sim/app/(landing)/models/[provider]/[model]/loading.tsx b/apps/sim/app/(landing)/models/(shell)/[provider]/[model]/loading.tsx similarity index 100% rename from apps/sim/app/(landing)/models/[provider]/[model]/loading.tsx rename to apps/sim/app/(landing)/models/(shell)/[provider]/[model]/loading.tsx diff --git a/apps/sim/app/(landing)/models/[provider]/[model]/opengraph-image.tsx b/apps/sim/app/(landing)/models/(shell)/[provider]/[model]/opengraph-image.tsx similarity index 100% rename from apps/sim/app/(landing)/models/[provider]/[model]/opengraph-image.tsx rename to apps/sim/app/(landing)/models/(shell)/[provider]/[model]/opengraph-image.tsx diff --git a/apps/sim/app/(landing)/models/[provider]/[model]/page.tsx b/apps/sim/app/(landing)/models/(shell)/[provider]/[model]/page.tsx similarity index 100% rename from apps/sim/app/(landing)/models/[provider]/[model]/page.tsx rename to apps/sim/app/(landing)/models/(shell)/[provider]/[model]/page.tsx diff --git a/apps/sim/app/(landing)/models/[provider]/loading.tsx b/apps/sim/app/(landing)/models/(shell)/[provider]/loading.tsx similarity index 100% rename from apps/sim/app/(landing)/models/[provider]/loading.tsx rename to apps/sim/app/(landing)/models/(shell)/[provider]/loading.tsx diff --git a/apps/sim/app/(landing)/models/[provider]/opengraph-image.tsx b/apps/sim/app/(landing)/models/(shell)/[provider]/opengraph-image.tsx similarity index 100% rename from apps/sim/app/(landing)/models/[provider]/opengraph-image.tsx rename to apps/sim/app/(landing)/models/(shell)/[provider]/opengraph-image.tsx diff --git a/apps/sim/app/(landing)/models/[provider]/page.tsx b/apps/sim/app/(landing)/models/(shell)/[provider]/page.tsx similarity index 100% rename from apps/sim/app/(landing)/models/[provider]/page.tsx rename to apps/sim/app/(landing)/models/(shell)/[provider]/page.tsx diff --git a/apps/sim/app/(landing)/models/layout.tsx b/apps/sim/app/(landing)/models/(shell)/layout.tsx similarity index 100% rename from apps/sim/app/(landing)/models/layout.tsx rename to apps/sim/app/(landing)/models/(shell)/layout.tsx diff --git a/apps/sim/app/(landing)/models/opengraph-image.tsx b/apps/sim/app/(landing)/models/(shell)/opengraph-image.tsx similarity index 100% rename from apps/sim/app/(landing)/models/opengraph-image.tsx rename to apps/sim/app/(landing)/models/(shell)/opengraph-image.tsx diff --git a/apps/sim/app/(landing)/models/page.tsx b/apps/sim/app/(landing)/models/(shell)/page.tsx similarity index 100% rename from apps/sim/app/(landing)/models/page.tsx rename to apps/sim/app/(landing)/models/(shell)/page.tsx diff --git a/apps/sim/app/(landing)/models/not-found.tsx b/apps/sim/app/(landing)/models/not-found.tsx index 7db4e7cbfb8..e034fd58c67 100644 --- a/apps/sim/app/(landing)/models/not-found.tsx +++ b/apps/sim/app/(landing)/models/not-found.tsx @@ -1,6 +1,5 @@ import type { Metadata } from 'next' -import Link from 'next/link' -import { AUTH_PRIMARY_CTA_BASE } from '@/app/(auth)/components/auth-button-classes' +import NotFoundView from '@/app/(landing)/components/not-found-view' export const metadata: Metadata = { title: 'Page Not Found', @@ -8,21 +7,5 @@ export const metadata: Metadata = { } export default function ModelsNotFound() { - return ( -
-
-

- Page not found -

-

- The page you're looking for doesn't exist or has been moved. -

-
- - Return to Home - -
-
-
- ) + return } diff --git a/apps/sim/app/not-found.tsx b/apps/sim/app/not-found.tsx index 73b95cf2caf..74956afdaf1 100644 --- a/apps/sim/app/not-found.tsx +++ b/apps/sim/app/not-found.tsx @@ -1,39 +1,11 @@ import type { Metadata } from 'next' -import Link from 'next/link' -import { getNavBlogPosts } from '@/lib/blog/registry' -import AuthBackground from '@/app/(auth)/components/auth-background' -import { AUTH_PRIMARY_CTA_BASE } from '@/app/(auth)/components/auth-button-classes' -import Navbar from '@/app/(landing)/components/navbar/navbar' +import NotFoundView from '@/app/(landing)/components/not-found-view' export const metadata: Metadata = { title: 'Page Not Found', robots: { index: false, follow: true }, } -export default async function NotFound() { - const blogPosts = await getNavBlogPosts() - return ( - -
-
- -
-
-
-

- Page not found -

-

- The page you're looking for doesn't exist or has been moved. -

-
- - Return to Home - -
-
-
-
-
- ) +export default function NotFound() { + return }