Ver Fonte

feat(dashboard): Respect base path of Vite config in router

David Höck há 7 meses atrás
pai
commit
7716ecefd2

+ 4 - 2
packages/dashboard/src/app/main.tsx

@@ -1,5 +1,7 @@
 import { Toaster } from '@/components/ui/sonner.js';
+import { registerDefaults } from '@/framework/defaults.js';
 import { setCustomFieldsMap } from '@/framework/document-introspection/add-custom-fields.js';
+import { executeDashboardExtensionCallbacks } from '@/framework/extension-api/define-dashboard-extension.js';
 import { useDashboardExtensions } from '@/framework/extension-api/use-dashboard-extensions.js';
 import { useExtendedRouter } from '@/framework/page/use-extended-router.js';
 import { useAuth } from '@/hooks/use-auth.js';
@@ -8,8 +10,6 @@ import { defaultLocale, dynamicActivate } from '@/providers/i18n-provider.js';
 import { createRouter, RouterProvider } from '@tanstack/react-router';
 import React, { useEffect } from 'react';
 import ReactDOM from 'react-dom/client';
-import { registerDefaults } from '@/framework/defaults.js';
-import { executeDashboardExtensionCallbacks } from '@/framework/extension-api/define-dashboard-extension.js';
 
 import { AppProviders, queryClient } from './app-providers.js';
 import { routeTree } from './routeTree.gen.js';
@@ -26,6 +26,8 @@ export const router = createRouter({
     routeTree,
     defaultPreload: 'intent',
     scrollRestoration: true,
+    // In case the dashboard gets served from a subpath, we need to set the basepath based on the environment variable
+    ...(import.meta.env.BASE_URL ? { basepath: import.meta.env.BASE_URL } : {}),
     context: {
         /* eslint-disable @typescript-eslint/no-non-null-assertion */
         auth: undefined!, // This will be set after we wrap the app in an AuthProvider

+ 1 - 0
packages/dev-server/vite.config.mts

@@ -4,6 +4,7 @@ import { pathToFileURL } from 'url';
 import { defineConfig } from 'vite';
 
 export default defineConfig({
+    base: '/dashboard/',
     plugins: [
         vendureDashboardPlugin({
             vendureConfigPath: pathToFileURL('./dev-config.ts'),