From 5a4ae7e29fa22ffbf774a504dbbec32fb8558ed6 Mon Sep 17 00:00:00 2001 From: Evan Hu Date: Sat, 19 Sep 2026 00:01:16 +0900 Subject: [PATCH 1/6] refactor(web): merge core/components/core/theme into core/components/appearance Theme lived in two directories: core/components/appearance held the public entry point (theme-switcher.tsx, the only file the barrel re-exports and the only one settings reaches) while the six pieces it composes sat under the unnamed core/components/core bucket. A reader arriving at the switcher had to leave the feature directory to find the selector it renders. appearance/ is the home rather than a new top-level theme/ because it is feature-named and already owns the entry point. The four files reached only through relative ./ imports from custom-theme-selector.tsx move with it untouched, so the entire cross-directory cost is the two specifiers in theme-switcher.tsx, which become sibling-relative in line with how the rest of this directory already refers to its own files. --- .../components/{core/theme => appearance}/color-inputs.tsx | 0 .../{core/theme => appearance}/custom-theme-selector.tsx | 0 .../{core/theme => appearance}/download-config-button.tsx | 0 .../{core/theme => appearance}/import-config-button.tsx | 0 .../{core/theme => appearance}/theme-mode-selector.tsx | 0 .../components/{core/theme => appearance}/theme-switch.tsx | 0 apps/web/core/components/appearance/theme-switcher.tsx | 4 ++-- 7 files changed, 2 insertions(+), 2 deletions(-) rename apps/web/core/components/{core/theme => appearance}/color-inputs.tsx (100%) rename apps/web/core/components/{core/theme => appearance}/custom-theme-selector.tsx (100%) rename apps/web/core/components/{core/theme => appearance}/download-config-button.tsx (100%) rename apps/web/core/components/{core/theme => appearance}/import-config-button.tsx (100%) rename apps/web/core/components/{core/theme => appearance}/theme-mode-selector.tsx (100%) rename apps/web/core/components/{core/theme => appearance}/theme-switch.tsx (100%) diff --git a/apps/web/core/components/core/theme/color-inputs.tsx b/apps/web/core/components/appearance/color-inputs.tsx similarity index 100% rename from apps/web/core/components/core/theme/color-inputs.tsx rename to apps/web/core/components/appearance/color-inputs.tsx diff --git a/apps/web/core/components/core/theme/custom-theme-selector.tsx b/apps/web/core/components/appearance/custom-theme-selector.tsx similarity index 100% rename from apps/web/core/components/core/theme/custom-theme-selector.tsx rename to apps/web/core/components/appearance/custom-theme-selector.tsx diff --git a/apps/web/core/components/core/theme/download-config-button.tsx b/apps/web/core/components/appearance/download-config-button.tsx similarity index 100% rename from apps/web/core/components/core/theme/download-config-button.tsx rename to apps/web/core/components/appearance/download-config-button.tsx diff --git a/apps/web/core/components/core/theme/import-config-button.tsx b/apps/web/core/components/appearance/import-config-button.tsx similarity index 100% rename from apps/web/core/components/core/theme/import-config-button.tsx rename to apps/web/core/components/appearance/import-config-button.tsx diff --git a/apps/web/core/components/core/theme/theme-mode-selector.tsx b/apps/web/core/components/appearance/theme-mode-selector.tsx similarity index 100% rename from apps/web/core/components/core/theme/theme-mode-selector.tsx rename to apps/web/core/components/appearance/theme-mode-selector.tsx diff --git a/apps/web/core/components/core/theme/theme-switch.tsx b/apps/web/core/components/appearance/theme-switch.tsx similarity index 100% rename from apps/web/core/components/core/theme/theme-switch.tsx rename to apps/web/core/components/appearance/theme-switch.tsx diff --git a/apps/web/core/components/appearance/theme-switcher.tsx b/apps/web/core/components/appearance/theme-switcher.tsx index d06adb6b..0aa6edc2 100644 --- a/apps/web/core/components/appearance/theme-switcher.tsx +++ b/apps/web/core/components/appearance/theme-switcher.tsx @@ -14,8 +14,8 @@ import { useTranslation } from "@pace/i18n"; import { setPromiseToast } from "@pace/propel/toast"; import { applyCustomTheme } from "@pace/utils"; // components -import { CustomThemeSelector } from "@/components/core/theme/custom-theme-selector"; -import { ThemeSwitch } from "@/components/core/theme/theme-switch"; +import { CustomThemeSelector } from "./custom-theme-selector"; +import { ThemeSwitch } from "./theme-switch"; import { SettingsControlItem } from "@/components/settings/control-item"; // hooks import { useUserProfile } from "@/hooks/store/user"; From dfa41da471c5242090fa98eeb3d17ac66f61407c Mon Sep 17 00:00:00 2001 From: Evan Hu Date: Sat, 19 Sep 2026 00:02:22 +0900 Subject: [PATCH 2/6] refactor(web): move the two non-loaders out of core/components/ui core/components/ui holds 24 files, 22 of which are skeleton loaders under loader/. The two exceptions are a label-count chip and an empty-state layout, and both have an obvious owning directory already: IssueLabelsList belongs with the other label components and EmptySpace/EmptySpaceItem with the other empty states. Moving them first means the directory that gets renamed next contains nothing but loaders, so the new name needs no qualification. Neither file is added to core/components/labels/index.ts: that barrel is hand-maintained and already omits several of its neighbours, so the single consumer keeps importing by path. --- apps/web/app/(all)/workspace-invitations/page.tsx | 2 +- apps/web/core/components/{ui => empty-state}/empty-space.tsx | 0 apps/web/core/components/issues/select/base.tsx | 2 +- apps/web/core/components/{ui => labels}/labels-list.tsx | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename apps/web/core/components/{ui => empty-state}/empty-space.tsx (100%) rename apps/web/core/components/{ui => labels}/labels-list.tsx (100%) diff --git a/apps/web/app/(all)/workspace-invitations/page.tsx b/apps/web/app/(all)/workspace-invitations/page.tsx index 962bfc6e..4fc5c9ca 100644 --- a/apps/web/app/(all)/workspace-invitations/page.tsx +++ b/apps/web/app/(all)/workspace-invitations/page.tsx @@ -17,7 +17,7 @@ import { } from "@makeplane/propel/icons"; // components import { LogoSpinner } from "@/components/common/logo-spinner"; -import { EmptySpace, EmptySpaceItem } from "@/components/ui/empty-space"; +import { EmptySpace, EmptySpaceItem } from "@/components/empty-state/empty-space"; // constants import { WORKSPACE_INVITATION } from "@pace/constants"; // helpers diff --git a/apps/web/core/components/ui/empty-space.tsx b/apps/web/core/components/empty-state/empty-space.tsx similarity index 100% rename from apps/web/core/components/ui/empty-space.tsx rename to apps/web/core/components/empty-state/empty-space.tsx diff --git a/apps/web/core/components/issues/select/base.tsx b/apps/web/core/components/issues/select/base.tsx index 1378244a..ef21af27 100644 --- a/apps/web/core/components/issues/select/base.tsx +++ b/apps/web/core/components/issues/select/base.tsx @@ -17,7 +17,7 @@ import { useTranslation } from "@pace/i18n"; import type { IIssueLabel } from "@pace/types"; import { cn } from "@pace/utils"; // components -import { IssueLabelsList } from "@/components/ui/labels-list"; +import { IssueLabelsList } from "@/components/labels/labels-list"; // hooks import { useDropdownKeyDown } from "@/hooks/use-dropdown-key-down"; import { usePlatformOS } from "@/hooks/use-platform-os"; diff --git a/apps/web/core/components/ui/labels-list.tsx b/apps/web/core/components/labels/labels-list.tsx similarity index 100% rename from apps/web/core/components/ui/labels-list.tsx rename to apps/web/core/components/labels/labels-list.tsx From d9b1fe1c44b461ae0e11b4a675ff938079b8fc8f Mon Sep 17 00:00:00 2001 From: Evan Hu Date: Sat, 19 Sep 2026 00:03:05 +0900 Subject: [PATCH 3/6] refactor(web): rename core/components/ui to core/components/skeletons The path lied twice over. apps/web imports the @pace/ui package on nearly every screen, so "@/components/ui" reads as a local copy of the design system when in fact every file under it is a loading skeleton. Naming the directory for what it contains removes the collision and tells a reader where skeletons live without opening the folder. Four files stay behind in core/components/ui because #252 (chore/remove-dead-code-and-assets) deletes them: markdown-to-component.tsx, profile-empty-state.tsx, loader/notification-loader.tsx and loader/pages-loader.tsx. All four are unreferenced anywhere in the repo, and none of them imports a sibling, so leaving them in place breaks nothing and keeps this rename from colliding with that deletion. core/components/ui disappears when #252 lands. --- .../(detail)/[projectId]/cycles/(list)/page.tsx | 2 +- .../settings/(workspace)/integrations/page.tsx | 2 +- .../(settings)/settings/(workspace)/webhooks/page.tsx | 2 +- .../web/core/components/base-layouts/gantt/sidebar.tsx | 2 +- .../components/base-layouts/loaders/layout-loader.tsx | 4 ++-- .../core/components/cycles/archived-cycles/root.tsx | 2 +- .../core/components/cycles/archived-cycles/view.tsx | 2 +- apps/web/core/components/cycles/cycles-view.tsx | 2 +- apps/web/core/components/exporter/prev-exports.tsx | 2 +- .../components/gantt-chart/sidebar/issues/sidebar.tsx | 2 +- apps/web/core/components/inbox/root.tsx | 2 +- apps/web/core/components/inbox/sidebar/root.tsx | 2 +- .../issues/issue-layouts/issue-layout-hoc.tsx | 10 +++++----- .../components/issues/issue-layouts/kanban/default.tsx | 2 +- .../issues/issue-layouts/kanban/kanban-group.tsx | 2 +- .../issues/issue-layouts/list/block-root.tsx | 2 +- .../issues/issue-layouts/list/list-group.tsx | 2 +- .../issue-layouts/spreadsheet/roots/workspace-root.tsx | 2 +- .../issue-layouts/spreadsheet/spreadsheet-table.tsx | 2 +- .../core/components/issues/workspace-draft/loader.tsx | 2 +- .../core/components/modules/archived-modules/root.tsx | 2 +- .../core/components/modules/archived-modules/view.tsx | 2 +- apps/web/core/components/modules/modules-list-view.tsx | 6 +++--- .../core/components/profile/activity/activity-list.tsx | 2 +- apps/web/core/components/project/card-list.tsx | 2 +- apps/web/core/components/project/member-list.tsx | 2 +- .../settings/profile/content/pages/api-tokens.tsx | 2 +- .../profile/content/pages/notifications/root.tsx | 2 +- .../loader/cycle-module-board-loader.tsx | 0 .../loader/cycle-module-list-loader.tsx | 0 .../loader/layouts/calendar-layout-loader.tsx | 0 .../loader/layouts/gantt-layout-loader.tsx | 0 .../loader/layouts/kanban-layout-loader.tsx | 0 .../loader/layouts/list-layout-loader.tsx | 0 .../loader/layouts/members-layout-loader.tsx | 0 .../layouts/project-inbox/inbox-layout-loader.tsx | 0 .../layouts/project-inbox/inbox-sidebar-loader.tsx | 0 .../loader/layouts/spreadsheet-layout-loader.tsx | 0 .../{ui => skeletons}/loader/projects-loader.tsx | 0 .../{ui => skeletons}/loader/settings/activity.tsx | 0 .../{ui => skeletons}/loader/settings/api-token.tsx | 0 .../{ui => skeletons}/loader/settings/email.tsx | 0 .../loader/settings/import-and-export.tsx | 0 .../{ui => skeletons}/loader/settings/integration.tsx | 0 .../{ui => skeletons}/loader/settings/members.tsx | 0 .../{ui => skeletons}/loader/settings/web-hook.tsx | 0 .../core/components/{ui => skeletons}/loader/utils.tsx | 0 .../{ui => skeletons}/loader/view-list-loader.tsx | 0 apps/web/core/components/views/views-list.tsx | 2 +- .../workspace/settings/members-list-item.tsx | 2 +- .../components/workspace/settings/members-list.tsx | 2 +- .../web/core/components/workspace/views/views-list.tsx | 2 +- 52 files changed, 39 insertions(+), 39 deletions(-) rename apps/web/core/components/{ui => skeletons}/loader/cycle-module-board-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/cycle-module-list-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/layouts/calendar-layout-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/layouts/gantt-layout-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/layouts/kanban-layout-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/layouts/list-layout-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/layouts/members-layout-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/layouts/project-inbox/inbox-layout-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/layouts/project-inbox/inbox-sidebar-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/layouts/spreadsheet-layout-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/projects-loader.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/settings/activity.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/settings/api-token.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/settings/email.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/settings/import-and-export.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/settings/integration.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/settings/members.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/settings/web-hook.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/utils.tsx (100%) rename apps/web/core/components/{ui => skeletons}/loader/view-list-loader.tsx (100%) diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx index 6a152285..46b24b80 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx @@ -25,7 +25,7 @@ import { CycleAppliedFiltersList } from "@/components/cycles/applied-filters"; import { CyclesView } from "@/components/cycles/cycles-view"; import { CycleCreateUpdateModal } from "@/components/cycles/modal"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; -import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader"; +import { CycleModuleListLayoutLoader } from "@/components/skeletons/loader/cycle-module-list-loader"; // hooks import { useCycle } from "@/hooks/store/use-cycle"; import { useCycleFilter } from "@/hooks/store/use-cycle-filter"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsx index d673f006..d496e6d3 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsx @@ -12,7 +12,7 @@ import { useTranslation } from "@pace/i18n"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; import { PageHead } from "@/components/core/page-title"; import { SingleIntegrationCard } from "@/components/integration/single-integration-card"; -import { IntegrationsSettingsLoader } from "@/components/ui/loader/settings/integration"; +import { IntegrationsSettingsLoader } from "@/components/skeletons/loader/settings/integration"; // constants import { APP_INTEGRATIONS } from "@pace/constants"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx index 6ec78fc4..b317d0ba 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx @@ -16,7 +16,7 @@ import { EmptyStateCompact } from "@pace/propel/empty-state"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; import { PageHead } from "@/components/core/page-title"; import { SettingsHeading } from "@/components/settings/heading"; -import { WebhookSettingsLoader } from "@/components/ui/loader/settings/web-hook"; +import { WebhookSettingsLoader } from "@/components/skeletons/loader/settings/web-hook"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { WebhooksList, CreateWebhookModal } from "@/components/web-hooks"; // hooks diff --git a/apps/web/core/components/base-layouts/gantt/sidebar.tsx b/apps/web/core/components/base-layouts/gantt/sidebar.tsx index 22c58b63..6b9c14a7 100644 --- a/apps/web/core/components/base-layouts/gantt/sidebar.tsx +++ b/apps/web/core/components/base-layouts/gantt/sidebar.tsx @@ -14,7 +14,7 @@ import RenderIfVisible from "@/components/core/render-if-visible-hoc"; import { BLOCK_HEIGHT } from "@/components/gantt-chart/constants"; import { GanttDnDHOC } from "@/components/gantt-chart/sidebar/gantt-dnd-hoc"; import { handleOrderChange } from "@/components/gantt-chart/sidebar/utils"; -import { GanttLayoutListItemLoader } from "@/components/ui/loader/layouts/gantt-layout-loader"; +import { GanttLayoutListItemLoader } from "@/components/skeletons/loader/layouts/gantt-layout-loader"; import { useIntersectionObserver } from "@/hooks/use-intersection-observer"; import { useTimeLineChartStore } from "@/hooks/use-timeline-chart"; diff --git a/apps/web/core/components/base-layouts/loaders/layout-loader.tsx b/apps/web/core/components/base-layouts/loaders/layout-loader.tsx index 0232af01..3a57f28e 100644 --- a/apps/web/core/components/base-layouts/loaders/layout-loader.tsx +++ b/apps/web/core/components/base-layouts/loaders/layout-loader.tsx @@ -5,8 +5,8 @@ */ import type { TBaseLayoutType } from "@pace/types"; -import { KanbanLayoutLoader } from "@/components/ui/loader/layouts/kanban-layout-loader"; -import { ListLayoutLoader } from "@/components/ui/loader/layouts/list-layout-loader"; +import { KanbanLayoutLoader } from "@/components/skeletons/loader/layouts/kanban-layout-loader"; +import { ListLayoutLoader } from "@/components/skeletons/loader/layouts/list-layout-loader"; interface GenericLayoutLoaderProps { layout: TBaseLayoutType; diff --git a/apps/web/core/components/cycles/archived-cycles/root.tsx b/apps/web/core/components/cycles/archived-cycles/root.tsx index 6e7dbeb1..c4a5ff53 100644 --- a/apps/web/core/components/cycles/archived-cycles/root.tsx +++ b/apps/web/core/components/cycles/archived-cycles/root.tsx @@ -14,7 +14,7 @@ import { EmptyStateDetailed } from "@pace/propel/empty-state"; import type { TCycleFilters } from "@pace/types"; import { calculateTotalFilters } from "@pace/utils"; // components -import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader"; +import { CycleModuleListLayoutLoader } from "@/components/skeletons/loader/cycle-module-list-loader"; // hooks import { useCycle } from "@/hooks/store/use-cycle"; import { useCycleFilter } from "@/hooks/store/use-cycle-filter"; diff --git a/apps/web/core/components/cycles/archived-cycles/view.tsx b/apps/web/core/components/cycles/archived-cycles/view.tsx index 9b0fcb35..70891771 100644 --- a/apps/web/core/components/cycles/archived-cycles/view.tsx +++ b/apps/web/core/components/cycles/archived-cycles/view.tsx @@ -11,7 +11,7 @@ import NameFilterImage from "@/assets/empty-state/cycle/name-filter.svg?url"; // components import { CyclesList } from "@/components/cycles/list"; // ui -import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader"; +import { CycleModuleListLayoutLoader } from "@/components/skeletons/loader/cycle-module-list-loader"; // hooks import { useCycle } from "@/hooks/store/use-cycle"; import { useCycleFilter } from "@/hooks/store/use-cycle-filter"; diff --git a/apps/web/core/components/cycles/cycles-view.tsx b/apps/web/core/components/cycles/cycles-view.tsx index d8bd98c3..f0644dbd 100644 --- a/apps/web/core/components/cycles/cycles-view.tsx +++ b/apps/web/core/components/cycles/cycles-view.tsx @@ -12,7 +12,7 @@ import AllFiltersImage from "@/assets/empty-state/cycle/all-filters.svg?url"; import NameFilterImage from "@/assets/empty-state/cycle/name-filter.svg?url"; // components import { CyclesList } from "@/components/cycles/list"; -import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader"; +import { CycleModuleListLayoutLoader } from "@/components/skeletons/loader/cycle-module-list-loader"; // hooks import { useCycle } from "@/hooks/store/use-cycle"; import { useCycleFilter } from "@/hooks/store/use-cycle-filter"; diff --git a/apps/web/core/components/exporter/prev-exports.tsx b/apps/web/core/components/exporter/prev-exports.tsx index ac64335f..15385ade 100644 --- a/apps/web/core/components/exporter/prev-exports.tsx +++ b/apps/web/core/components/exporter/prev-exports.tsx @@ -15,7 +15,7 @@ import { EmptyStateCompact } from "@pace/propel/empty-state"; import type { IExportData } from "@pace/types"; import { Table } from "@pace/ui"; // components -import { ImportExportSettingsLoader } from "@/components/ui/loader/settings/import-and-export"; +import { ImportExportSettingsLoader } from "@/components/skeletons/loader/settings/import-and-export"; // constants import { EXPORT_SERVICES_LIST } from "@pace/constants"; // services diff --git a/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx b/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx index 357b53f0..fbc83512 100644 --- a/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx @@ -13,7 +13,7 @@ import type { IBlockUpdateData } from "@pace/types"; import { Loader } from "@pace/ui"; // components import RenderIfVisible from "@/components/core/render-if-visible-hoc"; -import { GanttLayoutListItemLoader } from "@/components/ui/loader/layouts/gantt-layout-loader"; +import { GanttLayoutListItemLoader } from "@/components/skeletons/loader/layouts/gantt-layout-loader"; //hooks import { useIntersectionObserver } from "@/hooks/use-intersection-observer"; import { useIssuesStore } from "@/hooks/use-issue-layout-store"; diff --git a/apps/web/core/components/inbox/root.tsx b/apps/web/core/components/inbox/root.tsx index 97a96eb3..c74713aa 100644 --- a/apps/web/core/components/inbox/root.tsx +++ b/apps/web/core/components/inbox/root.tsx @@ -15,7 +15,7 @@ import { cn } from "@pace/utils"; // components import { InboxContentRoot } from "@/components/inbox/content"; import { InboxSidebar } from "@/components/inbox/sidebar"; -import { InboxLayoutLoader } from "@/components/ui/loader/layouts/project-inbox/inbox-layout-loader"; +import { InboxLayoutLoader } from "@/components/skeletons/loader/layouts/project-inbox/inbox-layout-loader"; // hooks import { useProjectInbox } from "@/hooks/store/use-project-inbox"; diff --git a/apps/web/core/components/inbox/sidebar/root.tsx b/apps/web/core/components/inbox/sidebar/root.tsx index 00112337..18d3514b 100644 --- a/apps/web/core/components/inbox/sidebar/root.tsx +++ b/apps/web/core/components/inbox/sidebar/root.tsx @@ -14,7 +14,7 @@ import { EInboxIssueCurrentTab } from "@pace/types"; import { Header, Loader, EHeaderVariant } from "@pace/ui"; import { cn } from "@pace/utils"; // components -import { InboxSidebarLoader } from "@/components/ui/loader/layouts/project-inbox/inbox-sidebar-loader"; +import { InboxSidebarLoader } from "@/components/skeletons/loader/layouts/project-inbox/inbox-sidebar-loader"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useProjectInbox } from "@/hooks/store/use-project-inbox"; diff --git a/apps/web/core/components/issues/issue-layouts/issue-layout-hoc.tsx b/apps/web/core/components/issues/issue-layouts/issue-layout-hoc.tsx index b8e7ce31..e694e113 100644 --- a/apps/web/core/components/issues/issue-layouts/issue-layout-hoc.tsx +++ b/apps/web/core/components/issues/issue-layouts/issue-layout-hoc.tsx @@ -9,11 +9,11 @@ import { observer } from "mobx-react"; import { EIssueLayoutTypes } from "@pace/types"; // components import { LayoutErrorBoundary } from "@/components/common/layout-error-boundary"; -import { CalendarLayoutLoader } from "@/components/ui/loader/layouts/calendar-layout-loader"; -import { GanttLayoutLoader } from "@/components/ui/loader/layouts/gantt-layout-loader"; -import { KanbanLayoutLoader } from "@/components/ui/loader/layouts/kanban-layout-loader"; -import { ListLayoutLoader } from "@/components/ui/loader/layouts/list-layout-loader"; -import { SpreadsheetLayoutLoader } from "@/components/ui/loader/layouts/spreadsheet-layout-loader"; +import { CalendarLayoutLoader } from "@/components/skeletons/loader/layouts/calendar-layout-loader"; +import { GanttLayoutLoader } from "@/components/skeletons/loader/layouts/gantt-layout-loader"; +import { KanbanLayoutLoader } from "@/components/skeletons/loader/layouts/kanban-layout-loader"; +import { ListLayoutLoader } from "@/components/skeletons/loader/layouts/list-layout-loader"; +import { SpreadsheetLayoutLoader } from "@/components/skeletons/loader/layouts/spreadsheet-layout-loader"; // hooks import { useIssues } from "@/hooks/store/use-issues"; import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; diff --git a/apps/web/core/components/issues/issue-layouts/kanban/default.tsx b/apps/web/core/components/issues/issue-layouts/kanban/default.tsx index 59c0ce74..47100bb5 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/default.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/default.tsx @@ -22,7 +22,7 @@ import type { import { ContentWrapper } from "@pace/ui"; // components import RenderIfVisible from "@/components/core/render-if-visible-hoc"; -import { KanbanColumnLoader } from "@/components/ui/loader/layouts/kanban-layout-loader"; +import { KanbanColumnLoader } from "@/components/skeletons/loader/layouts/kanban-layout-loader"; // hooks import { useKanbanView } from "@/hooks/store/use-kanban-view"; import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; diff --git a/apps/web/core/components/issues/issue-layouts/kanban/kanban-group.tsx b/apps/web/core/components/issues/issue-layouts/kanban/kanban-group.tsx index aa59cc38..27c84bea 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/kanban-group.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/kanban-group.tsx @@ -35,7 +35,7 @@ import { getDestinationFromDropPayload, getIssueBlockId, } from "@/components/issues/issue-layouts/utils"; -import { KanbanIssueBlockLoader } from "@/components/ui/loader/layouts/kanban-layout-loader"; +import { KanbanIssueBlockLoader } from "@/components/skeletons/loader/layouts/kanban-layout-loader"; import { useWorkFlowFDragNDrop } from "@/components/workflow"; // hooks import { useProjectState } from "@/hooks/store/use-project-state"; diff --git a/apps/web/core/components/issues/issue-layouts/list/block-root.tsx b/apps/web/core/components/issues/issue-layouts/list/block-root.tsx index 7e55b1f2..bff26784 100644 --- a/apps/web/core/components/issues/issue-layouts/list/block-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/block-root.tsx @@ -18,7 +18,7 @@ import { EIssueServiceType } from "@pace/types"; // components import { DropIndicator } from "@pace/ui"; import RenderIfVisible from "@/components/core/render-if-visible-hoc"; -import { ListLoaderItemRow } from "@/components/ui/loader/layouts/list-layout-loader"; +import { ListLoaderItemRow } from "@/components/skeletons/loader/layouts/list-layout-loader"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import type { TSelectionHelper } from "@/hooks/use-multiple-select"; diff --git a/apps/web/core/components/issues/issue-layouts/list/list-group.tsx b/apps/web/core/components/issues/issue-layouts/list/list-group.tsx index 7e3022e2..e7b79fc7 100644 --- a/apps/web/core/components/issues/issue-layouts/list/list-group.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/list-group.tsx @@ -26,7 +26,7 @@ import { EIssueLayoutTypes } from "@pace/types"; import { Row } from "@pace/ui"; import { cn } from "@pace/utils"; // components -import { ListLoaderItemRow } from "@/components/ui/loader/layouts/list-layout-loader"; +import { ListLoaderItemRow } from "@/components/skeletons/loader/layouts/list-layout-loader"; import { useWorkFlowFDragNDrop } from "@/components/workflow"; // hooks import { useProjectState } from "@/hooks/store/use-project-state"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/roots/workspace-root.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/roots/workspace-root.tsx index 15080cf2..12363b62 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/roots/workspace-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/roots/workspace-root.tsx @@ -12,7 +12,7 @@ import type { IIssueDisplayFilterOptions } from "@pace/types"; import { EIssuesStoreType, EIssueLayoutTypes } from "@pace/types"; // components import { AllIssueQuickActions } from "@/components/issues/issue-layouts/quick-action-dropdowns"; -import { SpreadsheetLayoutLoader } from "@/components/ui/loader/layouts/spreadsheet-layout-loader"; +import { SpreadsheetLayoutLoader } from "@/components/skeletons/loader/layouts/spreadsheet-layout-loader"; // hooks import { useIssues } from "@/hooks/store/use-issues"; import { useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-table.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-table.tsx index 6fca4d9f..eb326166 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-table.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-table.tsx @@ -10,7 +10,7 @@ import { observer } from "mobx-react"; // pace imports import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssue } from "@pace/types"; // components -import { SpreadsheetIssueRowLoader } from "@/components/ui/loader/layouts/spreadsheet-layout-loader"; +import { SpreadsheetIssueRowLoader } from "@/components/skeletons/loader/layouts/spreadsheet-layout-loader"; // hooks import { useIntersectionObserver } from "@/hooks/use-intersection-observer"; import { useIssuesStore } from "@/hooks/use-issue-layout-store"; diff --git a/apps/web/core/components/issues/workspace-draft/loader.tsx b/apps/web/core/components/issues/workspace-draft/loader.tsx index b301f946..915f6ae4 100644 --- a/apps/web/core/components/issues/workspace-draft/loader.tsx +++ b/apps/web/core/components/issues/workspace-draft/loader.tsx @@ -6,7 +6,7 @@ import { range } from "lodash-es"; // components -import { ListLoaderItemRow } from "@/components/ui/loader/layouts/list-layout-loader"; +import { ListLoaderItemRow } from "@/components/skeletons/loader/layouts/list-layout-loader"; type TWorkspaceDraftIssuesLoader = { items?: number; diff --git a/apps/web/core/components/modules/archived-modules/root.tsx b/apps/web/core/components/modules/archived-modules/root.tsx index 269c21bc..81c5ea10 100644 --- a/apps/web/core/components/modules/archived-modules/root.tsx +++ b/apps/web/core/components/modules/archived-modules/root.tsx @@ -15,7 +15,7 @@ import type { TModuleFilters } from "@pace/types"; // components import { calculateTotalFilters } from "@pace/utils"; import { ArchivedModulesView, ModuleAppliedFiltersList } from "@/components/modules"; -import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader"; +import { CycleModuleListLayoutLoader } from "@/components/skeletons/loader/cycle-module-list-loader"; // helpers // hooks import { useModule } from "@/hooks/store/use-module"; diff --git a/apps/web/core/components/modules/archived-modules/view.tsx b/apps/web/core/components/modules/archived-modules/view.tsx index 9485194a..128b6165 100644 --- a/apps/web/core/components/modules/archived-modules/view.tsx +++ b/apps/web/core/components/modules/archived-modules/view.tsx @@ -11,7 +11,7 @@ import NameFilterImage from "@/assets/empty-state/module/name-filter.svg?url"; // components import { ModuleListItem, ModulePeekOverview } from "@/components/modules"; // ui -import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader"; +import { CycleModuleListLayoutLoader } from "@/components/skeletons/loader/cycle-module-list-loader"; // hooks import { useModule } from "@/hooks/store/use-module"; import { useModuleFilter } from "@/hooks/store/use-module-filter"; diff --git a/apps/web/core/components/modules/modules-list-view.tsx b/apps/web/core/components/modules/modules-list-view.tsx index 099561b5..7ce7ea01 100644 --- a/apps/web/core/components/modules/modules-list-view.tsx +++ b/apps/web/core/components/modules/modules-list-view.tsx @@ -16,9 +16,9 @@ import { ContentWrapper, Row, ERowVariant } from "@pace/ui"; // components import { ListLayout } from "@/components/core/list"; import { ModuleCardItem, ModuleListItem, ModulePeekOverview, ModulesListGanttChartView } from "@/components/modules"; -import { CycleModuleBoardLayoutLoader } from "@/components/ui/loader/cycle-module-board-loader"; -import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader"; -import { GanttLayoutLoader } from "@/components/ui/loader/layouts/gantt-layout-loader"; +import { CycleModuleBoardLayoutLoader } from "@/components/skeletons/loader/cycle-module-board-loader"; +import { CycleModuleListLayoutLoader } from "@/components/skeletons/loader/cycle-module-list-loader"; +import { GanttLayoutLoader } from "@/components/skeletons/loader/layouts/gantt-layout-loader"; // hooks import { useCommandPalette } from "@/hooks/store/use-command-palette"; import { useModule } from "@/hooks/store/use-module"; diff --git a/apps/web/core/components/profile/activity/activity-list.tsx b/apps/web/core/components/profile/activity/activity-list.tsx index 767eeb33..2fa7c44e 100644 --- a/apps/web/core/components/profile/activity/activity-list.tsx +++ b/apps/web/core/components/profile/activity/activity-list.tsx @@ -14,7 +14,7 @@ import { calculateTimeAgo, getFileURL } from "@pace/utils"; // components import { ActivityIcon, ActivityMessage, IssueLink } from "@/components/core/activity"; import { RichTextEditor } from "@/components/editor/rich-text"; -import { ActivitySettingsLoader } from "@/components/ui/loader/settings/activity"; +import { ActivitySettingsLoader } from "@/components/skeletons/loader/settings/activity"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; import { useUser } from "@/hooks/store/user"; diff --git a/apps/web/core/components/project/card-list.tsx b/apps/web/core/components/project/card-list.tsx index 74247e1c..1245bc60 100644 --- a/apps/web/core/components/project/card-list.tsx +++ b/apps/web/core/components/project/card-list.tsx @@ -12,7 +12,7 @@ import { EmptyStateDetailed } from "@pace/propel/empty-state"; import { ContentWrapper } from "@pace/ui"; // components import { calculateTotalFilters } from "@pace/utils"; -import { ProjectsLoader } from "@/components/ui/loader/projects-loader"; +import { ProjectsLoader } from "@/components/skeletons/loader/projects-loader"; // hooks import { useCommandPalette } from "@/hooks/store/use-command-palette"; import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/project/member-list.tsx b/apps/web/core/components/project/member-list.tsx index 36c41f6d..88ecd7a0 100644 --- a/apps/web/core/components/project/member-list.tsx +++ b/apps/web/core/components/project/member-list.tsx @@ -12,7 +12,7 @@ import { useTranslation } from "@pace/i18n"; import { Button } from "@pace/propel/button"; import { SearchOutline } from "@makeplane/propel/icons"; // components -import { MembersSettingsLoader } from "@/components/ui/loader/settings/members"; +import { MembersSettingsLoader } from "@/components/skeletons/loader/settings/members"; // hooks import { useMember } from "@/hooks/store/use-member"; import { useUserPermissions } from "@/hooks/store/user"; diff --git a/apps/web/core/components/settings/profile/content/pages/api-tokens.tsx b/apps/web/core/components/settings/profile/content/pages/api-tokens.tsx index 04fa6b92..36510a8b 100644 --- a/apps/web/core/components/settings/profile/content/pages/api-tokens.tsx +++ b/apps/web/core/components/settings/profile/content/pages/api-tokens.tsx @@ -16,7 +16,7 @@ import { APITokenService } from "@pace/services"; import { CreateApiTokenModal } from "@/components/api-token/modal/create-token-modal"; import { ApiTokenListItem } from "@/components/api-token/token-list-item"; import { ProfileSettingsHeading } from "@/components/settings/profile/heading"; -import { APITokenSettingsLoader } from "@/components/ui/loader/settings/api-token"; +import { APITokenSettingsLoader } from "@/components/skeletons/loader/settings/api-token"; // constants import { API_TOKENS_LIST } from "@pace/constants"; diff --git a/apps/web/core/components/settings/profile/content/pages/notifications/root.tsx b/apps/web/core/components/settings/profile/content/pages/notifications/root.tsx index 920e5caa..78e27cfa 100644 --- a/apps/web/core/components/settings/profile/content/pages/notifications/root.tsx +++ b/apps/web/core/components/settings/profile/content/pages/notifications/root.tsx @@ -10,7 +10,7 @@ import { observer } from "mobx-react"; import { useTranslation } from "@pace/i18n"; // components import { ProfileSettingsHeading } from "@/components/settings/profile/heading"; -import { EmailSettingsLoader } from "@/components/ui/loader/settings/email"; +import { EmailSettingsLoader } from "@/components/skeletons/loader/settings/email"; // services import { UserService } from "@pace/services"; // local imports diff --git a/apps/web/core/components/ui/loader/cycle-module-board-loader.tsx b/apps/web/core/components/skeletons/loader/cycle-module-board-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/cycle-module-board-loader.tsx rename to apps/web/core/components/skeletons/loader/cycle-module-board-loader.tsx diff --git a/apps/web/core/components/ui/loader/cycle-module-list-loader.tsx b/apps/web/core/components/skeletons/loader/cycle-module-list-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/cycle-module-list-loader.tsx rename to apps/web/core/components/skeletons/loader/cycle-module-list-loader.tsx diff --git a/apps/web/core/components/ui/loader/layouts/calendar-layout-loader.tsx b/apps/web/core/components/skeletons/loader/layouts/calendar-layout-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/layouts/calendar-layout-loader.tsx rename to apps/web/core/components/skeletons/loader/layouts/calendar-layout-loader.tsx diff --git a/apps/web/core/components/ui/loader/layouts/gantt-layout-loader.tsx b/apps/web/core/components/skeletons/loader/layouts/gantt-layout-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/layouts/gantt-layout-loader.tsx rename to apps/web/core/components/skeletons/loader/layouts/gantt-layout-loader.tsx diff --git a/apps/web/core/components/ui/loader/layouts/kanban-layout-loader.tsx b/apps/web/core/components/skeletons/loader/layouts/kanban-layout-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/layouts/kanban-layout-loader.tsx rename to apps/web/core/components/skeletons/loader/layouts/kanban-layout-loader.tsx diff --git a/apps/web/core/components/ui/loader/layouts/list-layout-loader.tsx b/apps/web/core/components/skeletons/loader/layouts/list-layout-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/layouts/list-layout-loader.tsx rename to apps/web/core/components/skeletons/loader/layouts/list-layout-loader.tsx diff --git a/apps/web/core/components/ui/loader/layouts/members-layout-loader.tsx b/apps/web/core/components/skeletons/loader/layouts/members-layout-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/layouts/members-layout-loader.tsx rename to apps/web/core/components/skeletons/loader/layouts/members-layout-loader.tsx diff --git a/apps/web/core/components/ui/loader/layouts/project-inbox/inbox-layout-loader.tsx b/apps/web/core/components/skeletons/loader/layouts/project-inbox/inbox-layout-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/layouts/project-inbox/inbox-layout-loader.tsx rename to apps/web/core/components/skeletons/loader/layouts/project-inbox/inbox-layout-loader.tsx diff --git a/apps/web/core/components/ui/loader/layouts/project-inbox/inbox-sidebar-loader.tsx b/apps/web/core/components/skeletons/loader/layouts/project-inbox/inbox-sidebar-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/layouts/project-inbox/inbox-sidebar-loader.tsx rename to apps/web/core/components/skeletons/loader/layouts/project-inbox/inbox-sidebar-loader.tsx diff --git a/apps/web/core/components/ui/loader/layouts/spreadsheet-layout-loader.tsx b/apps/web/core/components/skeletons/loader/layouts/spreadsheet-layout-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/layouts/spreadsheet-layout-loader.tsx rename to apps/web/core/components/skeletons/loader/layouts/spreadsheet-layout-loader.tsx diff --git a/apps/web/core/components/ui/loader/projects-loader.tsx b/apps/web/core/components/skeletons/loader/projects-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/projects-loader.tsx rename to apps/web/core/components/skeletons/loader/projects-loader.tsx diff --git a/apps/web/core/components/ui/loader/settings/activity.tsx b/apps/web/core/components/skeletons/loader/settings/activity.tsx similarity index 100% rename from apps/web/core/components/ui/loader/settings/activity.tsx rename to apps/web/core/components/skeletons/loader/settings/activity.tsx diff --git a/apps/web/core/components/ui/loader/settings/api-token.tsx b/apps/web/core/components/skeletons/loader/settings/api-token.tsx similarity index 100% rename from apps/web/core/components/ui/loader/settings/api-token.tsx rename to apps/web/core/components/skeletons/loader/settings/api-token.tsx diff --git a/apps/web/core/components/ui/loader/settings/email.tsx b/apps/web/core/components/skeletons/loader/settings/email.tsx similarity index 100% rename from apps/web/core/components/ui/loader/settings/email.tsx rename to apps/web/core/components/skeletons/loader/settings/email.tsx diff --git a/apps/web/core/components/ui/loader/settings/import-and-export.tsx b/apps/web/core/components/skeletons/loader/settings/import-and-export.tsx similarity index 100% rename from apps/web/core/components/ui/loader/settings/import-and-export.tsx rename to apps/web/core/components/skeletons/loader/settings/import-and-export.tsx diff --git a/apps/web/core/components/ui/loader/settings/integration.tsx b/apps/web/core/components/skeletons/loader/settings/integration.tsx similarity index 100% rename from apps/web/core/components/ui/loader/settings/integration.tsx rename to apps/web/core/components/skeletons/loader/settings/integration.tsx diff --git a/apps/web/core/components/ui/loader/settings/members.tsx b/apps/web/core/components/skeletons/loader/settings/members.tsx similarity index 100% rename from apps/web/core/components/ui/loader/settings/members.tsx rename to apps/web/core/components/skeletons/loader/settings/members.tsx diff --git a/apps/web/core/components/ui/loader/settings/web-hook.tsx b/apps/web/core/components/skeletons/loader/settings/web-hook.tsx similarity index 100% rename from apps/web/core/components/ui/loader/settings/web-hook.tsx rename to apps/web/core/components/skeletons/loader/settings/web-hook.tsx diff --git a/apps/web/core/components/ui/loader/utils.tsx b/apps/web/core/components/skeletons/loader/utils.tsx similarity index 100% rename from apps/web/core/components/ui/loader/utils.tsx rename to apps/web/core/components/skeletons/loader/utils.tsx diff --git a/apps/web/core/components/ui/loader/view-list-loader.tsx b/apps/web/core/components/skeletons/loader/view-list-loader.tsx similarity index 100% rename from apps/web/core/components/ui/loader/view-list-loader.tsx rename to apps/web/core/components/skeletons/loader/view-list-loader.tsx diff --git a/apps/web/core/components/views/views-list.tsx b/apps/web/core/components/views/views-list.tsx index bdd1aa8e..122ef2d4 100644 --- a/apps/web/core/components/views/views-list.tsx +++ b/apps/web/core/components/views/views-list.tsx @@ -13,7 +13,7 @@ import { EmptyStateDetailed } from "@pace/propel/empty-state"; import { EUserProjectRoles } from "@pace/types"; // components import { ListLayout } from "@/components/core/list"; -import { ViewListLoader } from "@/components/ui/loader/view-list-loader"; +import { ViewListLoader } from "@/components/skeletons/loader/view-list-loader"; // hooks import { useCommandPalette } from "@/hooks/store/use-command-palette"; import { useProjectView } from "@/hooks/store/use-project-view"; diff --git a/apps/web/core/components/workspace/settings/members-list-item.tsx b/apps/web/core/components/workspace/settings/members-list-item.tsx index 6f9606b6..16b31c0d 100644 --- a/apps/web/core/components/workspace/settings/members-list-item.tsx +++ b/apps/web/core/components/workspace/settings/members-list-item.tsx @@ -12,7 +12,7 @@ import { TOAST_TYPE, setToast } from "@pace/propel/toast"; import type { IWorkspaceMember } from "@pace/types"; import { Table } from "@pace/ui"; // components -import { MembersLayoutLoader } from "@/components/ui/loader/layouts/members-layout-loader"; +import { MembersLayoutLoader } from "@/components/skeletons/loader/layouts/members-layout-loader"; import { ConfirmWorkspaceMemberRemove } from "@/components/workspace/confirm-workspace-member-remove"; import type { RowData } from "@/components/workspace/settings/member-columns"; // hooks diff --git a/apps/web/core/components/workspace/settings/members-list.tsx b/apps/web/core/components/workspace/settings/members-list.tsx index 9e16b711..30d2626d 100644 --- a/apps/web/core/components/workspace/settings/members-list.tsx +++ b/apps/web/core/components/workspace/settings/members-list.tsx @@ -13,7 +13,7 @@ import { Collapsible } from "@makeplane/propel/components/collapsible"; import { useTranslation } from "@pace/i18n"; // components import { CountChip } from "@/components/common/count-chip"; -import { MembersSettingsLoader } from "@/components/ui/loader/settings/members"; +import { MembersSettingsLoader } from "@/components/skeletons/loader/settings/members"; // hooks import { useMember } from "@/hooks/store/use-member"; // local imports diff --git a/apps/web/core/components/workspace/views/views-list.tsx b/apps/web/core/components/workspace/views/views-list.tsx index d2a728b8..4ce2ccc1 100644 --- a/apps/web/core/components/workspace/views/views-list.tsx +++ b/apps/web/core/components/workspace/views/views-list.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; import { useParams } from "@/lib/navigation"; import useSWR from "swr"; // components -import { ViewListLoader } from "@/components/ui/loader/view-list-loader"; +import { ViewListLoader } from "@/components/skeletons/loader/view-list-loader"; // hooks import { useGlobalView } from "@/hooks/store/use-global-view"; // local imports From dcb8c835c24f18e0abfa1db25d62c06abe8573f9 Mon Sep 17 00:00:00 2001 From: Evan Hu Date: Sat, 19 Sep 2026 00:05:48 +0900 Subject: [PATCH 4/6] refactor(web): extract the route-shell primitives into core/components/shell PageTitle, ContentWrapper and AppHeader are the three highest-traffic residents of core/components/core, and unlike the rest of that bucket they share an obvious identity: they are the chrome every route renders around its content, consumed almost entirely by app/ layouts and pages. Ninety-eight of the directory's import lines point at these three files, so naming them is where the bucket's cost actually is. shell rather than app-shell keeps the import short, and rather than core/layouts because that directory already exists with a different meaning: it holds three route-level layout components, not primitives those layouts compose. The remaining 33 files in core/components/core are deliberately untouched. They have no single destination between them and each one wants a judgement call about its owning feature; emptying the directory is not what this change is for. --- .../[workspaceSlug]/(projects)/active-cycles/layout.tsx | 4 ++-- .../(all)/[workspaceSlug]/(projects)/active-cycles/page.tsx | 2 +- .../[workspaceSlug]/(projects)/analytics/[tabId]/layout.tsx | 4 ++-- .../[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx | 2 +- .../[workspaceSlug]/(projects)/browse/[workItem]/header.tsx | 2 +- .../[workspaceSlug]/(projects)/browse/[workItem]/layout.tsx | 2 +- .../[workspaceSlug]/(projects)/browse/[workItem]/page.tsx | 2 +- .../app/(all)/[workspaceSlug]/(projects)/drafts/layout.tsx | 4 ++-- .../app/(all)/[workspaceSlug]/(projects)/drafts/page.tsx | 2 +- .../(all)/[workspaceSlug]/(projects)/notifications/page.tsx | 2 +- apps/web/app/(all)/[workspaceSlug]/(projects)/page.tsx | 6 +++--- .../(projects)/profile/[userId]/[profileViewId]/page.tsx | 2 +- .../(projects)/profile/[userId]/activity/page.tsx | 2 +- .../[workspaceSlug]/(projects)/profile/[userId]/layout.tsx | 4 ++-- .../[workspaceSlug]/(projects)/profile/[userId]/page.tsx | 2 +- .../(detail)/[projectId]/archives/cycles/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/archives/cycles/page.tsx | 2 +- .../archives/issues/(detail)/[archivedIssueId]/page.tsx | 2 +- .../[projectId]/archives/issues/(detail)/layout.tsx | 4 ++-- .../(detail)/[projectId]/archives/issues/(list)/layout.tsx | 4 ++-- .../(detail)/[projectId]/archives/issues/(list)/page.tsx | 2 +- .../(detail)/[projectId]/archives/modules/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/archives/modules/page.tsx | 2 +- .../(detail)/[projectId]/cycles/(detail)/[cycleId]/page.tsx | 2 +- .../(detail)/[projectId]/cycles/(detail)/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/cycles/(list)/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/cycles/(list)/page.tsx | 2 +- .../projects/(detail)/[projectId]/intake/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/intake/page.tsx | 2 +- .../projects/(detail)/[projectId]/issues/(list)/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/issues/(list)/page.tsx | 2 +- .../[projectId]/modules/(detail)/[moduleId]/page.tsx | 2 +- .../(detail)/[projectId]/modules/(detail)/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/modules/(list)/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/modules/(list)/page.tsx | 2 +- .../(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx | 2 +- .../projects/(detail)/[projectId]/pages/(detail)/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/pages/(list)/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/pages/(list)/page.tsx | 2 +- .../(detail)/[projectId]/views/(detail)/[viewId]/page.tsx | 2 +- .../projects/(detail)/[projectId]/views/(detail)/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/views/(list)/layout.tsx | 4 ++-- .../projects/(detail)/[projectId]/views/(list)/page.tsx | 2 +- .../(projects)/projects/(detail)/archives/layout.tsx | 4 ++-- .../[workspaceSlug]/(projects)/projects/(list)/layout.tsx | 4 ++-- .../(all)/[workspaceSlug]/(projects)/stickies/layout.tsx | 4 ++-- .../app/(all)/[workspaceSlug]/(projects)/stickies/page.tsx | 2 +- .../(projects)/workspace-views/[globalViewId]/page.tsx | 2 +- .../[workspaceSlug]/(projects)/workspace-views/layout.tsx | 4 ++-- .../[workspaceSlug]/(projects)/workspace-views/page.tsx | 2 +- apps/web/app/(all)/[workspaceSlug]/(settings)/layout.tsx | 2 +- .../(settings)/settings/(workspace)/billing/page.tsx | 2 +- .../(settings)/settings/(workspace)/exports/page.tsx | 2 +- .../(settings)/settings/(workspace)/integrations/page.tsx | 2 +- .../(settings)/settings/(workspace)/members/page.tsx | 2 +- .../(settings)/settings/(workspace)/page.tsx | 2 +- .../settings/(workspace)/webhooks/[webhookId]/page.tsx | 2 +- .../(settings)/settings/(workspace)/webhooks/page.tsx | 2 +- .../settings/projects/[projectId]/automations/page.tsx | 2 +- .../settings/projects/[projectId]/estimates/page.tsx | 2 +- .../settings/projects/[projectId]/features/cycles/page.tsx | 2 +- .../settings/projects/[projectId]/features/intake/page.tsx | 2 +- .../settings/projects/[projectId]/features/modules/page.tsx | 2 +- .../settings/projects/[projectId]/features/pages/page.tsx | 2 +- .../settings/projects/[projectId]/features/views/page.tsx | 2 +- .../settings/projects/[projectId]/labels/page.tsx | 2 +- .../settings/projects/[projectId]/members/page.tsx | 2 +- .../(settings)/settings/projects/[projectId]/page.tsx | 2 +- .../settings/projects/[projectId]/states/page.tsx | 2 +- apps/web/app/(all)/settings/profile/[profileTabId]/page.tsx | 2 +- apps/web/core/components/auth-screens/header.tsx | 2 +- apps/web/core/components/project/root.tsx | 2 +- apps/web/core/components/settings/content-wrapper.tsx | 2 +- .../settings/profile/content/pages/general/root.tsx | 2 +- apps/web/core/components/{core => shell}/app-header.tsx | 0 .../web/core/components/{core => shell}/content-wrapper.tsx | 0 apps/web/core/components/{core => shell}/page-title.tsx | 0 77 files changed, 98 insertions(+), 98 deletions(-) rename apps/web/core/components/{core => shell}/app-header.tsx (100%) rename apps/web/core/components/{core => shell}/content-wrapper.tsx (100%) rename apps/web/core/components/{core => shell}/page-title.tsx (100%) diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/layout.tsx index fb000228..d720909f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/layout.tsx @@ -6,8 +6,8 @@ // components import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; // local imports import { WorkspaceActiveCycleHeader } from "./header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/page.tsx index 12e3afe5..7e4c151a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/page.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; // local imports diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/layout.tsx index e1236607..2606bcd8 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/layout.tsx @@ -6,8 +6,8 @@ // components import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { WorkspaceAnalyticsHeader } from "./header"; export default function WorkspaceAnalyticsTabLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx index 022a08fd..5c41edb9 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx @@ -15,7 +15,7 @@ import { Tab, Tabs, TabsList, TabsPanel } from "@makeplane/propel/components/tab // components import { cn } from "@pace/utils"; import AnalyticsFilterActions from "@/components/analytics/analytics-filter-actions"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; // hooks import { useCommandPalette } from "@/hooks/store/use-command-palette"; import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/header.tsx index 37fa8f8b..18a69ad0 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/header.tsx @@ -10,7 +10,7 @@ import { useParams } from "@/lib/navigation"; import { Header, Row } from "@pace/ui"; import { cn } from "@pace/utils"; // components -import { AppHeader } from "@/components/core/app-header"; +import { AppHeader } from "@/components/shell/app-header"; import { TabNavigationRoot } from "@/components/navigation"; import { AppSidebarToggleButton } from "@/components/sidebar/sidebar-toggle-button"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/layout.tsx index b8b8a58e..c90dfc56 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/layout.tsx @@ -6,7 +6,7 @@ // components import { Outlet } from "react-router"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectWorkItemDetailsHeader } from "./header"; export default function ProjectIssueDetailsLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx index f89cc115..2f1b5736 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx @@ -18,7 +18,7 @@ import emptyIssueDark from "@/assets/empty-state/search/issues-dark.webp?url"; import emptyIssueLight from "@/assets/empty-state/search/issues-light.webp?url"; // components import { EmptyState } from "@/components/empty-state/empty-state"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; // hooks import { useAppTheme } from "@/hooks/store/use-app-theme"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/layout.tsx index d7df53f9..d8e3d26b 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/layout.tsx @@ -6,8 +6,8 @@ // components import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; // local imports import { WorkspaceDraftHeader } from "./header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/page.tsx index 300fbce1..97ed3d46 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/page.tsx @@ -5,7 +5,7 @@ */ // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { WorkspaceDraftIssuesRoot } from "@/components/issues/workspace-draft"; import type { Route } from "./+types/page"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/notifications/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/notifications/page.tsx index d1aa7c4c..7d84d108 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/notifications/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/notifications/page.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // pace imports import { useTranslation } from "@pace/i18n"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { NotificationsRoot } from "@/components/workspace-notifications"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/page.tsx index 529527b2..0325c163 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/page.tsx @@ -7,9 +7,9 @@ import { observer } from "mobx-react"; // components import { useTranslation } from "@pace/i18n"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; -import { PageHead } from "@/components/core/page-title"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; +import { PageHead } from "@/components/shell/page-title"; import { WorkspaceHomeView } from "@/components/home"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/[profileViewId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/[profileViewId]/page.tsx index 1f1fe4ce..0a1a6a53 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/[profileViewId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/[profileViewId]/page.tsx @@ -6,7 +6,7 @@ import React from "react"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProfileIssuesPage } from "@/components/profile/profile-issues"; import type { Route } from "./+types/page"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx index b561d0b4..d89ac662 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx @@ -11,7 +11,7 @@ import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { useTranslation } from "@pace/i18n"; import { Button } from "@pace/propel/button"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { DownloadActivityButton } from "@/components/profile/activity/download-button"; import { WorkspaceActivityListPage } from "@/components/profile/activity/workspace-activity-list"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/layout.tsx index 68e4169a..304b7a5c 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/layout.tsx @@ -11,8 +11,8 @@ import useSWR from "swr"; // components import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB, EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { useTranslation } from "@pace/i18n"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProfileSidebar } from "@/components/profile/sidebar"; // constants import { USER_PROFILE_PROJECT_SEGREGATION } from "@pace/constants"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx index d94dd382..035c8118 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx @@ -11,7 +11,7 @@ import { useTranslation } from "@pace/i18n"; import type { IUserStateDistribution, TStateGroups } from "@pace/types"; import { ContentWrapper } from "@pace/ui"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProfileActivity } from "@/components/profile/overview/activity"; import { ProfilePriorityDistribution } from "@/components/profile/overview/priority-distribution"; import { ProfileStateDistribution } from "@/components/profile/overview/state-distribution"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/layout.tsx index 1b3fc1ef..82808a42 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectArchivesHeader } from "../header"; export default function ProjectArchiveCyclesLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/page.tsx index d25a11bf..6d7edb50 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/page.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ArchivedCycleLayoutRoot } from "@/components/cycles/archived-cycles"; import { ArchivedCyclesHeader } from "@/components/cycles/archived-cycles/header"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/[archivedIssueId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/[archivedIssueId]/page.tsx index 9b514258..1fc8527f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/[archivedIssueId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/[archivedIssueId]/page.tsx @@ -14,7 +14,7 @@ import { useTranslation } from "@pace/i18n"; import { Button } from "@pace/propel/button"; import { Loader } from "@pace/ui"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { IssueDetailRoot } from "@/components/issues/issue-detail"; // constants // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/layout.tsx index 1d99a732..feff0b42 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectArchivedIssueDetailsHeader } from "./header"; export default function ProjectArchivedIssueDetailLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/layout.tsx index 6385a3a1..8a5a886a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectArchivesHeader } from "../../header"; export default function ProjectArchiveIssuesLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/page.tsx index 0a493cb3..a598790e 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/page.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ArchivedIssuesHeader } from "@/components/issues/archived-issues-header"; import { ArchivedIssueLayoutRoot } from "@/components/issues/issue-layouts/roots/archived-issue-layout-root"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/modules/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/modules/layout.tsx index 0101dcf2..c0ccdda6 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/modules/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/modules/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectArchivesHeader } from "../header"; export default function ProjectArchiveModulesLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/modules/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/modules/page.tsx index 39a6a16a..8cb0c793 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/modules/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/modules/page.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ArchivedModuleLayoutRoot, ArchivedModulesHeader } from "@/components/modules"; // hooks import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/[cycleId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/[cycleId]/page.tsx index a4a0a66e..597af549 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/[cycleId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/[cycleId]/page.tsx @@ -11,7 +11,7 @@ import { cn } from "@pace/utils"; import emptyCycle from "@/assets/empty-state/cycle.svg?url"; // components import { EmptyState } from "@/components/empty-state/empty-state"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import useCyclesDetails from "@/components/cycles/active-cycle/use-cycles-details"; import { CycleDetailsSidebar } from "@/components/cycles/analytics-sidebar"; import { CycleLayoutRoot } from "@/components/issues/issue-layouts/roots/cycle-layout-root"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/layout.tsx index 2d92265f..3ba4ad03 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { CycleIssuesHeader } from "./header"; import { CycleIssuesMobileHeader } from "./mobile-header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/layout.tsx index c1b00334..ce6fbdb5 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { CyclesListHeader } from "./header"; import { CyclesListMobileHeader } from "./mobile-header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx index 46b24b80..7ddfc0ef 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx @@ -20,7 +20,7 @@ import { calculateTotalFilters } from "@pace/utils"; import darkEmptyState from "@/assets/empty-state/disabled-feature/cycles-dark.webp?url"; import lightEmptyState from "@/assets/empty-state/disabled-feature/cycles-light.webp?url"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { CycleAppliedFiltersList } from "@/components/cycles/applied-filters"; import { CyclesView } from "@/components/cycles/cycles-view"; import { CycleCreateUpdateModal } from "@/components/cycles/modal"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/intake/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/intake/layout.tsx index 99c88f98..e3b640a6 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/intake/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/intake/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectInboxHeader } from "@/components/projects/settings/intake/header"; export default function ProjectInboxIssuesLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/intake/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/intake/page.tsx index f31dc60f..59813b8a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/intake/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/intake/page.tsx @@ -15,7 +15,7 @@ import { EUserProjectRoles, EInboxIssueCurrentTab } from "@pace/types"; import darkIntakeAsset from "@/assets/empty-state/disabled-feature/intake-dark.webp?url"; import lightIntakeAsset from "@/assets/empty-state/disabled-feature/intake-light.webp?url"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; import { InboxIssueRoot } from "@/components/inbox"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/layout.tsx index c8ac5957..5ecbec30 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/layout.tsx @@ -6,8 +6,8 @@ // components import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectIssuesHeader } from "./header"; import { ProjectIssuesMobileHeader } from "./mobile-header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/page.tsx index 025515d3..e860ba27 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/page.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // i18n import { useTranslation } from "@pace/i18n"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProjectLayoutRoot } from "@/components/issues/issue-layouts/roots/project-layout-root"; // hooks import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/[moduleId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/[moduleId]/page.tsx index 775acf4f..f4c4e188 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/[moduleId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/[moduleId]/page.tsx @@ -12,7 +12,7 @@ import { cn } from "@pace/utils"; import emptyModule from "@/assets/empty-state/module.svg?url"; // components import { EmptyState } from "@/components/empty-state/empty-state"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ModuleLayoutRoot } from "@/components/issues/issue-layouts/roots/module-layout-root"; import { ModuleAnalyticsSidebar } from "@/components/modules"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/layout.tsx index f11b9068..7c4fe56f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ModuleIssuesHeader } from "./header"; import { ModuleIssuesMobileHeader } from "./mobile-header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/layout.tsx index 46eb9f10..a77f7720 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ModulesListHeader } from "./header"; import { ModulesListMobileHeader } from "./mobile-header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/page.tsx index fa650a75..6af5ea64 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/page.tsx @@ -17,7 +17,7 @@ import { calculateTotalFilters } from "@pace/utils"; import darkModulesAsset from "@/assets/empty-state/disabled-feature/modules-dark.webp?url"; import lightModulesAsset from "@/assets/empty-state/disabled-feature/modules-light.webp?url"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; import { ModuleAppliedFiltersList, ModulesListView } from "@/components/modules"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx index ea00d59b..036c4d3f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx @@ -17,7 +17,7 @@ import { EFileAssetType } from "@pace/types"; import { cn } from "@pace/utils"; // components import { LogoSpinner } from "@/components/common/logo-spinner"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { IssuePeekOverview } from "@/components/issues/peek-overview"; import type { TPageRootConfig, TPageRootHandlers } from "@/components/pages/editor/page-root"; import { PageRoot } from "@/components/pages/editor/page-root"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/layout.tsx index 9cb9bb3d..c3b5d9a4 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/layout.tsx @@ -7,8 +7,8 @@ // component import { Outlet } from "react-router"; import useSWR from "swr"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; // pace web hooks import { EPageStoreType, usePageStore } from "@/hooks/store"; // local components diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/layout.tsx index b803854b..6f87587b 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/layout.tsx @@ -6,8 +6,8 @@ // components import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; // local components import { PagesListHeader } from "./header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx index 42db71e7..9eac6d66 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx @@ -16,7 +16,7 @@ import { EUserProjectRoles } from "@pace/types"; import darkPagesAsset from "@/assets/empty-state/disabled-feature/pages-dark.webp?url"; import lightPagesAsset from "@/assets/empty-state/disabled-feature/pages-light.webp?url"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; import { PagesListRoot } from "@/components/pages/list/root"; import { PagesListView } from "@/components/pages/pages-list-view"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/page.tsx index 93734b57..809f6a6e 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/page.tsx @@ -10,7 +10,7 @@ import useSWR from "swr"; import emptyView from "@/assets/empty-state/view.svg?url"; // components import { EmptyState } from "@/components/empty-state/empty-state"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProjectViewLayoutRoot } from "@/components/issues/issue-layouts/roots/project-view-layout-root"; // hooks import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/layout.tsx index b33381b9..7c54d0d1 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/layout.tsx @@ -5,8 +5,8 @@ */ import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; // local components import { ProjectViewIssuesHeader } from "./[viewId]/header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/layout.tsx index 0b6dda9d..088ef085 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/layout.tsx @@ -5,8 +5,8 @@ */ import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; // local components import { ProjectViewsHeader } from "./header"; import { ViewMobileHeader } from "./mobile-header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx index 60df6c27..a7c897ce 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx @@ -18,7 +18,7 @@ import { calculateTotalFilters } from "@pace/utils"; import darkViewsAsset from "@/assets/empty-state/disabled-feature/views-dark.webp?url"; import lightViewsAsset from "@/assets/empty-state/disabled-feature/views-light.webp?url"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; import { ViewAppliedFiltersList } from "@/components/views/applied-filters"; import { ProjectViewsList } from "@/components/views/views-list"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/archives/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/archives/layout.tsx index 219d9dbc..ed410098 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/archives/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/archives/layout.tsx @@ -6,8 +6,8 @@ // components import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectsListMobileHeader } from "@/components/projects/mobile-header"; import { ProjectsBaseHeader } from "@/components/project/header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(list)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(list)/layout.tsx index 0f39520b..fcffb74e 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(list)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(list)/layout.tsx @@ -6,8 +6,8 @@ import { Outlet } from "react-router"; // components -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectsListMobileHeader } from "@/components/projects/mobile-header"; import { ProjectsBaseHeader } from "@/components/project/header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/layout.tsx index 14be62a1..9f329448 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/layout.tsx @@ -5,8 +5,8 @@ */ import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { WorkspaceStickyHeader } from "./header"; export default function WorkspaceStickiesLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/page.tsx index d925b2ce..3edf4bf7 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/page.tsx @@ -5,7 +5,7 @@ */ // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { StickiesInfinite } from "@/components/stickies/layout/stickies-infinite"; export default function WorkspaceStickiesPage() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/[globalViewId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/[globalViewId]/page.tsx index 0ef5f2bf..8c694e4a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/[globalViewId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/[globalViewId]/page.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; // pace imports import { DEFAULT_GLOBAL_VIEWS_LIST } from "@pace/constants"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { AllIssueLayoutRoot } from "@/components/issues/issue-layouts/roots/all-issue-layout-root"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/layout.tsx index 60f6e5aa..3108d661 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/layout.tsx @@ -5,8 +5,8 @@ */ import { Outlet } from "react-router"; -import { AppHeader } from "@/components/core/app-header"; -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { AppHeader } from "@/components/shell/app-header"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { GlobalIssuesHeader } from "./header"; export default function GlobalIssuesLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/page.tsx index a328638e..4c34676f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/page.tsx @@ -13,7 +13,7 @@ import { useTranslation } from "@pace/i18n"; import { SearchOutline } from "@makeplane/propel/icons"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { GlobalDefaultViewListItem } from "@/components/workspace/views/default-view-list-item"; import { GlobalViewsList } from "@/components/workspace/views/views-list"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/layout.tsx index a8d2c4b0..4c3a1315 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/layout.tsx @@ -6,7 +6,7 @@ import { Outlet } from "react-router"; // components -import { ContentWrapper } from "@/components/core/content-wrapper"; +import { ContentWrapper } from "@/components/shell/content-wrapper"; import { ProjectsAppPowerKProvider } from "@/components/power-k/projects-app-provider"; export default function SettingsLayout() { diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/billing/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/billing/page.tsx index 23238be8..0d07c756 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/billing/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/billing/page.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // component import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/exports/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/exports/page.tsx index d25ecec2..cbc52c9e 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/exports/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/exports/page.tsx @@ -10,7 +10,7 @@ import { useTranslation } from "@pace/i18n"; import { cn } from "@pace/utils"; // components import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ExportGuide } from "@/components/exporter/guide"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { SettingsHeading } from "@/components/settings/heading"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsx index d496e6d3..7084a0e8 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsx @@ -10,7 +10,7 @@ import useSWR from "swr"; import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { useTranslation } from "@pace/i18n"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SingleIntegrationCard } from "@/components/integration/single-integration-card"; import { IntegrationsSettingsLoader } from "@/components/skeletons/loader/settings/integration"; // constants diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx index db3b7a99..80a9de9b 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx @@ -17,7 +17,7 @@ import { cn } from "@pace/utils"; // components import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; import { CountChip } from "@/components/common/count-chip"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { MemberListFiltersDropdown } from "@/components/project/dropdowns/filters/member-list"; import { WorkspaceMembersList } from "@/components/workspace/settings/members-list"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/page.tsx index a756a8f7..8a52f85f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/page.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // pace imports import { useTranslation } from "@pace/i18n"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { WorkspaceDetails } from "@/components/workspace/settings/workspace-details"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx index feb4dd31..50b46211 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx @@ -13,7 +13,7 @@ import type { IWebhook } from "@pace/types"; // ui // components import { LogoSpinner } from "@/components/common/logo-spinner"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { DeleteWebhookModal, WebhookDeleteSection, WebhookForm } from "@/components/web-hooks"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx index b317d0ba..a61828b4 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/page.tsx @@ -14,7 +14,7 @@ import { Button } from "@pace/propel/button"; // components import { EmptyStateCompact } from "@pace/propel/empty-state"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SettingsHeading } from "@/components/settings/heading"; import { WebhookSettingsLoader } from "@/components/skeletons/loader/settings/web-hook"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/automations/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/automations/page.tsx index 6271e204..15215fdd 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/automations/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/automations/page.tsx @@ -12,7 +12,7 @@ import { TOAST_TYPE, setToast } from "@pace/propel/toast"; import type { IProject } from "@pace/types"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; import { AutoArchiveAutomation, AutoCloseAutomation } from "@/components/automation"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { SettingsHeading } from "@/components/settings/heading"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/estimates/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/estimates/page.tsx index 93caedb2..af0a5454 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/estimates/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/estimates/page.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // components import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { EstimateRoot } from "@/components/estimates"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/cycles/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/cycles/page.tsx index 2e3b11a4..86ecdb1a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/cycles/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/cycles/page.tsx @@ -10,7 +10,7 @@ import { useTranslation } from "@pace/i18n"; // components import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProjectSettingsFeatureControlItem } from "@/components/settings/project/content/feature-control-item"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/intake/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/intake/page.tsx index 69887304..c31e16ab 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/intake/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/intake/page.tsx @@ -10,7 +10,7 @@ import { useTranslation } from "@pace/i18n"; // components import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { SettingsHeading } from "@/components/settings/heading"; import { ProjectSettingsFeatureControlItem } from "@/components/settings/project/content/feature-control-item"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/modules/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/modules/page.tsx index 822dc235..08882bf8 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/modules/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/modules/page.tsx @@ -10,7 +10,7 @@ import { useTranslation } from "@pace/i18n"; // components import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { SettingsHeading } from "@/components/settings/heading"; import { ProjectSettingsFeatureControlItem } from "@/components/settings/project/content/feature-control-item"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/pages/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/pages/page.tsx index 07eebb81..053cb59e 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/pages/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/pages/page.tsx @@ -10,7 +10,7 @@ import { useTranslation } from "@pace/i18n"; // components import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { SettingsHeading } from "@/components/settings/heading"; import { ProjectSettingsFeatureControlItem } from "@/components/settings/project/content/feature-control-item"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/views/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/views/page.tsx index ae362f4b..1b6609f7 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/views/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/features/views/page.tsx @@ -10,7 +10,7 @@ import { useTranslation } from "@pace/i18n"; // components import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { SettingsHeading } from "@/components/settings/heading"; import { ProjectSettingsFeatureControlItem } from "@/components/settings/project/content/feature-control-item"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/labels/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/labels/page.tsx index fb5c7d64..0c8d90bd 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/labels/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/labels/page.tsx @@ -11,7 +11,7 @@ import { observer } from "mobx-react"; // components import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProjectSettingsLabelList } from "@/components/labels"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; // hooks diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/members/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/members/page.tsx index 36b458f7..6365eac9 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/members/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/members/page.tsx @@ -10,7 +10,7 @@ import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { useTranslation } from "@pace/i18n"; // components import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProjectMemberList } from "@/components/project/member-list"; import { ProjectSettingsMemberDefaults } from "@/components/project/project-settings-member-defaults"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/page.tsx index 0a52e8ab..380f0924 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/page.tsx @@ -8,7 +8,7 @@ import { observer } from "mobx-react"; // pace imports import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProjectDetailsForm } from "@/components/project/form"; import { ProjectDetailsFormLoader } from "@/components/project/form-loader"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/states/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/states/page.tsx index a290cf30..2b7e5f4d 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/states/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/states/page.tsx @@ -9,7 +9,7 @@ import { EUserPermissions, EUserPermissionsLevel } from "@pace/constants"; import { useTranslation } from "@pace/i18n"; // components import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProjectStateRoot } from "@/components/project-states"; import { SettingsContentWrapper } from "@/components/settings/content-wrapper"; import { SettingsHeading } from "@/components/settings/heading"; diff --git a/apps/web/app/(all)/settings/profile/[profileTabId]/page.tsx b/apps/web/app/(all)/settings/profile/[profileTabId]/page.tsx index 5ca04b8f..32edb142 100644 --- a/apps/web/app/(all)/settings/profile/[profileTabId]/page.tsx +++ b/apps/web/app/(all)/settings/profile/[profileTabId]/page.tsx @@ -11,7 +11,7 @@ import { useTranslation } from "@pace/i18n"; import type { TProfileSettingsTabs } from "@pace/types"; // components import { LogoSpinner } from "@/components/common/logo-spinner"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { ProfileSettingsContent } from "@/components/settings/profile/content"; import { ProfileSettingsSidebarRoot } from "@/components/settings/profile/sidebar"; // hooks diff --git a/apps/web/core/components/auth-screens/header.tsx b/apps/web/core/components/auth-screens/header.tsx index 28389a22..ac9e5679 100644 --- a/apps/web/core/components/auth-screens/header.tsx +++ b/apps/web/core/components/auth-screens/header.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; import Link from "@/lib/navigation/link"; import { useTranslation } from "@pace/i18n"; import { PaceLockup } from "@pace/propel/icons"; -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; import { EAuthModes } from "@/helpers/authentication.helper"; import { useInstance } from "@/hooks/store/use-instance"; diff --git a/apps/web/core/components/project/root.tsx b/apps/web/core/components/project/root.tsx index 7022d468..3d2830c4 100644 --- a/apps/web/core/components/project/root.tsx +++ b/apps/web/core/components/project/root.tsx @@ -13,7 +13,7 @@ import { useTranslation } from "@pace/i18n"; import type { TProjectAppliedDisplayFilterKeys, TProjectFilters } from "@pace/types"; import { calculateTotalFilters } from "@pace/utils"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useProjectFilter } from "@/hooks/store/use-project-filter"; diff --git a/apps/web/core/components/settings/content-wrapper.tsx b/apps/web/core/components/settings/content-wrapper.tsx index e81718c5..18464789 100644 --- a/apps/web/core/components/settings/content-wrapper.tsx +++ b/apps/web/core/components/settings/content-wrapper.tsx @@ -8,7 +8,7 @@ import { ScrollArea } from "@pace/propel/scrollarea"; import { cn } from "@pace/utils"; // components -import { AppHeader } from "@/components/core/app-header"; +import { AppHeader } from "@/components/shell/app-header"; type Props = { children: React.ReactNode; diff --git a/apps/web/core/components/settings/profile/content/pages/general/root.tsx b/apps/web/core/components/settings/profile/content/pages/general/root.tsx index 60c766d0..d92d42a8 100644 --- a/apps/web/core/components/settings/profile/content/pages/general/root.tsx +++ b/apps/web/core/components/settings/profile/content/pages/general/root.tsx @@ -7,7 +7,7 @@ import { observer } from "mobx-react"; import { useTranslation } from "@pace/i18n"; // components -import { PageHead } from "@/components/core/page-title"; +import { PageHead } from "@/components/shell/page-title"; // hooks import { useUser } from "@/hooks/store/user"; // local imports diff --git a/apps/web/core/components/core/app-header.tsx b/apps/web/core/components/shell/app-header.tsx similarity index 100% rename from apps/web/core/components/core/app-header.tsx rename to apps/web/core/components/shell/app-header.tsx diff --git a/apps/web/core/components/core/content-wrapper.tsx b/apps/web/core/components/shell/content-wrapper.tsx similarity index 100% rename from apps/web/core/components/core/content-wrapper.tsx rename to apps/web/core/components/shell/content-wrapper.tsx diff --git a/apps/web/core/components/core/page-title.tsx b/apps/web/core/components/shell/page-title.tsx similarity index 100% rename from apps/web/core/components/core/page-title.tsx rename to apps/web/core/components/shell/page-title.tsx From a021bb38ecf435f43182540d35880ea8815d0840 Mon Sep 17 00:00:00 2001 From: Evan Hu Date: Sat, 19 Sep 2026 00:05:49 +0900 Subject: [PATCH 5/6] refactor(web): disperse core/components/core/modals into the owning features Every one of the eight files in this directory has an unambiguous owner, so the grouping by "is a modal" bought nothing: it only guaranteed that anyone working on work items, the workspace logo or the profile avatar had to look somewhere other than the feature directory. Fifteen import lines total, and the two relative imports inside the group (bulk-delete-issues-modal to its item, existing-issues-list-modal to its empty state) survive untouched because both pairs land in issues/. The two destinations that needed a judgement call: gpt-assistant-popover.tsx goes to editor/ rather than issues/ because it is a generic AI-completion popover over a RichTextEditor with no work-item concept in it, and its sole consumer imports it as an editor affordance. user-image-upload-modal.tsx goes to profile/ rather than account/ because it edits the profile avatar; account/ in this codebase holds authentication and account-lifecycle concerns, which is also why change-email-modal.tsx goes there. core/modals/ (the unrelated top-level directory) is not involved, and the remaining 25 files of core/components/core are left alone. --- .../{core/modals => account}/change-email-modal.tsx | 0 .../{core/modals => editor}/gpt-assistant-popover.tsx | 0 .../{core/modals => issues}/bulk-delete-issues-modal-item.tsx | 0 .../{core/modals => issues}/bulk-delete-issues-modal.tsx | 0 .../{core/modals => issues}/existing-issues-list-modal.tsx | 0 .../issue-detail-widgets/issue-detail-widget-modals.tsx | 2 +- .../core/components/issues/issue-detail/relation-select.tsx | 2 +- .../issues/issue-layouts/calendar/quick-add-issue-actions.tsx | 2 +- .../components/issues/issue-layouts/empty-states/cycle.tsx | 2 +- .../components/issues/issue-layouts/empty-states/module.tsx | 2 +- .../issues/issue-layouts/kanban/headers/group-by-card.tsx | 2 +- .../issues/issue-layouts/list/headers/group-by-card.tsx | 2 +- .../issues/issue-modal/components/description-editor.tsx | 2 +- .../modals => issues}/issue-search-modal-empty-state.tsx | 0 apps/web/core/components/issues/parent-issues-list-modal.tsx | 2 +- apps/web/core/components/modals/work-item-level.tsx | 2 +- apps/web/core/components/onboarding/profile-setup.tsx | 2 +- apps/web/core/components/onboarding/steps/profile/root.tsx | 2 +- .../{core/modals => profile}/user-image-upload-modal.tsx | 0 .../settings/profile/content/pages/general/form.tsx | 4 ++-- .../core/components/workspace/settings/workspace-details.tsx | 2 +- .../modals => workspace}/workspace-image-upload-modal.tsx | 0 22 files changed, 15 insertions(+), 15 deletions(-) rename apps/web/core/components/{core/modals => account}/change-email-modal.tsx (100%) rename apps/web/core/components/{core/modals => editor}/gpt-assistant-popover.tsx (100%) rename apps/web/core/components/{core/modals => issues}/bulk-delete-issues-modal-item.tsx (100%) rename apps/web/core/components/{core/modals => issues}/bulk-delete-issues-modal.tsx (100%) rename apps/web/core/components/{core/modals => issues}/existing-issues-list-modal.tsx (100%) rename apps/web/core/components/{core/modals => issues}/issue-search-modal-empty-state.tsx (100%) rename apps/web/core/components/{core/modals => profile}/user-image-upload-modal.tsx (100%) rename apps/web/core/components/{core/modals => workspace}/workspace-image-upload-modal.tsx (100%) diff --git a/apps/web/core/components/core/modals/change-email-modal.tsx b/apps/web/core/components/account/change-email-modal.tsx similarity index 100% rename from apps/web/core/components/core/modals/change-email-modal.tsx rename to apps/web/core/components/account/change-email-modal.tsx diff --git a/apps/web/core/components/core/modals/gpt-assistant-popover.tsx b/apps/web/core/components/editor/gpt-assistant-popover.tsx similarity index 100% rename from apps/web/core/components/core/modals/gpt-assistant-popover.tsx rename to apps/web/core/components/editor/gpt-assistant-popover.tsx diff --git a/apps/web/core/components/core/modals/bulk-delete-issues-modal-item.tsx b/apps/web/core/components/issues/bulk-delete-issues-modal-item.tsx similarity index 100% rename from apps/web/core/components/core/modals/bulk-delete-issues-modal-item.tsx rename to apps/web/core/components/issues/bulk-delete-issues-modal-item.tsx diff --git a/apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx b/apps/web/core/components/issues/bulk-delete-issues-modal.tsx similarity index 100% rename from apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx rename to apps/web/core/components/issues/bulk-delete-issues-modal.tsx diff --git a/apps/web/core/components/core/modals/existing-issues-list-modal.tsx b/apps/web/core/components/issues/existing-issues-list-modal.tsx similarity index 100% rename from apps/web/core/components/core/modals/existing-issues-list-modal.tsx rename to apps/web/core/components/issues/existing-issues-list-modal.tsx diff --git a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx index a9f331e3..fb344c39 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx @@ -9,7 +9,7 @@ import { observer } from "mobx-react"; import { TOAST_TYPE, setToast } from "@pace/propel/toast"; import type { ISearchIssueResponse, TIssue, TIssueServiceType, TWorkItemWidgets } from "@pace/types"; // components -import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; +import { ExistingIssuesListModal } from "@/components/issues/existing-issues-list-modal"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // local imports diff --git a/apps/web/core/components/issues/issue-detail/relation-select.tsx b/apps/web/core/components/issues/issue-detail/relation-select.tsx index b939de11..1e892ecb 100644 --- a/apps/web/core/components/issues/issue-detail/relation-select.tsx +++ b/apps/web/core/components/issues/issue-detail/relation-select.tsx @@ -15,7 +15,7 @@ import { Tooltip } from "@makeplane/propel/components/tooltip"; import type { ISearchIssueResponse } from "@pace/types"; import { cn, generateWorkItemLink } from "@pace/utils"; // components -import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; +import { ExistingIssuesListModal } from "@/components/issues/existing-issues-list-modal"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useIssues } from "@/hooks/store/use-issues"; diff --git a/apps/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx b/apps/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx index 8408dedc..fd85f376 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx @@ -18,7 +18,7 @@ import { EIssueLayoutTypes } from "@pace/types"; import { CustomMenu } from "@pace/ui"; import { cn } from "@pace/utils"; // components -import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; +import { ExistingIssuesListModal } from "@/components/issues/existing-issues-list-modal"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { QuickAddIssueRoot } from "../quick-add"; diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx index 1407c715..3c04004c 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx @@ -16,7 +16,7 @@ import { TOAST_TYPE, setToast } from "@pace/propel/toast"; import type { ISearchIssueResponse } from "@pace/types"; import { EIssuesStoreType, EUserProjectRoles } from "@pace/types"; // components -import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; +import { ExistingIssuesListModal } from "@/components/issues/existing-issues-list-modal"; import { useCommandPalette } from "@/hooks/store/use-command-palette"; import { useCycle } from "@/hooks/store/use-cycle"; import { useIssues } from "@/hooks/store/use-issues"; diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx index 2fd9c67c..53dbebcf 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx @@ -15,7 +15,7 @@ import { TOAST_TYPE, setToast } from "@pace/propel/toast"; import type { ISearchIssueResponse } from "@pace/types"; import { EIssuesStoreType, EUserProjectRoles } from "@pace/types"; // components -import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; +import { ExistingIssuesListModal } from "@/components/issues/existing-issues-list-modal"; // hooks import { useCommandPalette } from "@/hooks/store/use-command-palette"; import { useIssues } from "@/hooks/store/use-issues"; diff --git a/apps/web/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx b/apps/web/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx index c7eb89ad..f18f56e2 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx @@ -15,7 +15,7 @@ import type { TIssue, ISearchIssueResponse, TIssueKanbanFilters, TIssueGroupByOp // ui import { CustomMenu } from "@pace/ui"; // components -import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; +import { ExistingIssuesListModal } from "@/components/issues/existing-issues-list-modal"; import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal"; // constants import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; diff --git a/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx b/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx index 4ed68619..43081240 100644 --- a/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx @@ -16,7 +16,7 @@ import type { TIssue, ISearchIssueResponse, TIssueGroupByOptions } from "@pace/t import { CustomMenu } from "@pace/ui"; // components import { cn } from "@pace/utils"; -import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; +import { ExistingIssuesListModal } from "@/components/issues/existing-issues-list-modal"; import { MultipleSelectGroupAction } from "@/components/core/multiple-select"; import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal"; import { CreateUpdateEpicModal } from "@/components/epic-modal"; diff --git a/apps/web/core/components/issues/issue-modal/components/description-editor.tsx b/apps/web/core/components/issues/issue-modal/components/description-editor.tsx index 0bf80225..6002e843 100644 --- a/apps/web/core/components/issues/issue-modal/components/description-editor.tsx +++ b/apps/web/core/components/issues/issue-modal/components/description-editor.tsx @@ -19,7 +19,7 @@ import { EFileAssetType } from "@pace/types"; import { Loader } from "@pace/ui"; import { getDescriptionPlaceholderI18n, getTabIndex } from "@pace/utils"; // components -import { GptAssistantPopover } from "@/components/core/modals/gpt-assistant-popover"; +import { GptAssistantPopover } from "@/components/editor/gpt-assistant-popover"; import { RichTextEditor } from "@/components/editor/rich-text"; // helpers // hooks diff --git a/apps/web/core/components/core/modals/issue-search-modal-empty-state.tsx b/apps/web/core/components/issues/issue-search-modal-empty-state.tsx similarity index 100% rename from apps/web/core/components/core/modals/issue-search-modal-empty-state.tsx rename to apps/web/core/components/issues/issue-search-modal-empty-state.tsx diff --git a/apps/web/core/components/issues/parent-issues-list-modal.tsx b/apps/web/core/components/issues/parent-issues-list-modal.tsx index e90de90f..10184ba6 100644 --- a/apps/web/core/components/issues/parent-issues-list-modal.tsx +++ b/apps/web/core/components/issues/parent-issues-list-modal.tsx @@ -18,7 +18,7 @@ import type { ISearchIssueResponse } from "@pace/types"; import { Loader, EModalPosition, EModalWidth, ModalCore } from "@pace/ui"; import { generateWorkItemLink, getTabIndex } from "@pace/utils"; // components -import { IssueSearchModalEmptyState } from "@/components/core/modals/issue-search-modal-empty-state"; +import { IssueSearchModalEmptyState } from "@/components/issues/issue-search-modal-empty-state"; import { IssueIdentifier } from "@/components/issues/issue-detail/issue-identifier"; // hooks import useDebounce from "@/hooks/use-debounce"; diff --git a/apps/web/core/components/modals/work-item-level.tsx b/apps/web/core/components/modals/work-item-level.tsx index 8d034a1f..73ed0e9d 100644 --- a/apps/web/core/components/modals/work-item-level.tsx +++ b/apps/web/core/components/modals/work-item-level.tsx @@ -10,7 +10,7 @@ import { useParams } from "@/lib/navigation"; import type { TIssue } from "@pace/types"; import { EIssueServiceType, EIssuesStoreType } from "@pace/types"; // components -import { BulkDeleteIssuesModal } from "@/components/core/modals/bulk-delete-issues-modal"; +import { BulkDeleteIssuesModal } from "@/components/issues/bulk-delete-issues-modal"; import { DeleteIssueModal } from "@/components/issues/delete-issue-modal"; import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal"; // hooks diff --git a/apps/web/core/components/onboarding/profile-setup.tsx b/apps/web/core/components/onboarding/profile-setup.tsx index da66cfda..7e56e74a 100644 --- a/apps/web/core/components/onboarding/profile-setup.tsx +++ b/apps/web/core/components/onboarding/profile-setup.tsx @@ -20,7 +20,7 @@ import type { IUser, TUserProfile, TOnboardingSteps } from "@pace/types"; import { PasswordStrengthIndicator, Spinner } from "@pace/ui"; // components import { cn, getFileURL, getPasswordStrength, validatePersonName } from "@pace/utils"; -import { UserImageUploadModal } from "@/components/core/modals/user-image-upload-modal"; +import { UserImageUploadModal } from "@/components/profile/user-image-upload-modal"; // hooks import { useUser, useUserProfile } from "@/hooks/store/user"; // services diff --git a/apps/web/core/components/onboarding/steps/profile/root.tsx b/apps/web/core/components/onboarding/steps/profile/root.tsx index a91de1de..713e5c80 100644 --- a/apps/web/core/components/onboarding/steps/profile/root.tsx +++ b/apps/web/core/components/onboarding/steps/profile/root.tsx @@ -16,7 +16,7 @@ import type { IUser } from "@pace/types"; import { EOnboardingSteps } from "@pace/types"; import { cn, getFileURL, getPasswordStrength, validatePersonName } from "@pace/utils"; // components -import { UserImageUploadModal } from "@/components/core/modals/user-image-upload-modal"; +import { UserImageUploadModal } from "@/components/profile/user-image-upload-modal"; // hooks import { useInstance } from "@/hooks/store/use-instance"; import { useUser, useUserProfile } from "@/hooks/store/user"; diff --git a/apps/web/core/components/core/modals/user-image-upload-modal.tsx b/apps/web/core/components/profile/user-image-upload-modal.tsx similarity index 100% rename from apps/web/core/components/core/modals/user-image-upload-modal.tsx rename to apps/web/core/components/profile/user-image-upload-modal.tsx diff --git a/apps/web/core/components/settings/profile/content/pages/general/form.tsx b/apps/web/core/components/settings/profile/content/pages/general/form.tsx index 1a7a6ee8..b2c3a905 100644 --- a/apps/web/core/components/settings/profile/content/pages/general/form.tsx +++ b/apps/web/core/components/settings/profile/content/pages/general/form.tsx @@ -21,8 +21,8 @@ import { getFileURL } from "@pace/utils"; // components import { DeactivateAccountModal } from "@/components/account/deactivate-account-modal"; import { ImagePickerPopover } from "@/components/core/image-picker-popover"; -import { ChangeEmailModal } from "@/components/core/modals/change-email-modal"; -import { UserImageUploadModal } from "@/components/core/modals/user-image-upload-modal"; +import { ChangeEmailModal } from "@/components/account/change-email-modal"; +import { UserImageUploadModal } from "@/components/profile/user-image-upload-modal"; import { CoverImage } from "@/components/common/cover-image"; import { SettingsBoxedControlItem } from "@/components/settings/boxed-control-item"; // helpers diff --git a/apps/web/core/components/workspace/settings/workspace-details.tsx b/apps/web/core/components/workspace/settings/workspace-details.tsx index ba1745c3..242850e9 100644 --- a/apps/web/core/components/workspace/settings/workspace-details.tsx +++ b/apps/web/core/components/workspace/settings/workspace-details.tsx @@ -19,7 +19,7 @@ import type { IWorkspace } from "@pace/types"; import { CustomSelect } from "@pace/ui"; import { cn, copyUrlToClipboard, getFileURL, validateWorkspaceName } from "@pace/utils"; // components -import { WorkspaceImageUploadModal } from "@/components/core/modals/workspace-image-upload-modal"; +import { WorkspaceImageUploadModal } from "@/components/workspace/workspace-image-upload-modal"; import { TimezoneSelect } from "@/components/global/timezone-select"; // hooks import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/core/components/core/modals/workspace-image-upload-modal.tsx b/apps/web/core/components/workspace/workspace-image-upload-modal.tsx similarity index 100% rename from apps/web/core/components/core/modals/workspace-image-upload-modal.tsx rename to apps/web/core/components/workspace/workspace-image-upload-modal.tsx From 3caf3574b315cd44dd879243de66a31895cc17ba Mon Sep 17 00:00:00 2001 From: Evan Hu Date: Sat, 19 Sep 2026 00:34:37 +0900 Subject: [PATCH 6/6] chore: bump the workspace version, which check-version requires of every PR --- apps/admin/package.json | 2 +- apps/space/package.json | 2 +- apps/web/package.json | 2 +- package.json | 2 +- packages/codemods/package.json | 2 +- packages/constants/package.json | 2 +- packages/editor/package.json | 2 +- packages/hooks/package.json | 2 +- packages/i18n/package.json | 2 +- packages/propel/package.json | 2 +- packages/services/package.json | 2 +- packages/shared-state/package.json | 2 +- packages/tailwind-config/package.json | 2 +- packages/types/package.json | 2 +- packages/typescript-config/package.json | 2 +- packages/ui/package.json | 2 +- packages/utils/package.json | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/apps/admin/package.json b/apps/admin/package.json index 42e380b5..faaf8e87 100644 --- a/apps/admin/package.json +++ b/apps/admin/package.json @@ -1,6 +1,6 @@ { "name": "admin", - "version": "1.4.43", + "version": "1.4.45", "private": true, "description": "Admin UI for Pace", "license": "AGPL-3.0", diff --git a/apps/space/package.json b/apps/space/package.json index 7b053dab..5163581c 100644 --- a/apps/space/package.json +++ b/apps/space/package.json @@ -1,6 +1,6 @@ { "name": "space", - "version": "1.4.43", + "version": "1.4.45", "private": true, "license": "AGPL-3.0", "type": "module", diff --git a/apps/web/package.json b/apps/web/package.json index f0f72f25..0248a8b1 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "web", - "version": "1.4.43", + "version": "1.4.45", "private": true, "license": "AGPL-3.0", "type": "module", diff --git a/package.json b/package.json index 4b65980b..8096822e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pace", - "version": "1.4.43", + "version": "1.4.45", "private": true, "description": "Project management that keeps pace with the work", "license": "AGPL-3.0", diff --git a/packages/codemods/package.json b/packages/codemods/package.json index 07918877..b47cf2b4 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -1,6 +1,6 @@ { "name": "@pace/codemods", - "version": "1.4.43", + "version": "1.4.45", "private": true, "scripts": { "check:format": "oxfmt --check .", diff --git a/packages/constants/package.json b/packages/constants/package.json index 434c8986..cecb25a5 100644 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -1,6 +1,6 @@ { "name": "@pace/constants", - "version": "1.4.43", + "version": "1.4.45", "private": true, "license": "AGPL-3.0", "type": "module", diff --git a/packages/editor/package.json b/packages/editor/package.json index 51975b45..d29a2522 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,6 +1,6 @@ { "name": "@pace/editor", - "version": "1.4.43", + "version": "1.4.45", "private": true, "description": "Core Editor that powers Pace", "keywords": [ diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 8d36790b..9e590003 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -1,6 +1,6 @@ { "name": "@pace/hooks", - "version": "1.4.43", + "version": "1.4.45", "private": true, "description": "React hooks that are shared across multiple apps internally", "license": "AGPL-3.0", diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 3b2c5f8c..3da3b9dd 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@pace/i18n", - "version": "1.4.43", + "version": "1.4.45", "private": true, "description": "I18n shared across multiple apps internally", "license": "AGPL-3.0", diff --git a/packages/propel/package.json b/packages/propel/package.json index bbb3942a..a033458e 100644 --- a/packages/propel/package.json +++ b/packages/propel/package.json @@ -1,6 +1,6 @@ { "name": "@pace/propel", - "version": "1.4.43", + "version": "1.4.45", "private": true, "license": "AGPL-3.0", "type": "module", diff --git a/packages/services/package.json b/packages/services/package.json index e7b2ad8b..a31721e3 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -1,6 +1,6 @@ { "name": "@pace/services", - "version": "1.4.43", + "version": "1.4.45", "private": true, "license": "AGPL-3.0", "type": "module", diff --git a/packages/shared-state/package.json b/packages/shared-state/package.json index c42ed1c0..24b9fb1c 100644 --- a/packages/shared-state/package.json +++ b/packages/shared-state/package.json @@ -1,6 +1,6 @@ { "name": "@pace/shared-state", - "version": "1.4.43", + "version": "1.4.45", "private": true, "description": "Shared state shared across multiple apps internally", "license": "AGPL-3.0", diff --git a/packages/tailwind-config/package.json b/packages/tailwind-config/package.json index 95102002..12a41517 100644 --- a/packages/tailwind-config/package.json +++ b/packages/tailwind-config/package.json @@ -1,6 +1,6 @@ { "name": "@pace/tailwind-config", - "version": "1.4.43", + "version": "1.4.45", "private": true, "description": "common tailwind configuration across monorepo", "license": "AGPL-3.0", diff --git a/packages/types/package.json b/packages/types/package.json index b4d7128f..3139f450 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@pace/types", - "version": "1.4.43", + "version": "1.4.45", "private": true, "license": "AGPL-3.0", "type": "module", diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json index 0c40a8e9..04a92042 100644 --- a/packages/typescript-config/package.json +++ b/packages/typescript-config/package.json @@ -1,6 +1,6 @@ { "name": "@pace/typescript-config", - "version": "1.4.43", + "version": "1.4.45", "private": true, "license": "AGPL-3.0", "files": [ diff --git a/packages/ui/package.json b/packages/ui/package.json index da4ebcea..1dc5744e 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@pace/ui", - "version": "1.4.43", + "version": "1.4.45", "private": true, "description": "UI components shared across multiple apps internally", "license": "AGPL-3.0", diff --git a/packages/utils/package.json b/packages/utils/package.json index ff66e844..53b9c334 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@pace/utils", - "version": "1.4.43", + "version": "1.4.45", "private": true, "description": "Helper functions shared across multiple apps internally", "license": "AGPL-3.0",