feat(dashboard): Migrate to new hooks and API client (#6963)

This commit is contained in:
Kasper Fabricius Kristensen
2024-04-05 18:27:08 +02:00
committed by GitHub
parent 5ba74ec5fc
commit 8a5c6928f7
195 changed files with 3919 additions and 6028 deletions
@@ -6,17 +6,12 @@ import type {
AdminGiftCardsRes,
AdminOrdersRes,
AdminProductsRes,
AdminPublishableApiKeysRes,
AdminRegionsRes,
AdminSalesChannelsRes,
AdminUserRes,
} from "@medusajs/medusa"
import { Outlet, RouteObject } from "react-router-dom"
import { ProtectedRoute } from "../../components/authentication/require-auth"
import { ErrorBoundary } from "../../components/error/error-boundary"
import { MainLayout } from "../../components/layout/main-layout"
import { SettingsLayout } from "../../components/layout/settings-layout"
import routes from "medusa-admin:routes/pages"
import settings from "medusa-admin:settings/pages"
@@ -495,282 +490,6 @@ export const v1Routes: RouteObject[] = [
},
],
},
{
path: "/settings",
element: <SettingsLayout />,
handle: {
crumb: () => "Settings",
},
children: [
{
index: true,
lazy: () => import("../../routes/settings"),
},
{
path: "profile",
lazy: () => import("../../routes/profile/profile-detail"),
handle: {
crumb: () => "Profile",
},
children: [
{
path: "edit",
lazy: () => import("../../routes/profile/profile-edit"),
},
],
},
{
path: "store",
lazy: () => import("../../routes/store/store-detail"),
handle: {
crumb: () => "Store",
},
children: [
{
path: "edit",
lazy: () => import("../../routes/store/store-edit"),
},
{
path: "add-currencies",
lazy: () => import("../../routes/store/store-add-currencies"),
},
],
},
{
path: "locations",
element: <Outlet />,
handle: {
crumb: () => "Locations",
},
children: [
{
path: "",
lazy: () => import("../../routes/locations/location-list"),
children: [
{
path: "create",
lazy: () =>
import("../../routes/locations/location-create"),
},
],
},
{
path: ":id",
lazy: () => import("../../routes/locations/location-detail"),
children: [
{
path: "edit",
lazy: () => import("../../routes/locations/location-edit"),
},
{
path: "add-sales-channels",
lazy: () =>
import(
"../../routes/locations/location-add-sales-channels"
),
},
],
},
],
},
{
path: "return-reasons",
element: <Outlet />,
handle: {
crumb: () => "Return Reasons",
},
children: [
{
path: "",
lazy: () =>
import("../../routes/return-reasons/return-reason-list"),
children: [
{
path: "create",
lazy: () =>
import(
"../../routes/return-reasons/return-reason-create"
),
},
{
path: ":id/edit",
lazy: () =>
import("../../routes/return-reasons/return-reason-edit"),
},
],
},
],
},
{
path: "regions",
element: <Outlet />,
handle: {
crumb: () => "Regions",
},
children: [
{
path: "",
lazy: () => import("../../routes/regions/region-list"),
children: [
{
path: "create",
lazy: () => import("../../routes/regions/region-create"),
},
],
},
{
path: ":id",
lazy: () => import("../../routes/regions/region-detail"),
handle: {
crumb: (data: AdminRegionsRes) => data.region.name,
},
children: [
{
path: "edit",
lazy: () => import("../../routes/regions/region-edit"),
},
{
path: "countries/add",
lazy: () =>
import("../../routes/regions/region-add-countries"),
},
{
path: "shipping-options/:so_id/edit",
lazy: () =>
import(
"../../routes/regions/region-edit-shipping-option"
),
},
{
path: "shipping-options/create",
lazy: () =>
import(
"../../routes/regions/region-create-shipping-option"
),
},
],
},
],
},
{
path: "users",
element: <Outlet />,
handle: {
crumb: () => "Users",
},
children: [
{
path: "",
lazy: () => import("../../routes/users/user-list"),
children: [
{
path: "invite",
lazy: () => import("../../routes/users/user-invite"),
},
],
},
{
path: ":id",
lazy: () => import("../../routes/users/user-detail"),
handle: {
crumb: (data: AdminUserRes) => data.user.email,
},
children: [
{
path: "edit",
lazy: () => import("../../routes/users/user-edit"),
},
],
},
],
},
{
path: "taxes",
handle: {
crumb: () => "Taxes",
},
children: [
{
path: "",
lazy: () => import("../../routes/taxes/tax-list"),
},
{
path: ":id",
lazy: () => import("../../routes/taxes/tax-detail"),
handle: {
crumb: (data: AdminRegionsRes) => data.region.name,
},
children: [
{
path: "edit",
lazy: () => import("../../routes/taxes/tax-edit"),
},
{
path: "tax-rates/create",
lazy: () => import("../../routes/taxes/tax-rate-create"),
},
{
path: "tax-rates/:rate_id/edit",
lazy: () => import("../../routes/taxes/tax-rate-edit"),
},
{
path: "tax-rates/:rate_id/edit-overrides",
lazy: () =>
import("../../routes/taxes/tax-rate-edit-overrides"),
},
],
},
],
},
{
path: "sales-channels",
element: <Outlet />,
handle: {
crumb: () => "Sales Channels",
},
children: [
{
path: "",
lazy: () =>
import("../../routes/sales-channels/sales-channel-list"),
children: [
{
path: "create",
lazy: () =>
import(
"../../routes/sales-channels/sales-channel-create"
),
},
],
},
{
path: ":id",
lazy: () =>
import("../../routes/sales-channels/sales-channel-detail"),
handle: {
crumb: (data: AdminSalesChannelsRes) =>
data.sales_channel.name,
},
children: [
{
path: "edit",
lazy: () =>
import("../../routes/sales-channels/sales-channel-edit"),
},
{
path: "add-products",
lazy: () =>
import(
"../../routes/sales-channels/sales-channel-add-products"
),
},
],
},
],
},
...settingsExtensions,
],
},
...routeExtensions,
],
},
@@ -1,19 +1,18 @@
import { Navigate, RouteObject, useLocation } from "react-router-dom"
import { SalesChannelDTO, UserDTO } from "@medusajs/types"
import { Navigate, Outlet, RouteObject, useLocation } from "react-router-dom"
import { Spinner } from "@medusajs/icons"
import { AdminCollectionsRes } from "@medusajs/medusa"
import { ErrorBoundary } from "../../components/error/error-boundary"
import { MainLayout } from "../../components/layout-v2/main-layout"
import { Outlet } from "react-router-dom"
import { SearchProvider } from "../search-provider"
import { SettingsLayout } from "../../components/layout/settings-layout"
import { useMe } from "../../hooks/api/users"
import { ApiKeyRes } from "../../types/api-responses"
import { SearchProvider } from "../search-provider"
import { SidebarProvider } from "../sidebar-provider"
import { ApiKeyDTO } from "@medusajs/types"
import { Spinner } from "@medusajs/icons"
import { useV2Session } from "../../lib/api-v2"
export const ProtectedRoute = () => {
const { user, isLoading } = useV2Session()
const { user, isLoading } = useMe()
const location = useLocation()
if (isLoading) {
@@ -363,7 +362,10 @@ export const v2Routes: RouteObject[] = [
"../../v2-routes/api-key-management/api-key-management-detail"
),
handle: {
crumb: (data: { api_key: ApiKeyDTO }) => data.api_key.title,
crumb: (data: ApiKeyRes) => {
console.log("data", data)
return data.apiKey.title
},
},
children: [
{