diff --git a/app/monitor/page.tsx b/app/(admin)/monitor/page.tsx similarity index 100% rename from app/monitor/page.tsx rename to app/(admin)/monitor/page.tsx diff --git a/app/components-preview/page.tsx b/app/(dev)/components-preview/page.tsx similarity index 99% rename from app/components-preview/page.tsx rename to app/(dev)/components-preview/page.tsx index c02a602..f653013 100644 --- a/app/components-preview/page.tsx +++ b/app/(dev)/components-preview/page.tsx @@ -5,7 +5,7 @@ import RuleCard from "../components/cards/RuleCard"; import Chip from "../components/controls/Chip"; import MultiSelect from "../components/controls/MultiSelect"; import Image from "next/image"; -import { getAssetPath } from "../../lib/assetUtils"; +import { getAssetPath } from "../../../lib/assetUtils"; interface ChipData { id: string; diff --git a/app/blog/[slug]/page.tsx b/app/(marketing)/blog/[slug]/page.tsx similarity index 96% rename from app/blog/[slug]/page.tsx rename to app/(marketing)/blog/[slug]/page.tsx index a874791..bdd91e2 100644 --- a/app/blog/[slug]/page.tsx +++ b/app/(marketing)/blog/[slug]/page.tsx @@ -5,16 +5,16 @@ import { getBlogPostBySlug, getAllBlogPosts as getAllPosts, type BlogPost, -} from "../../../lib/content"; -import { logger } from "../../../lib/logger"; -import ContentBanner from "../../components/sections/ContentBanner"; -import AskOrganizer from "../../components/sections/AskOrganizer"; -import { getAssetPath, ASSETS } from "../../../lib/assetUtils"; +} from "../../../../lib/content"; +import { logger } from "../../../../lib/logger"; +import ContentBanner from "../../../components/sections/ContentBanner"; +import AskOrganizer from "../../../components/sections/AskOrganizer"; +import { getAssetPath, ASSETS } from "../../../../lib/assetUtils"; import "../blog.css"; // Code split RelatedArticles - blog-specific, below the fold const RelatedArticles = dynamic( - () => import("../../components/sections/RelatedArticles"), + () => import("../../../components/sections/RelatedArticles"), { loading: () => (
diff --git a/app/blog/blog.css b/app/(marketing)/blog/blog.css similarity index 100% rename from app/blog/blog.css rename to app/(marketing)/blog/blog.css diff --git a/app/blog/page.tsx b/app/(marketing)/blog/page.tsx similarity index 92% rename from app/blog/page.tsx rename to app/(marketing)/blog/page.tsx index 3062d03..62c0ad8 100644 --- a/app/blog/page.tsx +++ b/app/(marketing)/blog/page.tsx @@ -1,5 +1,5 @@ -import { getAllBlogPosts } from "../../lib/content"; -import ContentThumbnailTemplate from "../components/content/ContentThumbnailTemplate"; +import { getAllBlogPosts } from "../../../lib/content"; +import ContentThumbnailTemplate from "../../../components/content/ContentThumbnailTemplate"; import type { Metadata } from "next"; export const metadata: Metadata = { diff --git a/app/learn/page.tsx b/app/(marketing)/learn/page.tsx similarity index 87% rename from app/learn/page.tsx rename to app/(marketing)/learn/page.tsx index cd9b0cd..3ff84d3 100644 --- a/app/learn/page.tsx +++ b/app/(marketing)/learn/page.tsx @@ -1,9 +1,9 @@ -import messages from "../../messages/en/index"; -import { getTranslation } from "../../lib/i18n/getTranslation"; -import ContentThumbnailTemplate from "../components/content/ContentThumbnailTemplate"; -import ContentLockup from "../components/type/ContentLockup"; -import AskOrganizer from "../components/sections/AskOrganizer"; -import { getAllBlogPosts } from "../../lib/content"; +import messages from "../../../messages/en/index"; +import { getTranslation } from "../../../lib/i18n/getTranslation"; +import ContentThumbnailTemplate from "../../../components/content/ContentThumbnailTemplate"; +import ContentLockup from "../../../components/type/ContentLockup"; +import AskOrganizer from "../../../components/sections/AskOrganizer"; +import { getAllBlogPosts } from "../../../lib/content"; export default function LearnPage() { // Get real blog posts from the content system diff --git a/app/page.tsx b/app/(marketing)/page.tsx similarity index 78% rename from app/page.tsx rename to app/(marketing)/page.tsx index 99cae4d..525b6ef 100644 --- a/app/page.tsx +++ b/app/(marketing)/page.tsx @@ -1,39 +1,39 @@ import dynamic from "next/dynamic"; -import messages from "../messages/en/index"; -import { getTranslation } from "../lib/i18n/getTranslation"; -import HeroBanner from "./components/sections/HeroBanner"; -import AskOrganizer from "./components/sections/AskOrganizer"; +import messages from "../../messages/en/index"; +import { getTranslation } from "../../lib/i18n/getTranslation"; +import HeroBanner from "../components/sections/HeroBanner"; +import AskOrganizer from "../components/sections/AskOrganizer"; // Code split below-the-fold components to reduce initial bundle size -const LogoWall = dynamic(() => import("./components/sections/LogoWall"), { +const LogoWall = dynamic(() => import("../components/sections/LogoWall"), { loading: () => (
), ssr: true, }); -const NumberedCards = dynamic(() => import("./components/sections/NumberedCards"), { +const NumberedCards = dynamic(() => import("../components/sections/NumberedCards"), { loading: () => (
), ssr: true, }); -const RuleStack = dynamic(() => import("./components/sections/RuleStack"), { +const RuleStack = dynamic(() => import("../components/sections/RuleStack"), { loading: () => (
), ssr: true, }); -const FeatureGrid = dynamic(() => import("./components/sections/FeatureGrid"), { +const FeatureGrid = dynamic(() => import("../components/sections/FeatureGrid"), { loading: () => (
), ssr: true, }); -const QuoteBlock = dynamic(() => import("./components/sections/QuoteBlock"), { +const QuoteBlock = dynamic(() => import("../components/sections/QuoteBlock"), { loading: () => (
), diff --git a/tests/pages/blog.test.jsx b/tests/pages/blog.test.jsx index 5c0483d..bfd4e96 100644 --- a/tests/pages/blog.test.jsx +++ b/tests/pages/blog.test.jsx @@ -2,7 +2,7 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; import { screen, waitFor } from "@testing-library/react"; import { renderWithProviders as render } from "../utils/test-utils"; import React from "react"; -import BlogPostPage from "../../app/blog/[slug]/page"; +import BlogPostPage from "../../app/(marketing)/blog/[slug]/page"; // Mock Next.js components vi.mock("next/navigation", () => ({ diff --git a/tests/pages/home.test.jsx b/tests/pages/home.test.jsx index ea16e99..20fe9d1 100644 --- a/tests/pages/home.test.jsx +++ b/tests/pages/home.test.jsx @@ -4,7 +4,7 @@ import { screen, waitFor, } from "../utils/test-utils"; -import Page from "../../app/page"; +import Page from "../../app/(marketing)/page"; describe("Page", () => { test("renders all main sections", async () => { diff --git a/tests/pages/page-flow.test.jsx b/tests/pages/page-flow.test.jsx index 0dba94b..87c3334 100644 --- a/tests/pages/page-flow.test.jsx +++ b/tests/pages/page-flow.test.jsx @@ -7,7 +7,7 @@ import { import userEvent from "@testing-library/user-event"; import { vi, describe, test, expect, afterEach } from "vitest"; import React from "react"; -import Page from "../../app/page"; +import Page from "../../app/(marketing)/page"; // Mock next/dynamic to return components synchronously in tests vi.mock("next/dynamic", () => { diff --git a/tests/pages/user-journey.test.jsx b/tests/pages/user-journey.test.jsx index bb52c78..1a3840a 100644 --- a/tests/pages/user-journey.test.jsx +++ b/tests/pages/user-journey.test.jsx @@ -7,7 +7,7 @@ import { import userEvent from "@testing-library/user-event"; import { vi, describe, test, expect, afterEach } from "vitest"; import React from "react"; -import Page from "../../app/page"; +import Page from "../../app/(marketing)/page"; // Mock next/dynamic to return components synchronously in tests vi.mock("next/dynamic", () => {