From 6c6e5307cf696447132ba50aff197243f228d0cd Mon Sep 17 00:00:00 2001 From: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com> Date: Thu, 4 Apr 2024 14:06:44 +0200 Subject: [PATCH] feat(dashboard): Setup V2 collections (#6935) --- .../src/providers/router-provider/v1.tsx | 42 ------------------ .../src/providers/router-provider/v2.tsx | 43 +++++++++++++++++++ .../collection-add-products.tsx | 0 .../add-products-to-collection-form.tsx | 0 .../add-products-to-collection-form/index.ts | 0 .../collection-add-products/index.ts | 0 .../collection-create/collection-create.tsx | 0 .../create-collection-form.tsx | 0 .../create-collection-form/index.ts | 0 .../collections/collection-create/index.ts | 0 .../collection-detail/collection-detail.tsx | 0 .../collection-general-section.tsx | 0 .../collection-general-section/index.ts | 0 .../collection-product-section.tsx | 23 ++++++---- .../collection-product-section/index.ts | 0 .../collections/collection-detail/index.ts | 0 .../collections/collection-detail/loader.ts | 0 .../collection-edit/collection-add-edit.tsx | 0 .../edit-collection-form.tsx | 0 .../components/edit-collection-form/index.ts | 0 .../collections/collection-edit/index.ts | 0 .../collection-list/collection-list.tsx | 0 .../collection-list-table.tsx | 0 .../components/collection-list-table/index.ts | 0 .../use-collection-table-columns.tsx | 0 .../use-collection-table-filters.tsx | 0 .../use-collection-table-query.tsx | 0 .../collections/collection-list/index.ts | 0 28 files changed, 58 insertions(+), 50 deletions(-) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-add-products/collection-add-products.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-add-products/components/add-products-to-collection-form/add-products-to-collection-form.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-add-products/components/add-products-to-collection-form/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-add-products/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-create/collection-create.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-create/components/create-collection-form/create-collection-form.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-create/components/create-collection-form/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-create/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-detail/collection-detail.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-detail/components/collection-general-section/collection-general-section.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-detail/components/collection-general-section/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-detail/components/collection-product-section/collection-product-section.tsx (93%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-detail/components/collection-product-section/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-detail/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-detail/loader.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-edit/collection-add-edit.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-edit/components/edit-collection-form/edit-collection-form.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-edit/components/edit-collection-form/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-edit/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-list/collection-list.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-list/components/collection-list-table/collection-list-table.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-list/components/collection-list-table/index.ts (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-list/components/collection-list-table/use-collection-table-columns.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-list/components/collection-list-table/use-collection-table-filters.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-list/components/collection-list-table/use-collection-table-query.tsx (100%) rename packages/admin-next/dashboard/src/{routes => v2-routes}/collections/collection-list/index.ts (100%) diff --git a/packages/admin-next/dashboard/src/providers/router-provider/v1.tsx b/packages/admin-next/dashboard/src/providers/router-provider/v1.tsx index c261f11a85..0d582d200d 100644 --- a/packages/admin-next/dashboard/src/providers/router-provider/v1.tsx +++ b/packages/admin-next/dashboard/src/providers/router-provider/v1.tsx @@ -1,5 +1,4 @@ import type { - AdminCollectionsRes, AdminCustomerGroupsRes, AdminCustomersRes, AdminDiscountsRes, @@ -264,47 +263,6 @@ export const v1Routes: RouteObject[] = [ }, ], }, - { - path: "/collections", - handle: { - crumb: () => "Collections", - }, - children: [ - { - path: "", - lazy: () => import("../../routes/collections/collection-list"), - children: [ - { - path: "create", - lazy: () => - import("../../routes/collections/collection-create"), - }, - ], - }, - { - path: ":id", - handle: { - crumb: (data: AdminCollectionsRes) => data.collection.title, - }, - lazy: () => - import("../../routes/collections/collection-detail"), - children: [ - { - path: "edit", - lazy: () => - import("../../routes/collections/collection-edit"), - }, - { - path: "add-products", - lazy: () => - import( - "../../routes/collections/collection-add-products" - ), - }, - ], - }, - ], - }, { path: "/inventory", handle: { diff --git a/packages/admin-next/dashboard/src/providers/router-provider/v2.tsx b/packages/admin-next/dashboard/src/providers/router-provider/v2.tsx index 52fd2b40de..dad60e7e86 100644 --- a/packages/admin-next/dashboard/src/providers/router-provider/v2.tsx +++ b/packages/admin-next/dashboard/src/providers/router-provider/v2.tsx @@ -5,6 +5,7 @@ import { SettingsLayout } from "../../components/layout/settings-layout" import { Outlet } from "react-router-dom" import { Spinner } from "@medusajs/icons" +import { AdminCollectionsRes } from "@medusajs/medusa" import { SalesChannelDTO, UserDTO } from "@medusajs/types" import { ErrorBoundary } from "../../components/error/error-boundary" import { useV2Session } from "../../lib/api-v2" @@ -90,6 +91,48 @@ export const v2Routes: RouteObject[] = [ }, ], }, + { + path: "/collections", + handle: { + crumb: () => "Collections", + }, + children: [ + { + path: "", + lazy: () => + import("../../v2-routes/collections/collection-list"), + children: [ + { + path: "create", + lazy: () => + import("../../v2-routes/collections/collection-create"), + }, + ], + }, + { + path: ":id", + lazy: () => + import("../../v2-routes/collections/collection-detail"), + handle: { + crumb: (data: AdminCollectionsRes) => data.collection.title, + }, + children: [ + { + path: "edit", + lazy: () => + import("../../v2-routes/collections/collection-edit"), + }, + { + path: "products", + lazy: () => + import( + "../../v2-routes/collections/collection-add-products" + ), + }, + ], + }, + ], + }, ], }, ], diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-add-products/collection-add-products.tsx b/packages/admin-next/dashboard/src/v2-routes/collections/collection-add-products/collection-add-products.tsx similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-add-products/collection-add-products.tsx rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-add-products/collection-add-products.tsx diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-add-products/components/add-products-to-collection-form/add-products-to-collection-form.tsx b/packages/admin-next/dashboard/src/v2-routes/collections/collection-add-products/components/add-products-to-collection-form/add-products-to-collection-form.tsx similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-add-products/components/add-products-to-collection-form/add-products-to-collection-form.tsx rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-add-products/components/add-products-to-collection-form/add-products-to-collection-form.tsx diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-add-products/components/add-products-to-collection-form/index.ts b/packages/admin-next/dashboard/src/v2-routes/collections/collection-add-products/components/add-products-to-collection-form/index.ts similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-add-products/components/add-products-to-collection-form/index.ts rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-add-products/components/add-products-to-collection-form/index.ts diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-add-products/index.ts b/packages/admin-next/dashboard/src/v2-routes/collections/collection-add-products/index.ts similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-add-products/index.ts rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-add-products/index.ts diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-create/collection-create.tsx b/packages/admin-next/dashboard/src/v2-routes/collections/collection-create/collection-create.tsx similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-create/collection-create.tsx rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-create/collection-create.tsx diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-create/components/create-collection-form/create-collection-form.tsx b/packages/admin-next/dashboard/src/v2-routes/collections/collection-create/components/create-collection-form/create-collection-form.tsx similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-create/components/create-collection-form/create-collection-form.tsx rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-create/components/create-collection-form/create-collection-form.tsx diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-create/components/create-collection-form/index.ts b/packages/admin-next/dashboard/src/v2-routes/collections/collection-create/components/create-collection-form/index.ts similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-create/components/create-collection-form/index.ts rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-create/components/create-collection-form/index.ts diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-create/index.ts b/packages/admin-next/dashboard/src/v2-routes/collections/collection-create/index.ts similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-create/index.ts rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-create/index.ts diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-detail/collection-detail.tsx b/packages/admin-next/dashboard/src/v2-routes/collections/collection-detail/collection-detail.tsx similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-detail/collection-detail.tsx rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-detail/collection-detail.tsx diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx b/packages/admin-next/dashboard/src/v2-routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-detail/components/collection-general-section/index.ts b/packages/admin-next/dashboard/src/v2-routes/collections/collection-detail/components/collection-general-section/index.ts similarity index 100% rename from packages/admin-next/dashboard/src/routes/collections/collection-detail/components/collection-general-section/index.ts rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-detail/components/collection-general-section/index.ts diff --git a/packages/admin-next/dashboard/src/routes/collections/collection-detail/components/collection-product-section/collection-product-section.tsx b/packages/admin-next/dashboard/src/v2-routes/collections/collection-detail/components/collection-product-section/collection-product-section.tsx similarity index 93% rename from packages/admin-next/dashboard/src/routes/collections/collection-detail/components/collection-product-section/collection-product-section.tsx rename to packages/admin-next/dashboard/src/v2-routes/collections/collection-detail/components/collection-product-section/collection-product-section.tsx index 64c20a1d26..c3df90cdc6 100644 --- a/packages/admin-next/dashboard/src/routes/collections/collection-detail/components/collection-product-section/collection-product-section.tsx +++ b/packages/admin-next/dashboard/src/v2-routes/collections/collection-detail/components/collection-product-section/collection-product-section.tsx @@ -1,6 +1,6 @@ -import { PencilSquare, Trash } from "@medusajs/icons" +import { PencilSquare, Plus, Trash } from "@medusajs/icons" import type { Product, ProductCollection } from "@medusajs/medusa" -import { Button, Checkbox, Container, Heading, usePrompt } from "@medusajs/ui" +import { Checkbox, Container, Heading, usePrompt } from "@medusajs/ui" import { createColumnHelper } from "@tanstack/react-table" import { adminProductKeys, @@ -9,7 +9,6 @@ import { } from "medusa-react" import { useMemo } from "react" import { useTranslation } from "react-i18next" -import { Link } from "react-router-dom" import { ActionMenu } from "../../../../../components/common/action-menu" import { DataTable } from "../../../../../components/table/data-table" import { useProductTableColumns } from "../../../../../hooks/table/columns/use-product-table-columns" @@ -96,11 +95,19 @@ export const CollectionProductSection = ({
{t("products.domain")} - - - + , + label: t("actions.add"), + to: "products", + }, + ], + }, + ]} + />