Replace standalone catalog editor with the unified Visual Catalog studio
CI / check (push) Failing after 26s
CI / preflight (push) Skipped
CI / deploy (push) Skipped
CI / publish-container (push) Skipped

Make /admin/catalog a full-screen catalog studio that replaces the old
listing plus separate [id]/builder-club detail pages:

- Embed CatalogManagerWorkspace on /admin/catalog with a Normal/Builder
  Club toggle, Catalog Sync status, packages (normal), Organize imports
  and a diagnostics link to /admin/studio/maintenance.
- Manage BC items directly in the studio Items tab (new BcItemsEditor,
  CRUD via existing bc actions; /api/admin/catalog/items now serves BC).
- Inline editor: add pageTextTeaser field for both catalogs and remove
  the legacy full-editor links.
- Remove the 'Open full editor' context action from the tree.
- Move catalog-items-table (dir + barrel) and catalog-translate-tab out
  of the app route into src/components/admin/catalog and update all
  importers.
- Keep /admin/catalog/[id], builder-club/[id] and /admin/catalog/maintenance
  as redirects into the new studio; consolidate maintenance panels into
  /admin/studio/maintenance and point the nav item there.
- Delete the old listing/table/tabs/forms and the standalone bc-manager.
This commit is contained in:
openhands committed 2026-09-14 17:20:52 +02:00
1 parent 1a9e1e791a
commit 1bbd809b43
36 files changed
+526 -2750

No files matched your search

@@ -9,8 +9,8 @@ import {
previewBulkOffers,
undoBulkOffers,
} from "@/actions/catalog-bulk";
import { MovePageCombobox } from "@/app/admin/catalog/[id]/catalog-items-table/field-helpers";
import { POINTS_TYPES } from "@/app/admin/catalog/[id]/catalog-items-table/types";
import { MovePageCombobox } from "@/components/admin/catalog/catalog-items-table/field-helpers";
import { POINTS_TYPES } from "@/components/admin/catalog/catalog-items-table/types";
import {
CurrencyIcon,
currencyKindFromPointsType,
@@ -7,7 +7,7 @@ import {
catalogDuplicateDestinations,
previewCatalogDuplicate,
} from "@/actions/catalog-duplicate";
import { MovePageCombobox } from "@/app/admin/catalog/[id]/catalog-items-table/field-helpers";
import { MovePageCombobox } from "@/components/admin/catalog/catalog-items-table/field-helpers";
import { Button } from "@/components/ui/button";
import {
Dialog,
@@ -1,4 +1,4 @@
import type { CatalogItemData } from "@/app/admin/catalog/[id]/catalog-items-table/types";
import type { CatalogItemData } from "@/components/admin/catalog/catalog-items-table/types";
export const OFFER_FILTERS = [
"all",
+1 -1
View File
@@ -1,5 +1,5 @@
import { describe, expect, it } from "vitest";
import type { CatalogItemData } from "@/app/admin/catalog/[id]/catalog-items-table/types";
import type { CatalogItemData } from "@/components/admin/catalog/catalog-items-table/types";
import {
buildSortOrders,
groupSuggestedCategories,
+1 -1
View File
@@ -1,4 +1,4 @@
import type { CatalogItemData } from "@/app/admin/catalog/[id]/catalog-items-table/types";
import type { CatalogItemData } from "@/components/admin/catalog/catalog-items-table/types";
import type { CatalogLayout } from "@/lib/catalog-layouts";
export type SortStrategy =