From 68e1f171aa8c6ce2e38cb9a7d1463d6bcf357e91 Mon Sep 17 00:00:00 2001 From: shadcn Date: Tue, 7 Jul 2026 15:59:14 +0400 Subject: [PATCH] refactor(create): consolidate create code into a single route group (#11102) * refactor(create): consolidate create code into a single route group Move all create code from app/(app)/create and app/(create) into the nested route group app/(app)/(create), and the preview iframe pages into app/(view). URLs are unchanged: /create keeps the (app) chrome (and the header now persists across / <-> /create), /init keeps its root-level path for the CLI contract, and /preview stays chrome-less for the customizer iframe. Registry sources and published payloads are untouched: two temporary tsconfig path aliases map @/app/(create)/* and the legacy @/app/(app)/create/* onto the new location. App code imports the real path. Also inline parse-config and build-instructions into the create lib so the init routes are thin HTTP handlers, and remove the icon-placeholder and lib re-export shims. * fix --- .../components/accent-picker.tsx | 6 +-- .../components/action-menu.tsx | 2 +- .../components/base-color-picker.tsx | 6 +-- .../components/base-picker.tsx | 4 +- .../components/chart-color-picker.tsx | 6 +-- .../components/copy-preset.tsx | 2 +- .../components/create-devtools.tsx | 4 +- .../components/create-skeleton.tsx | 0 .../components/customizer.tsx | 38 +++++++++---------- .../components/design-system-provider.tsx | 6 +-- .../components/font-picker.tsx | 8 ++-- .../components/history-buttons.tsx | 2 +- .../components/icon-library-picker.tsx | 6 +-- .../components/icon-placeholder.tsx | 2 +- .../components/item-explorer.tsx | 4 +- .../components/lock-button.tsx | 2 +- .../components/main-menu.tsx | 14 +++---- .../components/menu-picker.tsx | 6 +-- .../components/mode-switcher.tsx | 2 +- .../components/open-preset.tsx | 6 +-- .../components/picker.tsx | 2 +- .../components/preset-handler.tsx | 2 +- .../components/preset-picker.tsx | 4 +- .../components/preview-style.tsx | 0 .../components/preview-switcher.tsx | 2 +- .../components/preview.tsx | 20 +++++----- .../components/project-form.tsx | 6 +-- .../components/radius-picker.tsx | 6 +-- .../components/random-button.tsx | 4 +- .../components/reset-button.tsx | 2 +- .../components/share-button.tsx | 4 +- .../components/style-picker.tsx | 6 +-- .../components/theme-picker.tsx | 6 +-- .../components/v0-button.tsx | 2 +- .../components/welcome-dialog.tsx | 0 .../(app)/{ => (create)}/create/layout.tsx | 6 +-- apps/v4/app/(app)/(create)/create/loading.tsx | 5 +++ .../app/(app)/{ => (create)}/create/page.tsx | 10 ++--- .../hooks/use-action-menu.ts | 4 +- .../hooks/use-design-system.ts | 4 +- .../hooks/use-history.tsx | 2 +- .../hooks/use-iframe-sync.tsx | 2 +- .../{create => (create)}/hooks/use-locks.tsx | 0 .../hooks/use-open-preset.tsx | 0 .../{create => (create)}/hooks/use-random.tsx | 12 +++--- .../{create => (create)}/hooks/use-reset.tsx | 2 +- .../hooks/use-theme-toggle.tsx | 0 .../app/{ => (app)}/(create)/init/md/route.ts | 5 +-- .../{ => (app)}/(create)/init/route.test.ts | 0 .../v4/app/{ => (app)}/(create)/init/route.ts | 4 +- .../app/{ => (app)}/(create)/init/v0/route.ts | 6 +-- .../app/(app)/{create => (create)}/lib/api.ts | 2 +- .../(create)/lib}/build-instructions.ts | 0 .../{create => (create)}/lib/constants.ts | 0 .../{create => (create)}/lib/devtools.ts | 0 .../(app)/{create => (create)}/lib/fonts.ts | 0 .../{create => (create)}/lib/merge-theme.ts | 0 .../(create)/lib}/parse-config.test.ts | 0 .../(create)/lib}/parse-config.ts | 2 +- .../lib/parse-preset-input.test.ts | 0 .../lib/parse-preset-input.ts | 0 .../{create => (create)}/lib/preset-code.ts | 0 .../lib/preset-query.test.ts | 0 .../{create => (create)}/lib/preset-query.ts | 0 .../lib/randomize-biases.ts | 0 .../lib/search-params.test.ts | 0 .../{create => (create)}/lib/search-params.ts | 6 +-- .../lib/shuffle-presets.ts | 0 .../{create => (create)}/lib/templates.ts | 0 .../(app)/{create => (create)}/lib/utils.ts | 0 .../(app)/{create => (create)}/lib/v0.test.ts | 2 +- .../app/(app)/{create => (create)}/lib/v0.ts | 0 apps/v4/app/(app)/create/loading.tsx | 5 --- .../(create)/components/icon-placeholder.tsx | 3 -- apps/v4/app/(create)/lib/fonts.ts | 1 - apps/v4/app/(create)/lib/search-params.ts | 1 - .../preview/[base]/[name]/page.tsx | 16 ++++---- .../preview/font-variables.tsx | 0 .../app/{(create) => (view)}/preview/fonts.ts | 0 .../{(create) => (view)}/preview/layout.tsx | 4 +- apps/v4/components/site-header.tsx | 4 +- apps/v4/tsconfig.json | 7 ++++ 82 files changed, 154 insertions(+), 153 deletions(-) rename apps/v4/app/(app)/{create => (create)}/components/accent-picker.tsx (94%) rename apps/v4/app/(app)/{create => (create)}/components/action-menu.tsx (96%) rename apps/v4/app/(app)/{create => (create)}/components/base-color-picker.tsx (92%) rename apps/v4/app/(app)/{create => (create)}/components/base-picker.tsx (94%) rename apps/v4/app/(app)/{create => (create)}/components/chart-color-picker.tsx (94%) rename apps/v4/app/(app)/{create => (create)}/components/copy-preset.tsx (94%) rename apps/v4/app/(app)/{create => (create)}/components/create-devtools.tsx (94%) rename apps/v4/app/(app)/{create => (create)}/components/create-skeleton.tsx (100%) rename apps/v4/app/(app)/{create => (create)}/components/customizer.tsx (73%) rename apps/v4/app/(app)/{create => (create)}/components/design-system-provider.tsx (97%) rename apps/v4/app/(app)/{create => (create)}/components/font-picker.tsx (95%) rename apps/v4/app/(app)/{create => (create)}/components/history-buttons.tsx (97%) rename apps/v4/app/(app)/{create => (create)}/components/icon-library-picker.tsx (96%) rename apps/v4/app/(app)/{create => (create)}/components/icon-placeholder.tsx (95%) rename apps/v4/app/(app)/{create => (create)}/components/item-explorer.tsx (96%) rename apps/v4/app/(app)/{create => (create)}/components/lock-button.tsx (96%) rename apps/v4/app/(app)/{create => (create)}/components/main-menu.tsx (85%) rename apps/v4/app/(app)/{create => (create)}/components/menu-picker.tsx (96%) rename apps/v4/app/(app)/{create => (create)}/components/mode-switcher.tsx (96%) rename apps/v4/app/(app)/{create => (create)}/components/open-preset.tsx (96%) rename apps/v4/app/(app)/{create => (create)}/components/picker.tsx (99%) rename apps/v4/app/(app)/{create => (create)}/components/preset-handler.tsx (90%) rename apps/v4/app/(app)/{create => (create)}/components/preset-picker.tsx (96%) rename apps/v4/app/(app)/{create => (create)}/components/preview-style.tsx (100%) rename apps/v4/app/(app)/{create => (create)}/components/preview-switcher.tsx (92%) rename apps/v4/app/(app)/{create => (create)}/components/preview.tsx (85%) rename apps/v4/app/(app)/{create => (create)}/components/project-form.tsx (99%) rename apps/v4/app/(app)/{create => (create)}/components/radius-picker.tsx (94%) rename apps/v4/app/(app)/{create => (create)}/components/random-button.tsx (93%) rename apps/v4/app/(app)/{create => (create)}/components/reset-button.tsx (93%) rename apps/v4/app/(app)/{create => (create)}/components/share-button.tsx (91%) rename apps/v4/app/(app)/{create => (create)}/components/style-picker.tsx (91%) rename apps/v4/app/(app)/{create => (create)}/components/theme-picker.tsx (94%) rename apps/v4/app/(app)/{create => (create)}/components/v0-button.tsx (94%) rename apps/v4/app/(app)/{create => (create)}/components/welcome-dialog.tsx (100%) rename apps/v4/app/(app)/{ => (create)}/create/layout.tsx (70%) create mode 100644 apps/v4/app/(app)/(create)/create/loading.tsx rename apps/v4/app/(app)/{ => (create)}/create/page.tsx (86%) rename apps/v4/app/(app)/{create => (create)}/hooks/use-action-menu.ts (95%) rename apps/v4/app/(app)/{create => (create)}/hooks/use-design-system.ts (57%) rename apps/v4/app/(app)/{create => (create)}/hooks/use-history.tsx (99%) rename apps/v4/app/(app)/{create => (create)}/hooks/use-iframe-sync.tsx (94%) rename apps/v4/app/(app)/{create => (create)}/hooks/use-locks.tsx (100%) rename apps/v4/app/(app)/{create => (create)}/hooks/use-open-preset.tsx (100%) rename apps/v4/app/(app)/{create => (create)}/hooks/use-random.tsx (95%) rename apps/v4/app/(app)/{create => (create)}/hooks/use-reset.tsx (97%) rename apps/v4/app/(app)/{create => (create)}/hooks/use-theme-toggle.tsx (100%) rename apps/v4/app/{ => (app)}/(create)/init/md/route.ts (81%) rename apps/v4/app/{ => (app)}/(create)/init/route.test.ts (100%) rename apps/v4/app/{ => (app)}/(create)/init/route.ts (92%) rename apps/v4/app/{ => (app)}/(create)/init/v0/route.ts (83%) rename apps/v4/app/(app)/{create => (create)}/lib/api.ts (97%) rename apps/v4/app/{(create)/init/md => (app)/(create)/lib}/build-instructions.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/constants.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/devtools.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/fonts.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/merge-theme.ts (100%) rename apps/v4/app/{(create)/init => (app)/(create)/lib}/parse-config.test.ts (100%) rename apps/v4/app/{(create)/init => (app)/(create)/lib}/parse-config.ts (96%) rename apps/v4/app/(app)/{create => (create)}/lib/parse-preset-input.test.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/parse-preset-input.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/preset-code.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/preset-query.test.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/preset-query.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/randomize-biases.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/search-params.test.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/search-params.ts (97%) rename apps/v4/app/(app)/{create => (create)}/lib/shuffle-presets.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/templates.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/utils.ts (100%) rename apps/v4/app/(app)/{create => (create)}/lib/v0.test.ts (98%) rename apps/v4/app/(app)/{create => (create)}/lib/v0.ts (100%) delete mode 100644 apps/v4/app/(app)/create/loading.tsx delete mode 100644 apps/v4/app/(create)/components/icon-placeholder.tsx delete mode 100644 apps/v4/app/(create)/lib/fonts.ts delete mode 100644 apps/v4/app/(create)/lib/search-params.ts rename apps/v4/app/{(create) => (view)}/preview/[base]/[name]/page.tsx (82%) rename apps/v4/app/{(create) => (view)}/preview/font-variables.tsx (100%) rename apps/v4/app/{(create) => (view)}/preview/fonts.ts (100%) rename apps/v4/app/{(create) => (view)}/preview/layout.tsx (62%) diff --git a/apps/v4/app/(app)/create/components/accent-picker.tsx b/apps/v4/app/(app)/(create)/components/accent-picker.tsx similarity index 94% rename from apps/v4/app/(app)/create/components/accent-picker.tsx rename to apps/v4/app/(app)/(create)/components/accent-picker.tsx index ba5cc3d45..125567c00 100644 --- a/apps/v4/app/(app)/create/components/accent-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/accent-picker.tsx @@ -1,7 +1,7 @@ "use client" import { MENU_ACCENTS, type MenuAccentValue } from "@/registry/config" -import { LockButton } from "@/app/(app)/create/components/lock-button" +import { LockButton } from "@/app/(app)/(create)/components/lock-button" import { Picker, PickerContent, @@ -9,8 +9,8 @@ import { PickerRadioGroup, PickerRadioItem, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/components/picker" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function MenuAccentPicker({ isMobile, diff --git a/apps/v4/app/(app)/create/components/action-menu.tsx b/apps/v4/app/(app)/(create)/components/action-menu.tsx similarity index 96% rename from apps/v4/app/(app)/create/components/action-menu.tsx rename to apps/v4/app/(app)/(create)/components/action-menu.tsx index 1b21088d4..1f5b0af06 100644 --- a/apps/v4/app/(app)/create/components/action-menu.tsx +++ b/apps/v4/app/(app)/(create)/components/action-menu.tsx @@ -12,7 +12,7 @@ import { CommandItem, CommandList, } from "@/styles/base-nova/ui/command" -import { useActionMenu } from "@/app/(app)/create/hooks/use-action-menu" +import { useActionMenu } from "@/app/(app)/(create)/hooks/use-action-menu" export const CMD_K_FORWARD_TYPE = "cmd-k-forward" diff --git a/apps/v4/app/(app)/create/components/base-color-picker.tsx b/apps/v4/app/(app)/(create)/components/base-color-picker.tsx similarity index 92% rename from apps/v4/app/(app)/create/components/base-color-picker.tsx rename to apps/v4/app/(app)/(create)/components/base-color-picker.tsx index 7dbf8cae8..cfff2290d 100644 --- a/apps/v4/app/(app)/create/components/base-color-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/base-color-picker.tsx @@ -4,7 +4,7 @@ import * as React from "react" import { useMounted } from "@/hooks/use-mounted" import { BASE_COLORS, type BaseColorName } from "@/registry/config" -import { LockButton } from "@/app/(app)/create/components/lock-button" +import { LockButton } from "@/app/(app)/(create)/components/lock-button" import { Picker, PickerContent, @@ -12,8 +12,8 @@ import { PickerRadioGroup, PickerRadioItem, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/components/picker" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function BaseColorPicker({ isMobile, diff --git a/apps/v4/app/(app)/create/components/base-picker.tsx b/apps/v4/app/(app)/(create)/components/base-picker.tsx similarity index 94% rename from apps/v4/app/(app)/create/components/base-picker.tsx rename to apps/v4/app/(app)/(create)/components/base-picker.tsx index 43f611b36..fb30e5e0b 100644 --- a/apps/v4/app/(app)/create/components/base-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/base-picker.tsx @@ -10,8 +10,8 @@ import { PickerRadioGroup, PickerRadioItem, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/components/picker" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function BasePicker({ isMobile, diff --git a/apps/v4/app/(app)/create/components/chart-color-picker.tsx b/apps/v4/app/(app)/(create)/components/chart-color-picker.tsx similarity index 94% rename from apps/v4/app/(app)/create/components/chart-color-picker.tsx rename to apps/v4/app/(app)/(create)/components/chart-color-picker.tsx index eed6b87ca..fa2889b1f 100644 --- a/apps/v4/app/(app)/create/components/chart-color-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/chart-color-picker.tsx @@ -8,7 +8,7 @@ import { getThemesForBaseColor, type ChartColorName, } from "@/registry/config" -import { LockButton } from "@/app/(app)/create/components/lock-button" +import { LockButton } from "@/app/(app)/(create)/components/lock-button" import { Picker, PickerContent, @@ -17,8 +17,8 @@ import { PickerRadioItem, PickerSeparator, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/components/picker" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function ChartColorPicker({ isMobile, diff --git a/apps/v4/app/(app)/create/components/copy-preset.tsx b/apps/v4/app/(app)/(create)/components/copy-preset.tsx similarity index 94% rename from apps/v4/app/(app)/create/components/copy-preset.tsx rename to apps/v4/app/(app)/(create)/components/copy-preset.tsx index 32aea91d8..db79b5a0a 100644 --- a/apps/v4/app/(app)/create/components/copy-preset.tsx +++ b/apps/v4/app/(app)/(create)/components/copy-preset.tsx @@ -5,7 +5,7 @@ import * as React from "react" import { cn } from "@/lib/utils" import { copyToClipboardWithMeta } from "@/components/copy-button" import { Button } from "@/styles/base-nova/ui/button" -import { usePresetCode } from "@/app/(app)/create/hooks/use-design-system" +import { usePresetCode } from "@/app/(app)/(create)/hooks/use-design-system" export function CopyPreset({ className }: React.ComponentProps) { const presetCode = usePresetCode() diff --git a/apps/v4/app/(app)/create/components/create-devtools.tsx b/apps/v4/app/(app)/(create)/components/create-devtools.tsx similarity index 94% rename from apps/v4/app/(app)/create/components/create-devtools.tsx rename to apps/v4/app/(app)/(create)/components/create-devtools.tsx index 1cb68aa89..90aff792a 100644 --- a/apps/v4/app/(app)/create/components/create-devtools.tsx +++ b/apps/v4/app/(app)/(create)/components/create-devtools.tsx @@ -4,11 +4,11 @@ import * as React from "react" import { BASES } from "@/registry/config" import { Button } from "@/registry/new-york-v4/ui/button" -import { getDocsPathForItem } from "@/app/(app)/create/lib/devtools" +import { getDocsPathForItem } from "@/app/(app)/(create)/lib/devtools" import { serializeDesignSystemSearchParams, useDesignSystemSearchParams, -} from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/lib/search-params" export function CreateDevtools() { const [params, setParams] = useDesignSystemSearchParams() diff --git a/apps/v4/app/(app)/create/components/create-skeleton.tsx b/apps/v4/app/(app)/(create)/components/create-skeleton.tsx similarity index 100% rename from apps/v4/app/(app)/create/components/create-skeleton.tsx rename to apps/v4/app/(app)/(create)/components/create-skeleton.tsx diff --git a/apps/v4/app/(app)/create/components/customizer.tsx b/apps/v4/app/(app)/(create)/components/customizer.tsx similarity index 73% rename from apps/v4/app/(app)/create/components/customizer.tsx rename to apps/v4/app/(app)/(create)/components/customizer.tsx index f6749e4c6..7f57f368c 100644 --- a/apps/v4/app/(app)/create/components/customizer.tsx +++ b/apps/v4/app/(app)/(create)/components/customizer.tsx @@ -14,31 +14,31 @@ import { CardHeader, } from "@/styles/base-nova/ui/card" import { FieldGroup, FieldSeparator } from "@/styles/base-nova/ui/field" -import { MenuAccentPicker } from "@/app/(app)/create/components/accent-picker" -import { ActionMenu } from "@/app/(app)/create/components/action-menu" -import { BaseColorPicker } from "@/app/(app)/create/components/base-color-picker" -import { BasePicker } from "@/app/(app)/create/components/base-picker" -import { ChartColorPicker } from "@/app/(app)/create/components/chart-color-picker" -import { CopyPreset } from "@/app/(app)/create/components/copy-preset" -import { FontPicker } from "@/app/(app)/create/components/font-picker" -import { IconLibraryPicker } from "@/app/(app)/create/components/icon-library-picker" -import { MainMenu } from "@/app/(app)/create/components/main-menu" -import { MenuColorPicker } from "@/app/(app)/create/components/menu-picker" -import { OpenPreset } from "@/app/(app)/create/components/open-preset" -import { RadiusPicker } from "@/app/(app)/create/components/radius-picker" -import { RandomButton } from "@/app/(app)/create/components/random-button" -import { ResetDialog } from "@/app/(app)/create/components/reset-button" -import { StylePicker } from "@/app/(app)/create/components/style-picker" -import { ThemePicker } from "@/app/(app)/create/components/theme-picker" -import { FONT_HEADING_OPTIONS, FONTS } from "@/app/(app)/create/lib/fonts" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +import { MenuAccentPicker } from "@/app/(app)/(create)/components/accent-picker" +import { ActionMenu } from "@/app/(app)/(create)/components/action-menu" +import { BaseColorPicker } from "@/app/(app)/(create)/components/base-color-picker" +import { BasePicker } from "@/app/(app)/(create)/components/base-picker" +import { ChartColorPicker } from "@/app/(app)/(create)/components/chart-color-picker" +import { CopyPreset } from "@/app/(app)/(create)/components/copy-preset" +import { FontPicker } from "@/app/(app)/(create)/components/font-picker" +import { IconLibraryPicker } from "@/app/(app)/(create)/components/icon-library-picker" +import { MainMenu } from "@/app/(app)/(create)/components/main-menu" +import { MenuColorPicker } from "@/app/(app)/(create)/components/menu-picker" +import { OpenPreset } from "@/app/(app)/(create)/components/open-preset" +import { RadiusPicker } from "@/app/(app)/(create)/components/radius-picker" +import { RandomButton } from "@/app/(app)/(create)/components/random-button" +import { ResetDialog } from "@/app/(app)/(create)/components/reset-button" +import { StylePicker } from "@/app/(app)/(create)/components/style-picker" +import { ThemePicker } from "@/app/(app)/(create)/components/theme-picker" +import { FONT_HEADING_OPTIONS, FONTS } from "@/app/(app)/(create)/lib/fonts" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" // Only visible when user clicks "Create Project". Rendered client-only to // avoid a useId hydration mismatch on the Base UI dialog trigger. The loading // placeholder mirrors the trigger button exactly so there is no layout shift. const ProjectForm = dynamic( () => - import("@/app/(app)/create/components/project-form").then( + import("@/app/(app)/(create)/components/project-form").then( (m) => m.ProjectForm ), { diff --git a/apps/v4/app/(app)/create/components/design-system-provider.tsx b/apps/v4/app/(app)/(create)/components/design-system-provider.tsx similarity index 97% rename from apps/v4/app/(app)/create/components/design-system-provider.tsx rename to apps/v4/app/(app)/(create)/components/design-system-provider.tsx index f6b5f67c4..c844e77a5 100644 --- a/apps/v4/app/(app)/create/components/design-system-provider.tsx +++ b/apps/v4/app/(app)/(create)/components/design-system-provider.tsx @@ -8,12 +8,12 @@ import { POINTER_CURSOR_SELECTOR, type DesignSystemConfig, } from "@/registry/config" -import { useIframeMessageListener } from "@/app/(app)/create/hooks/use-iframe-sync" -import { FONTS } from "@/app/(app)/create/lib/fonts" +import { useIframeMessageListener } from "@/app/(app)/(create)/hooks/use-iframe-sync" +import { FONTS } from "@/app/(app)/(create)/lib/fonts" import { useDesignSystemSearchParams, type DesignSystemSearchParams, -} from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/lib/search-params" const THEME_STYLE_ELEMENT_ID = "design-system-theme-vars" const MANAGED_BODY_CLASS_PREFIXES = ["style-", "base-color-"] as const diff --git a/apps/v4/app/(app)/create/components/font-picker.tsx b/apps/v4/app/(app)/(create)/components/font-picker.tsx similarity index 95% rename from apps/v4/app/(app)/create/components/font-picker.tsx rename to apps/v4/app/(app)/(create)/components/font-picker.tsx index 04a76e463..e043731c1 100644 --- a/apps/v4/app/(app)/create/components/font-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/font-picker.tsx @@ -2,7 +2,7 @@ import * as React from "react" -import { LockButton } from "@/app/(app)/create/components/lock-button" +import { LockButton } from "@/app/(app)/(create)/components/lock-button" import { Picker, PickerContent, @@ -12,12 +12,12 @@ import { PickerRadioItem, PickerSeparator, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { FONTS } from "@/app/(app)/create/lib/fonts" +} from "@/app/(app)/(create)/components/picker" +import { FONTS } from "@/app/(app)/(create)/lib/fonts" import { useDesignSystemSearchParams, type DesignSystemSearchParams, -} from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/lib/search-params" type FontPickerOption = { name: string diff --git a/apps/v4/app/(app)/create/components/history-buttons.tsx b/apps/v4/app/(app)/(create)/components/history-buttons.tsx similarity index 97% rename from apps/v4/app/(app)/create/components/history-buttons.tsx rename to apps/v4/app/(app)/(create)/components/history-buttons.tsx index 83f053ceb..5e857ecfe 100644 --- a/apps/v4/app/(app)/create/components/history-buttons.tsx +++ b/apps/v4/app/(app)/(create)/components/history-buttons.tsx @@ -5,7 +5,7 @@ import { Redo02Icon, Undo02Icon } from "@hugeicons/core-free-icons" import { HugeiconsIcon } from "@hugeicons/react" import { Button } from "@/styles/base-nova/ui/button" -import { useHistory } from "@/app/(app)/create/hooks/use-history" +import { useHistory } from "@/app/(app)/(create)/hooks/use-history" export const UNDO_FORWARD_TYPE = "undo-forward" export const REDO_FORWARD_TYPE = "redo-forward" diff --git a/apps/v4/app/(app)/create/components/icon-library-picker.tsx b/apps/v4/app/(app)/(create)/components/icon-library-picker.tsx similarity index 96% rename from apps/v4/app/(app)/create/components/icon-library-picker.tsx rename to apps/v4/app/(app)/(create)/components/icon-library-picker.tsx index f3a0c4c6e..0ba293841 100644 --- a/apps/v4/app/(app)/create/components/icon-library-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/icon-library-picker.tsx @@ -3,7 +3,7 @@ import * as React from "react" import { iconLibraries, type IconLibraryName } from "@/registry/config" -import { LockButton } from "@/app/(app)/create/components/lock-button" +import { LockButton } from "@/app/(app)/(create)/components/lock-button" import { Picker, PickerContent, @@ -11,8 +11,8 @@ import { PickerRadioGroup, PickerRadioItem, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/components/picker" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" const logos = { lucide: ( diff --git a/apps/v4/app/(app)/create/components/icon-placeholder.tsx b/apps/v4/app/(app)/(create)/components/icon-placeholder.tsx similarity index 95% rename from apps/v4/app/(app)/create/components/icon-placeholder.tsx rename to apps/v4/app/(app)/(create)/components/icon-placeholder.tsx index a7f100648..a383c7ac1 100644 --- a/apps/v4/app/(app)/create/components/icon-placeholder.tsx +++ b/apps/v4/app/(app)/(create)/components/icon-placeholder.tsx @@ -4,7 +4,7 @@ import { lazy, Suspense } from "react" import { SquareIcon } from "lucide-react" import type { IconLibraryName } from "shadcn/icons" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" const IconLucide = lazy(() => import("@/registry/icons/icon-lucide").then((mod) => ({ diff --git a/apps/v4/app/(app)/create/components/item-explorer.tsx b/apps/v4/app/(app)/(create)/components/item-explorer.tsx similarity index 96% rename from apps/v4/app/(app)/create/components/item-explorer.tsx rename to apps/v4/app/(app)/(create)/components/item-explorer.tsx index dc5a46af3..04663c9af 100644 --- a/apps/v4/app/(app)/create/components/item-explorer.tsx +++ b/apps/v4/app/(app)/(create)/components/item-explorer.tsx @@ -21,8 +21,8 @@ import { SidebarMenuButton, SidebarMenuItem, } from "@/styles/base-nova/ui/sidebar" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" -import { groupItemsByType } from "@/app/(app)/create/lib/utils" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" +import { groupItemsByType } from "@/app/(app)/(create)/lib/utils" const cachedGroupedItems = React.cache( (items: Pick[]) => { diff --git a/apps/v4/app/(app)/create/components/lock-button.tsx b/apps/v4/app/(app)/(create)/components/lock-button.tsx similarity index 96% rename from apps/v4/app/(app)/create/components/lock-button.tsx rename to apps/v4/app/(app)/(create)/components/lock-button.tsx index 067804d58..d3abdbd44 100644 --- a/apps/v4/app/(app)/create/components/lock-button.tsx +++ b/apps/v4/app/(app)/(create)/components/lock-button.tsx @@ -10,7 +10,7 @@ import { cn } from "@/lib/utils" import { useLocks, type LockableParam, -} from "@/app/(app)/create/hooks/use-locks" +} from "@/app/(app)/(create)/hooks/use-locks" export function LockButton({ param, diff --git a/apps/v4/app/(app)/create/components/main-menu.tsx b/apps/v4/app/(app)/(create)/components/main-menu.tsx similarity index 85% rename from apps/v4/app/(app)/create/components/main-menu.tsx rename to apps/v4/app/(app)/(create)/components/main-menu.tsx index b16b6a913..15e1084a0 100644 --- a/apps/v4/app/(app)/create/components/main-menu.tsx +++ b/apps/v4/app/(app)/(create)/components/main-menu.tsx @@ -14,13 +14,13 @@ import { PickerSeparator, PickerShortcut, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useActionMenuTrigger } from "@/app/(app)/create/hooks/use-action-menu" -import { useHistory } from "@/app/(app)/create/hooks/use-history" -import { useOpenPresetTrigger } from "@/app/(app)/create/hooks/use-open-preset" -import { useRandom } from "@/app/(app)/create/hooks/use-random" -import { useReset } from "@/app/(app)/create/hooks/use-reset" -import { useThemeToggle } from "@/app/(app)/create/hooks/use-theme-toggle" +} from "@/app/(app)/(create)/components/picker" +import { useActionMenuTrigger } from "@/app/(app)/(create)/hooks/use-action-menu" +import { useHistory } from "@/app/(app)/(create)/hooks/use-history" +import { useOpenPresetTrigger } from "@/app/(app)/(create)/hooks/use-open-preset" +import { useRandom } from "@/app/(app)/(create)/hooks/use-random" +import { useReset } from "@/app/(app)/(create)/hooks/use-reset" +import { useThemeToggle } from "@/app/(app)/(create)/hooks/use-theme-toggle" const APPLE_PLATFORM_REGEX = /Mac|iPhone|iPad|iPod/ diff --git a/apps/v4/app/(app)/create/components/menu-picker.tsx b/apps/v4/app/(app)/(create)/components/menu-picker.tsx similarity index 96% rename from apps/v4/app/(app)/create/components/menu-picker.tsx rename to apps/v4/app/(app)/(create)/components/menu-picker.tsx index be9e692ce..aecaa28b4 100644 --- a/apps/v4/app/(app)/create/components/menu-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/menu-picker.tsx @@ -7,7 +7,7 @@ import { useTheme } from "next-themes" import { useMounted } from "@/hooks/use-mounted" import { type MenuColorValue } from "@/registry/config" -import { LockButton } from "@/app/(app)/create/components/lock-button" +import { LockButton } from "@/app/(app)/(create)/components/lock-button" import { Picker, PickerContent, @@ -17,11 +17,11 @@ import { PickerRadioItem, PickerSeparator, PickerTrigger, -} from "@/app/(app)/create/components/picker" +} from "@/app/(app)/(create)/components/picker" import { isTranslucentMenuColor, useDesignSystemSearchParams, -} from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/lib/search-params" type ColorChoice = "default" | "inverted" type SurfaceChoice = "solid" | "translucent" diff --git a/apps/v4/app/(app)/create/components/mode-switcher.tsx b/apps/v4/app/(app)/(create)/components/mode-switcher.tsx similarity index 96% rename from apps/v4/app/(app)/create/components/mode-switcher.tsx rename to apps/v4/app/(app)/(create)/components/mode-switcher.tsx index 6cd8b4d94..fa8cdc9a5 100644 --- a/apps/v4/app/(app)/create/components/mode-switcher.tsx +++ b/apps/v4/app/(app)/(create)/components/mode-switcher.tsx @@ -5,7 +5,7 @@ import Script from "next/script" import { cn } from "@/lib/utils" import { Button } from "@/styles/base-nova/ui/button" -import { useThemeToggle } from "@/app/(app)/create/hooks/use-theme-toggle" +import { useThemeToggle } from "@/app/(app)/(create)/hooks/use-theme-toggle" export const DARK_MODE_FORWARD_TYPE = "dark-mode-forward" diff --git a/apps/v4/app/(app)/create/components/open-preset.tsx b/apps/v4/app/(app)/(create)/components/open-preset.tsx similarity index 96% rename from apps/v4/app/(app)/create/components/open-preset.tsx rename to apps/v4/app/(app)/(create)/components/open-preset.tsx index e6c53c124..8d8fa8ccf 100644 --- a/apps/v4/app/(app)/create/components/open-preset.tsx +++ b/apps/v4/app/(app)/(create)/components/open-preset.tsx @@ -31,9 +31,9 @@ import { Input } from "@/styles/base-nova/ui/input" import { OPEN_PRESET_FORWARD_TYPE, useOpenPreset, -} from "@/app/(app)/create/hooks/use-open-preset" -import { parsePresetInput } from "@/app/(app)/create/lib/parse-preset-input" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/hooks/use-open-preset" +import { parsePresetInput } from "@/app/(app)/(create)/lib/parse-preset-input" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" const PRESET_EXAMPLE = "b2D0wqNxT" const PRESET_TITLE = "Open Preset" diff --git a/apps/v4/app/(app)/create/components/picker.tsx b/apps/v4/app/(app)/(create)/components/picker.tsx similarity index 99% rename from apps/v4/app/(app)/create/components/picker.tsx rename to apps/v4/app/(app)/(create)/components/picker.tsx index 44b647d85..f744c08c7 100644 --- a/apps/v4/app/(app)/create/components/picker.tsx +++ b/apps/v4/app/(app)/(create)/components/picker.tsx @@ -4,7 +4,7 @@ import * as React from "react" import { Menu as MenuPrimitive } from "@base-ui/react/menu" import { cn } from "@/registry/bases/base/lib/utils" -import { IconPlaceholder } from "@/app/(app)/create/components/icon-placeholder" +import { IconPlaceholder } from "@/app/(app)/(create)/components/icon-placeholder" function Picker({ ...props }: MenuPrimitive.Root.Props) { return diff --git a/apps/v4/app/(app)/create/components/preset-handler.tsx b/apps/v4/app/(app)/(create)/components/preset-handler.tsx similarity index 90% rename from apps/v4/app/(app)/create/components/preset-handler.tsx rename to apps/v4/app/(app)/(create)/components/preset-handler.tsx index 999015ae7..802c1e221 100644 --- a/apps/v4/app/(app)/create/components/preset-handler.tsx +++ b/apps/v4/app/(app)/(create)/components/preset-handler.tsx @@ -4,7 +4,7 @@ import * as React from "react" import { useRouter } from "next/navigation" import { generateRandomPreset, isPresetCode } from "shadcn/preset" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function PresetHandler() { const router = useRouter() diff --git a/apps/v4/app/(app)/create/components/preset-picker.tsx b/apps/v4/app/(app)/(create)/components/preset-picker.tsx similarity index 96% rename from apps/v4/app/(app)/create/components/preset-picker.tsx rename to apps/v4/app/(app)/(create)/components/preset-picker.tsx index 4d3faa0c3..007e9086b 100644 --- a/apps/v4/app/(app)/create/components/preset-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/preset-picker.tsx @@ -10,8 +10,8 @@ import { PickerRadioGroup, PickerRadioItem, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/components/picker" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function PresetPicker({ presets, diff --git a/apps/v4/app/(app)/create/components/preview-style.tsx b/apps/v4/app/(app)/(create)/components/preview-style.tsx similarity index 100% rename from apps/v4/app/(app)/create/components/preview-style.tsx rename to apps/v4/app/(app)/(create)/components/preview-style.tsx diff --git a/apps/v4/app/(app)/create/components/preview-switcher.tsx b/apps/v4/app/(app)/(create)/components/preview-switcher.tsx similarity index 92% rename from apps/v4/app/(app)/create/components/preview-switcher.tsx rename to apps/v4/app/(app)/(create)/components/preview-switcher.tsx index 1daf93378..28669cb9f 100644 --- a/apps/v4/app/(app)/create/components/preview-switcher.tsx +++ b/apps/v4/app/(app)/(create)/components/preview-switcher.tsx @@ -1,7 +1,7 @@ "use client" import { Button } from "@/registry/new-york-v4/ui/button" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" const PREVIEW_ITEMS = [ { label: "01", value: "preview-02" }, diff --git a/apps/v4/app/(app)/create/components/preview.tsx b/apps/v4/app/(app)/(create)/components/preview.tsx similarity index 85% rename from apps/v4/app/(app)/create/components/preview.tsx rename to apps/v4/app/(app)/(create)/components/preview.tsx index 073bd7b5f..d867aa38c 100644 --- a/apps/v4/app/(app)/create/components/preview.tsx +++ b/apps/v4/app/(app)/(create)/components/preview.tsx @@ -2,22 +2,22 @@ import * as React from "react" -import { CMD_K_FORWARD_TYPE } from "@/app/(app)/create/components/action-menu" -import { CreateDevtools } from "@/app/(app)/create/components/create-devtools" +import { CMD_K_FORWARD_TYPE } from "@/app/(app)/(create)/components/action-menu" +import { CreateDevtools } from "@/app/(app)/(create)/components/create-devtools" import { REDO_FORWARD_TYPE, UNDO_FORWARD_TYPE, -} from "@/app/(app)/create/components/history-buttons" -import { DARK_MODE_FORWARD_TYPE } from "@/app/(app)/create/components/mode-switcher" -import { PreviewSwitcher } from "@/app/(app)/create/components/preview-switcher" -import { RANDOMIZE_FORWARD_TYPE } from "@/app/(app)/create/components/random-button" -import { sendToIframe } from "@/app/(app)/create/hooks/use-iframe-sync" -import { OPEN_PRESET_FORWARD_TYPE } from "@/app/(app)/create/hooks/use-open-preset" -import { RESET_FORWARD_TYPE } from "@/app/(app)/create/hooks/use-reset" +} from "@/app/(app)/(create)/components/history-buttons" +import { DARK_MODE_FORWARD_TYPE } from "@/app/(app)/(create)/components/mode-switcher" +import { PreviewSwitcher } from "@/app/(app)/(create)/components/preview-switcher" +import { RANDOMIZE_FORWARD_TYPE } from "@/app/(app)/(create)/components/random-button" +import { sendToIframe } from "@/app/(app)/(create)/hooks/use-iframe-sync" +import { OPEN_PRESET_FORWARD_TYPE } from "@/app/(app)/(create)/hooks/use-open-preset" +import { RESET_FORWARD_TYPE } from "@/app/(app)/(create)/hooks/use-reset" import { serializeDesignSystemSearchParams, useDesignSystemSearchParams, -} from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/lib/search-params" // Hoisted — avoids recreating on every message event. (js-hoist-regexp) const MAC_REGEX = /Mac|iPhone|iPad|iPod/ diff --git a/apps/v4/app/(app)/create/components/project-form.tsx b/apps/v4/app/(app)/(create)/components/project-form.tsx similarity index 99% rename from apps/v4/app/(app)/create/components/project-form.tsx rename to apps/v4/app/(app)/(create)/components/project-form.tsx index e4f318e56..c63723efc 100644 --- a/apps/v4/app/(app)/create/components/project-form.tsx +++ b/apps/v4/app/(app)/(create)/components/project-form.tsx @@ -50,17 +50,17 @@ import { ToggleGroup, ToggleGroupItem, } from "@/styles/base-nova/ui/toggle-group" -import { usePresetCode } from "@/app/(app)/create/hooks/use-design-system" +import { usePresetCode } from "@/app/(app)/(create)/hooks/use-design-system" import { useDesignSystemSearchParams, type DesignSystemSearchParams, -} from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/lib/search-params" import { getFramework, getTemplateValue, NO_MONOREPO_FRAMEWORKS, TEMPLATES, -} from "@/app/(app)/create/lib/templates" +} from "@/app/(app)/(create)/lib/templates" const TURBOREPO_LOGO = 'Turborepo' diff --git a/apps/v4/app/(app)/create/components/radius-picker.tsx b/apps/v4/app/(app)/(create)/components/radius-picker.tsx similarity index 94% rename from apps/v4/app/(app)/create/components/radius-picker.tsx rename to apps/v4/app/(app)/(create)/components/radius-picker.tsx index a56eec768..8348a2f3d 100644 --- a/apps/v4/app/(app)/create/components/radius-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/radius-picker.tsx @@ -3,7 +3,7 @@ import * as React from "react" import { RADII, type RadiusValue } from "@/registry/config" -import { LockButton } from "@/app/(app)/create/components/lock-button" +import { LockButton } from "@/app/(app)/(create)/components/lock-button" import { Picker, PickerContent, @@ -12,8 +12,8 @@ import { PickerRadioItem, PickerSeparator, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/components/picker" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function RadiusPicker({ isMobile, diff --git a/apps/v4/app/(app)/create/components/random-button.tsx b/apps/v4/app/(app)/(create)/components/random-button.tsx similarity index 93% rename from apps/v4/app/(app)/create/components/random-button.tsx rename to apps/v4/app/(app)/(create)/components/random-button.tsx index 43bd32234..c85e93b04 100644 --- a/apps/v4/app/(app)/create/components/random-button.tsx +++ b/apps/v4/app/(app)/(create)/components/random-button.tsx @@ -6,8 +6,8 @@ import { HugeiconsIcon } from "@hugeicons/react" import { cn } from "@/lib/utils" import { Button } from "@/styles/base-nova/ui/button" -import { useRandom } from "@/app/(app)/create/hooks/use-random" -import { RESET_FORWARD_TYPE } from "@/app/(app)/create/hooks/use-reset" +import { useRandom } from "@/app/(app)/(create)/hooks/use-random" +import { RESET_FORWARD_TYPE } from "@/app/(app)/(create)/hooks/use-reset" export const RANDOMIZE_FORWARD_TYPE = "randomize-forward" diff --git a/apps/v4/app/(app)/create/components/reset-button.tsx b/apps/v4/app/(app)/(create)/components/reset-button.tsx similarity index 93% rename from apps/v4/app/(app)/create/components/reset-button.tsx rename to apps/v4/app/(app)/(create)/components/reset-button.tsx index 99ff122a8..2efed42fb 100644 --- a/apps/v4/app/(app)/create/components/reset-button.tsx +++ b/apps/v4/app/(app)/(create)/components/reset-button.tsx @@ -10,7 +10,7 @@ import { AlertDialogHeader, AlertDialogTitle, } from "@/styles/base-nova/ui/alert-dialog" -import { useReset } from "@/app/(app)/create/hooks/use-reset" +import { useReset } from "@/app/(app)/(create)/hooks/use-reset" export function ResetDialog() { const { showResetDialog, setShowResetDialog, confirmReset } = useReset() diff --git a/apps/v4/app/(app)/create/components/share-button.tsx b/apps/v4/app/(app)/(create)/components/share-button.tsx similarity index 91% rename from apps/v4/app/(app)/create/components/share-button.tsx rename to apps/v4/app/(app)/(create)/components/share-button.tsx index 6333ef85b..50f8e66f1 100644 --- a/apps/v4/app/(app)/create/components/share-button.tsx +++ b/apps/v4/app/(app)/(create)/components/share-button.tsx @@ -6,8 +6,8 @@ import { HugeiconsIcon } from "@hugeicons/react" import { copyToClipboardWithMeta } from "@/components/copy-button" import { Button } from "@/styles/base-nova/ui/button" -import { usePresetCode } from "@/app/(app)/create/hooks/use-design-system" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +import { usePresetCode } from "@/app/(app)/(create)/hooks/use-design-system" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function ShareButton() { const [params] = useDesignSystemSearchParams() diff --git a/apps/v4/app/(app)/create/components/style-picker.tsx b/apps/v4/app/(app)/(create)/components/style-picker.tsx similarity index 91% rename from apps/v4/app/(app)/create/components/style-picker.tsx rename to apps/v4/app/(app)/(create)/components/style-picker.tsx index 5d2dc2f97..ae03347bf 100644 --- a/apps/v4/app/(app)/create/components/style-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/style-picker.tsx @@ -3,7 +3,7 @@ import * as React from "react" import { type Style, type StyleName } from "@/registry/config" -import { LockButton } from "@/app/(app)/create/components/lock-button" +import { LockButton } from "@/app/(app)/(create)/components/lock-button" import { Picker, PickerContent, @@ -11,8 +11,8 @@ import { PickerRadioGroup, PickerRadioItem, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/components/picker" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function StylePicker({ styles, diff --git a/apps/v4/app/(app)/create/components/theme-picker.tsx b/apps/v4/app/(app)/(create)/components/theme-picker.tsx similarity index 94% rename from apps/v4/app/(app)/create/components/theme-picker.tsx rename to apps/v4/app/(app)/(create)/components/theme-picker.tsx index c18b77f61..094774949 100644 --- a/apps/v4/app/(app)/create/components/theme-picker.tsx +++ b/apps/v4/app/(app)/(create)/components/theme-picker.tsx @@ -4,7 +4,7 @@ import * as React from "react" import { useMounted } from "@/hooks/use-mounted" import { BASE_COLORS, type Theme, type ThemeName } from "@/registry/config" -import { LockButton } from "@/app/(app)/create/components/lock-button" +import { LockButton } from "@/app/(app)/(create)/components/lock-button" import { Picker, PickerContent, @@ -13,8 +13,8 @@ import { PickerRadioItem, PickerSeparator, PickerTrigger, -} from "@/app/(app)/create/components/picker" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/components/picker" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function ThemePicker({ themes, diff --git a/apps/v4/app/(app)/create/components/v0-button.tsx b/apps/v4/app/(app)/(create)/components/v0-button.tsx similarity index 94% rename from apps/v4/app/(app)/create/components/v0-button.tsx rename to apps/v4/app/(app)/(create)/components/v0-button.tsx index eaff8b17b..602d8b616 100644 --- a/apps/v4/app/(app)/create/components/v0-button.tsx +++ b/apps/v4/app/(app)/(create)/components/v0-button.tsx @@ -8,7 +8,7 @@ import { useMounted } from "@/hooks/use-mounted" import { Icons } from "@/components/icons" import { Button } from "@/styles/base-nova/ui/button" import { Skeleton } from "@/styles/base-nova/ui/skeleton" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" export function V0Button({ className }: { className?: string }) { const [params] = useDesignSystemSearchParams() diff --git a/apps/v4/app/(app)/create/components/welcome-dialog.tsx b/apps/v4/app/(app)/(create)/components/welcome-dialog.tsx similarity index 100% rename from apps/v4/app/(app)/create/components/welcome-dialog.tsx rename to apps/v4/app/(app)/(create)/components/welcome-dialog.tsx diff --git a/apps/v4/app/(app)/create/layout.tsx b/apps/v4/app/(app)/(create)/create/layout.tsx similarity index 70% rename from apps/v4/app/(app)/create/layout.tsx rename to apps/v4/app/(app)/(create)/create/layout.tsx index 3240eadc1..51bc22a1d 100644 --- a/apps/v4/app/(app)/create/layout.tsx +++ b/apps/v4/app/(app)/(create)/create/layout.tsx @@ -1,8 +1,8 @@ import { Suspense } from "react" -import { CreateSkeleton } from "@/app/(app)/create/components/create-skeleton" -import { HistoryProvider } from "@/app/(app)/create/hooks/use-history" -import { LocksProvider } from "@/app/(app)/create/hooks/use-locks" +import { CreateSkeleton } from "@/app/(app)/(create)/components/create-skeleton" +import { HistoryProvider } from "@/app/(app)/(create)/hooks/use-history" +import { LocksProvider } from "@/app/(app)/(create)/hooks/use-locks" export default function CreateLayout({ children, diff --git a/apps/v4/app/(app)/(create)/create/loading.tsx b/apps/v4/app/(app)/(create)/create/loading.tsx new file mode 100644 index 000000000..0922185cf --- /dev/null +++ b/apps/v4/app/(app)/(create)/create/loading.tsx @@ -0,0 +1,5 @@ +import { CreateSkeleton } from "@/app/(app)/(create)/components/create-skeleton" + +export default function CreateLoading() { + return +} diff --git a/apps/v4/app/(app)/create/page.tsx b/apps/v4/app/(app)/(create)/create/page.tsx similarity index 86% rename from apps/v4/app/(app)/create/page.tsx rename to apps/v4/app/(app)/(create)/create/page.tsx index 2ca9cdf49..53c37b8b7 100644 --- a/apps/v4/app/(app)/create/page.tsx +++ b/apps/v4/app/(app)/(create)/create/page.tsx @@ -5,14 +5,14 @@ import dynamic from "next/dynamic" import { siteConfig } from "@/lib/config" import { absoluteUrl } from "@/lib/utils" import { Skeleton } from "@/styles/base-nova/ui/skeleton" -import { Customizer } from "@/app/(app)/create/components/customizer" -import { PresetHandler } from "@/app/(app)/create/components/preset-handler" -import { Preview } from "@/app/(app)/create/components/preview" -import { getAllItems } from "@/app/(app)/create/lib/api" +import { Customizer } from "@/app/(app)/(create)/components/customizer" +import { PresetHandler } from "@/app/(app)/(create)/components/preset-handler" +import { Preview } from "@/app/(app)/(create)/components/preview" +import { getAllItems } from "@/app/(app)/(create)/lib/api" // Only shown on first visit (checks localStorage). const WelcomeDialog = dynamic(() => - import("@/app/(app)/create/components/welcome-dialog").then( + import("@/app/(app)/(create)/components/welcome-dialog").then( (m) => m.WelcomeDialog ) ) diff --git a/apps/v4/app/(app)/create/hooks/use-action-menu.ts b/apps/v4/app/(app)/(create)/hooks/use-action-menu.ts similarity index 95% rename from apps/v4/app/(app)/create/hooks/use-action-menu.ts rename to apps/v4/app/(app)/(create)/hooks/use-action-menu.ts index 0ad363e74..dd97d8abc 100644 --- a/apps/v4/app/(app)/create/hooks/use-action-menu.ts +++ b/apps/v4/app/(app)/(create)/hooks/use-action-menu.ts @@ -4,8 +4,8 @@ import * as React from "react" import { type RegistryItem } from "shadcn/schema" import useSWR from "swr" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" -import { groupItemsByType } from "@/app/(app)/create/lib/utils" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" +import { groupItemsByType } from "@/app/(app)/(create)/lib/utils" const ACTION_MENU_OPEN_KEY = "create:action-menu-open" diff --git a/apps/v4/app/(app)/create/hooks/use-design-system.ts b/apps/v4/app/(app)/(create)/hooks/use-design-system.ts similarity index 57% rename from apps/v4/app/(app)/create/hooks/use-design-system.ts rename to apps/v4/app/(app)/(create)/hooks/use-design-system.ts index 05f92c83e..dfebd9888 100644 --- a/apps/v4/app/(app)/create/hooks/use-design-system.ts +++ b/apps/v4/app/(app)/(create)/hooks/use-design-system.ts @@ -1,7 +1,7 @@ "use client" -import { getPresetCode } from "@/app/(app)/create/lib/preset-code" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +import { getPresetCode } from "@/app/(app)/(create)/lib/preset-code" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" // Returns the canonical preset code derived from the current search params. export function usePresetCode() { diff --git a/apps/v4/app/(app)/create/hooks/use-history.tsx b/apps/v4/app/(app)/(create)/hooks/use-history.tsx similarity index 99% rename from apps/v4/app/(app)/create/hooks/use-history.tsx rename to apps/v4/app/(app)/(create)/hooks/use-history.tsx index 4067956eb..4c16c3535 100644 --- a/apps/v4/app/(app)/create/hooks/use-history.tsx +++ b/apps/v4/app/(app)/(create)/hooks/use-history.tsx @@ -7,7 +7,7 @@ import { useSearchParams } from "next/navigation" import { useDesignSystemSearchParams, type DesignSystemSearchParams, -} from "@/app/(app)/create/lib/search-params" +} from "@/app/(app)/(create)/lib/search-params" type HistoryContextValue = { canGoBack: boolean diff --git a/apps/v4/app/(app)/create/hooks/use-iframe-sync.tsx b/apps/v4/app/(app)/(create)/hooks/use-iframe-sync.tsx similarity index 94% rename from apps/v4/app/(app)/create/hooks/use-iframe-sync.tsx rename to apps/v4/app/(app)/(create)/hooks/use-iframe-sync.tsx index 64b4c58ae..c064ab05e 100644 --- a/apps/v4/app/(app)/create/hooks/use-iframe-sync.tsx +++ b/apps/v4/app/(app)/(create)/hooks/use-iframe-sync.tsx @@ -2,7 +2,7 @@ import * as React from "react" -import type { DesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +import type { DesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" type ParentToIframeMessage = { type: "design-system-params" diff --git a/apps/v4/app/(app)/create/hooks/use-locks.tsx b/apps/v4/app/(app)/(create)/hooks/use-locks.tsx similarity index 100% rename from apps/v4/app/(app)/create/hooks/use-locks.tsx rename to apps/v4/app/(app)/(create)/hooks/use-locks.tsx diff --git a/apps/v4/app/(app)/create/hooks/use-open-preset.tsx b/apps/v4/app/(app)/(create)/hooks/use-open-preset.tsx similarity index 100% rename from apps/v4/app/(app)/create/hooks/use-open-preset.tsx rename to apps/v4/app/(app)/(create)/hooks/use-open-preset.tsx diff --git a/apps/v4/app/(app)/create/hooks/use-random.tsx b/apps/v4/app/(app)/(create)/hooks/use-random.tsx similarity index 95% rename from apps/v4/app/(app)/create/hooks/use-random.tsx rename to apps/v4/app/(app)/(create)/hooks/use-random.tsx index 0fa58d8ac..8273fbdb9 100644 --- a/apps/v4/app/(app)/create/hooks/use-random.tsx +++ b/apps/v4/app/(app)/(create)/hooks/use-random.tsx @@ -22,19 +22,19 @@ import { type StyleName, type ThemeName, } from "@/registry/config" -import { useLocks } from "@/app/(app)/create/hooks/use-locks" -import { FONTS } from "@/app/(app)/create/lib/fonts" -import { getPresetCode } from "@/app/(app)/create/lib/preset-code" +import { useLocks } from "@/app/(app)/(create)/hooks/use-locks" +import { FONTS } from "@/app/(app)/(create)/lib/fonts" +import { getPresetCode } from "@/app/(app)/(create)/lib/preset-code" import { applyBias, RANDOMIZE_BIASES, type RandomizeContext, -} from "@/app/(app)/create/lib/randomize-biases" +} from "@/app/(app)/(create)/lib/randomize-biases" import { isTranslucentMenuColor, useDesignSystemSearchParams, -} from "@/app/(app)/create/lib/search-params" -import { SHUFFLE_PRESETS } from "@/app/(app)/create/lib/shuffle-presets" +} from "@/app/(app)/(create)/lib/search-params" +import { SHUFFLE_PRESETS } from "@/app/(app)/(create)/lib/shuffle-presets" function randomItem(array: readonly T[]): T { return array[Math.floor(Math.random() * array.length)] diff --git a/apps/v4/app/(app)/create/hooks/use-reset.tsx b/apps/v4/app/(app)/(create)/hooks/use-reset.tsx similarity index 97% rename from apps/v4/app/(app)/create/hooks/use-reset.tsx rename to apps/v4/app/(app)/(create)/hooks/use-reset.tsx index 52e6b7889..58893a217 100644 --- a/apps/v4/app/(app)/create/hooks/use-reset.tsx +++ b/apps/v4/app/(app)/(create)/hooks/use-reset.tsx @@ -4,7 +4,7 @@ import * as React from "react" import useSWR from "swr" import { DEFAULT_CONFIG, PRESETS } from "@/registry/config" -import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params" +import { useDesignSystemSearchParams } from "@/app/(app)/(create)/lib/search-params" const RESET_DIALOG_KEY = "create:reset-dialog-open" export const RESET_FORWARD_TYPE = "reset-forward" diff --git a/apps/v4/app/(app)/create/hooks/use-theme-toggle.tsx b/apps/v4/app/(app)/(create)/hooks/use-theme-toggle.tsx similarity index 100% rename from apps/v4/app/(app)/create/hooks/use-theme-toggle.tsx rename to apps/v4/app/(app)/(create)/hooks/use-theme-toggle.tsx diff --git a/apps/v4/app/(create)/init/md/route.ts b/apps/v4/app/(app)/(create)/init/md/route.ts similarity index 81% rename from apps/v4/app/(create)/init/md/route.ts rename to apps/v4/app/(app)/(create)/init/md/route.ts index 8382fb3af..1b4f1129a 100644 --- a/apps/v4/app/(create)/init/md/route.ts +++ b/apps/v4/app/(app)/(create)/init/md/route.ts @@ -1,9 +1,8 @@ import { type NextRequest } from "next/server" import { track } from "@vercel/analytics/server" -import { parseDesignSystemConfig } from "@/app/(create)/init/parse-config" - -import { buildInstructions } from "./build-instructions" +import { buildInstructions } from "@/app/(app)/(create)/lib/build-instructions" +import { parseDesignSystemConfig } from "@/app/(app)/(create)/lib/parse-config" export async function GET(request: NextRequest) { try { diff --git a/apps/v4/app/(create)/init/route.test.ts b/apps/v4/app/(app)/(create)/init/route.test.ts similarity index 100% rename from apps/v4/app/(create)/init/route.test.ts rename to apps/v4/app/(app)/(create)/init/route.test.ts diff --git a/apps/v4/app/(create)/init/route.ts b/apps/v4/app/(app)/(create)/init/route.ts similarity index 92% rename from apps/v4/app/(create)/init/route.ts rename to apps/v4/app/(app)/(create)/init/route.ts index 848b70b68..dc8eae9cb 100644 --- a/apps/v4/app/(create)/init/route.ts +++ b/apps/v4/app/(app)/(create)/init/route.ts @@ -8,8 +8,8 @@ import { buildRegistryBase, parseRegistryBaseParts, } from "@/registry/config" -import { getPresetCode } from "@/app/(app)/create/lib/preset-code" -import { parseDesignSystemConfig } from "@/app/(create)/init/parse-config" +import { parseDesignSystemConfig } from "@/app/(app)/(create)/lib/parse-config" +import { getPresetCode } from "@/app/(app)/(create)/lib/preset-code" export async function GET(request: NextRequest) { try { diff --git a/apps/v4/app/(create)/init/v0/route.ts b/apps/v4/app/(app)/(create)/init/v0/route.ts similarity index 83% rename from apps/v4/app/(create)/init/v0/route.ts rename to apps/v4/app/(app)/(create)/init/v0/route.ts index 635b8cf43..a8b0bc61f 100644 --- a/apps/v4/app/(create)/init/v0/route.ts +++ b/apps/v4/app/(app)/(create)/init/v0/route.ts @@ -2,9 +2,9 @@ import { after, NextResponse, type NextRequest } from "next/server" import { track } from "@vercel/analytics/server" import { isPresetCode } from "shadcn/preset" -import { getPresetCode } from "@/app/(app)/create/lib/preset-code" -import { buildV0Payload } from "@/app/(app)/create/lib/v0" -import { parseDesignSystemConfig } from "@/app/(create)/init/parse-config" +import { parseDesignSystemConfig } from "@/app/(app)/(create)/lib/parse-config" +import { getPresetCode } from "@/app/(app)/(create)/lib/preset-code" +import { buildV0Payload } from "@/app/(app)/(create)/lib/v0" export async function GET(request: NextRequest) { try { diff --git a/apps/v4/app/(app)/create/lib/api.ts b/apps/v4/app/(app)/(create)/lib/api.ts similarity index 97% rename from apps/v4/app/(app)/create/lib/api.ts rename to apps/v4/app/(app)/(create)/lib/api.ts index 8ab5e000e..bb2379a9f 100644 --- a/apps/v4/app/(app)/create/lib/api.ts +++ b/apps/v4/app/(app)/(create)/lib/api.ts @@ -6,7 +6,7 @@ import { BASES, getThemesForBaseColor, type BaseName } from "@/registry/config" import { ALLOWED_ITEM_TYPES, EXCLUDED_ITEMS, -} from "@/app/(app)/create/lib/constants" +} from "@/app/(app)/(create)/lib/constants" export async function getItemsForBase(base: BaseName) { const { Index } = await import("@/registry/bases/__index__") diff --git a/apps/v4/app/(create)/init/md/build-instructions.ts b/apps/v4/app/(app)/(create)/lib/build-instructions.ts similarity index 100% rename from apps/v4/app/(create)/init/md/build-instructions.ts rename to apps/v4/app/(app)/(create)/lib/build-instructions.ts diff --git a/apps/v4/app/(app)/create/lib/constants.ts b/apps/v4/app/(app)/(create)/lib/constants.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/constants.ts rename to apps/v4/app/(app)/(create)/lib/constants.ts diff --git a/apps/v4/app/(app)/create/lib/devtools.ts b/apps/v4/app/(app)/(create)/lib/devtools.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/devtools.ts rename to apps/v4/app/(app)/(create)/lib/devtools.ts diff --git a/apps/v4/app/(app)/create/lib/fonts.ts b/apps/v4/app/(app)/(create)/lib/fonts.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/fonts.ts rename to apps/v4/app/(app)/(create)/lib/fonts.ts diff --git a/apps/v4/app/(app)/create/lib/merge-theme.ts b/apps/v4/app/(app)/(create)/lib/merge-theme.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/merge-theme.ts rename to apps/v4/app/(app)/(create)/lib/merge-theme.ts diff --git a/apps/v4/app/(create)/init/parse-config.test.ts b/apps/v4/app/(app)/(create)/lib/parse-config.test.ts similarity index 100% rename from apps/v4/app/(create)/init/parse-config.test.ts rename to apps/v4/app/(app)/(create)/lib/parse-config.test.ts diff --git a/apps/v4/app/(create)/init/parse-config.ts b/apps/v4/app/(app)/(create)/lib/parse-config.ts similarity index 96% rename from apps/v4/app/(create)/init/parse-config.ts rename to apps/v4/app/(app)/(create)/lib/parse-config.ts index 86689e055..a7e670a08 100644 --- a/apps/v4/app/(create)/init/parse-config.ts +++ b/apps/v4/app/(app)/(create)/lib/parse-config.ts @@ -4,7 +4,7 @@ import { designSystemConfigSchema, type DesignSystemConfig, } from "@/registry/config" -import { resolvePresetOverrides } from "@/app/(app)/create/lib/preset-query" +import { resolvePresetOverrides } from "@/app/(app)/(create)/lib/preset-query" // Parses design system config from URL search params. export function parseDesignSystemConfig(searchParams: URLSearchParams) { diff --git a/apps/v4/app/(app)/create/lib/parse-preset-input.test.ts b/apps/v4/app/(app)/(create)/lib/parse-preset-input.test.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/parse-preset-input.test.ts rename to apps/v4/app/(app)/(create)/lib/parse-preset-input.test.ts diff --git a/apps/v4/app/(app)/create/lib/parse-preset-input.ts b/apps/v4/app/(app)/(create)/lib/parse-preset-input.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/parse-preset-input.ts rename to apps/v4/app/(app)/(create)/lib/parse-preset-input.ts diff --git a/apps/v4/app/(app)/create/lib/preset-code.ts b/apps/v4/app/(app)/(create)/lib/preset-code.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/preset-code.ts rename to apps/v4/app/(app)/(create)/lib/preset-code.ts diff --git a/apps/v4/app/(app)/create/lib/preset-query.test.ts b/apps/v4/app/(app)/(create)/lib/preset-query.test.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/preset-query.test.ts rename to apps/v4/app/(app)/(create)/lib/preset-query.test.ts diff --git a/apps/v4/app/(app)/create/lib/preset-query.ts b/apps/v4/app/(app)/(create)/lib/preset-query.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/preset-query.ts rename to apps/v4/app/(app)/(create)/lib/preset-query.ts diff --git a/apps/v4/app/(app)/create/lib/randomize-biases.ts b/apps/v4/app/(app)/(create)/lib/randomize-biases.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/randomize-biases.ts rename to apps/v4/app/(app)/(create)/lib/randomize-biases.ts diff --git a/apps/v4/app/(app)/create/lib/search-params.test.ts b/apps/v4/app/(app)/(create)/lib/search-params.test.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/search-params.test.ts rename to apps/v4/app/(app)/(create)/lib/search-params.test.ts diff --git a/apps/v4/app/(app)/create/lib/search-params.ts b/apps/v4/app/(app)/(create)/lib/search-params.ts similarity index 97% rename from apps/v4/app/(app)/create/lib/search-params.ts rename to apps/v4/app/(app)/(create)/lib/search-params.ts index 7695240f0..5bc9c2161 100644 --- a/apps/v4/app/(app)/create/lib/search-params.ts +++ b/apps/v4/app/(app)/(create)/lib/search-params.ts @@ -36,9 +36,9 @@ import { type StyleName, type ThemeName, } from "@/registry/config" -import { FONTS } from "@/app/(app)/create/lib/fonts" -import { getPresetCode } from "@/app/(app)/create/lib/preset-code" -import { resolvePresetOverrides } from "@/app/(app)/create/lib/preset-query" +import { FONTS } from "@/app/(app)/(create)/lib/fonts" +import { getPresetCode } from "@/app/(app)/(create)/lib/preset-code" +import { resolvePresetOverrides } from "@/app/(app)/(create)/lib/preset-query" const designSystemSearchParams = { preset: parseAsString.withDefault("b0"), diff --git a/apps/v4/app/(app)/create/lib/shuffle-presets.ts b/apps/v4/app/(app)/(create)/lib/shuffle-presets.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/shuffle-presets.ts rename to apps/v4/app/(app)/(create)/lib/shuffle-presets.ts diff --git a/apps/v4/app/(app)/create/lib/templates.ts b/apps/v4/app/(app)/(create)/lib/templates.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/templates.ts rename to apps/v4/app/(app)/(create)/lib/templates.ts diff --git a/apps/v4/app/(app)/create/lib/utils.ts b/apps/v4/app/(app)/(create)/lib/utils.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/utils.ts rename to apps/v4/app/(app)/(create)/lib/utils.ts diff --git a/apps/v4/app/(app)/create/lib/v0.test.ts b/apps/v4/app/(app)/(create)/lib/v0.test.ts similarity index 98% rename from apps/v4/app/(app)/create/lib/v0.test.ts rename to apps/v4/app/(app)/(create)/lib/v0.test.ts index b21a4c9b4..c8341f67b 100644 --- a/apps/v4/app/(app)/create/lib/v0.test.ts +++ b/apps/v4/app/(app)/(create)/lib/v0.test.ts @@ -1,7 +1,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" import { DEFAULT_CONFIG } from "@/registry/config" -import { buildV0Payload } from "@/app/(app)/create/lib/v0" +import { buildV0Payload } from "@/app/(app)/(create)/lib/v0" vi.mock("shadcn/schema", async () => { return await vi.importActual("shadcn/schema") diff --git a/apps/v4/app/(app)/create/lib/v0.ts b/apps/v4/app/(app)/(create)/lib/v0.ts similarity index 100% rename from apps/v4/app/(app)/create/lib/v0.ts rename to apps/v4/app/(app)/(create)/lib/v0.ts diff --git a/apps/v4/app/(app)/create/loading.tsx b/apps/v4/app/(app)/create/loading.tsx deleted file mode 100644 index 11f33f672..000000000 --- a/apps/v4/app/(app)/create/loading.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { CreateSkeleton } from "@/app/(app)/create/components/create-skeleton" - -export default function CreateLoading() { - return -} diff --git a/apps/v4/app/(create)/components/icon-placeholder.tsx b/apps/v4/app/(create)/components/icon-placeholder.tsx deleted file mode 100644 index f1c89e7f4..000000000 --- a/apps/v4/app/(create)/components/icon-placeholder.tsx +++ /dev/null @@ -1,3 +0,0 @@ -"use client" - -export { IconPlaceholder } from "@/app/(app)/create/components/icon-placeholder" diff --git a/apps/v4/app/(create)/lib/fonts.ts b/apps/v4/app/(create)/lib/fonts.ts deleted file mode 100644 index b4b95e708..000000000 --- a/apps/v4/app/(create)/lib/fonts.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "@/app/(app)/create/lib/fonts" diff --git a/apps/v4/app/(create)/lib/search-params.ts b/apps/v4/app/(create)/lib/search-params.ts deleted file mode 100644 index da83a1791..000000000 --- a/apps/v4/app/(create)/lib/search-params.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "@/app/(app)/create/lib/search-params" diff --git a/apps/v4/app/(create)/preview/[base]/[name]/page.tsx b/apps/v4/app/(view)/preview/[base]/[name]/page.tsx similarity index 82% rename from apps/v4/app/(create)/preview/[base]/[name]/page.tsx rename to apps/v4/app/(view)/preview/[base]/[name]/page.tsx index 716f80df9..26daa932d 100644 --- a/apps/v4/app/(create)/preview/[base]/[name]/page.tsx +++ b/apps/v4/app/(view)/preview/[base]/[name]/page.tsx @@ -6,14 +6,14 @@ import { siteConfig } from "@/lib/config" import { absoluteUrl } from "@/lib/utils" import { TailwindIndicator } from "@/components/tailwind-indicator" import { BASES, type Base } from "@/registry/config" -import { ActionMenuScript } from "@/app/(app)/create/components/action-menu" -import { DesignSystemProvider } from "@/app/(app)/create/components/design-system-provider" -import { HistoryScript } from "@/app/(app)/create/components/history-buttons" -import { DarkModeScript } from "@/app/(app)/create/components/mode-switcher" -import { OpenPresetScript } from "@/app/(app)/create/components/open-preset" -import { PreviewStyle } from "@/app/(app)/create/components/preview-style" -import { RandomizeScript } from "@/app/(app)/create/components/random-button" -import { getBaseComponent, getBaseItem } from "@/app/(app)/create/lib/api" +import { ActionMenuScript } from "@/app/(app)/(create)/components/action-menu" +import { DesignSystemProvider } from "@/app/(app)/(create)/components/design-system-provider" +import { HistoryScript } from "@/app/(app)/(create)/components/history-buttons" +import { DarkModeScript } from "@/app/(app)/(create)/components/mode-switcher" +import { OpenPresetScript } from "@/app/(app)/(create)/components/open-preset" +import { PreviewStyle } from "@/app/(app)/(create)/components/preview-style" +import { RandomizeScript } from "@/app/(app)/(create)/components/random-button" +import { getBaseComponent, getBaseItem } from "@/app/(app)/(create)/lib/api" import "@/app/style-registry.css" import "streamdown/styles.css" diff --git a/apps/v4/app/(create)/preview/font-variables.tsx b/apps/v4/app/(view)/preview/font-variables.tsx similarity index 100% rename from apps/v4/app/(create)/preview/font-variables.tsx rename to apps/v4/app/(view)/preview/font-variables.tsx diff --git a/apps/v4/app/(create)/preview/fonts.ts b/apps/v4/app/(view)/preview/fonts.ts similarity index 100% rename from apps/v4/app/(create)/preview/fonts.ts rename to apps/v4/app/(view)/preview/fonts.ts diff --git a/apps/v4/app/(create)/preview/layout.tsx b/apps/v4/app/(view)/preview/layout.tsx similarity index 62% rename from apps/v4/app/(create)/preview/layout.tsx rename to apps/v4/app/(view)/preview/layout.tsx index a13564413..35168c185 100644 --- a/apps/v4/app/(create)/preview/layout.tsx +++ b/apps/v4/app/(view)/preview/layout.tsx @@ -1,5 +1,5 @@ -import { PreviewFontVariables } from "@/app/(create)/preview/font-variables" -import { previewFontVariables } from "@/app/(create)/preview/fonts" +import { PreviewFontVariables } from "@/app/(view)/preview/font-variables" +import { previewFontVariables } from "@/app/(view)/preview/fonts" export default function PreviewLayout({ children, diff --git a/apps/v4/components/site-header.tsx b/apps/v4/components/site-header.tsx index 058d8af07..6a5b89f17 100644 --- a/apps/v4/components/site-header.tsx +++ b/apps/v4/components/site-header.tsx @@ -13,8 +13,8 @@ import { MobileNav } from "@/components/mobile-nav" import { ModeSwitcher } from "@/components/mode-switcher" import { Separator } from "@/registry/new-york-v4/ui/separator" import { Button } from "@/styles/radix-nova/ui/button" -import { ProjectForm } from "@/app/(app)/create/components/project-form" -import { V0Button } from "@/app/(app)/create/components/v0-button" +import { ProjectForm } from "@/app/(app)/(create)/components/project-form" +import { V0Button } from "@/app/(app)/(create)/components/v0-button" export function SiteHeader() { const colors = getColors() diff --git a/apps/v4/tsconfig.json b/apps/v4/tsconfig.json index 2480907eb..d5526d27a 100644 --- a/apps/v4/tsconfig.json +++ b/apps/v4/tsconfig.json @@ -20,6 +20,13 @@ ], "baseUrl": ".", "paths": { + // Temp aliases: registry sources import @/app/(create)/* (ships + // verbatim in published registry payloads) and a handful still use + // the legacy @/app/(app)/create/* path. The files actually live under + // app/(app)/(create)/*. Remove once the registry imports (and + // payloads) are migrated to the real path. + "@/app/(create)/*": ["./app/(app)/(create)/*"], + "@/app/(app)/create/*": ["./app/(app)/(create)/*"], "@/*": ["./*"], "react": ["./node_modules/@types/react"] }