// DynamicRouter.tsx import React from 'react' import { Routes, Route, Navigate, useLocation } from 'react-router-dom' import { mapDynamicRoutes } from './dynamicRouteLoader' import { useDynamicRoutes } from './dynamicRoutesContext' import { useComponents } from '@/contexts/ComponentContext' import ProtectedRoute from '@/components/route/ProtectedRoute' import PermissionGuard from '@/components/route/PermissionGuard' import PageContainer from '@/components/template/PageContainer' import { ROUTES_ENUM } from './route.constant' import { hasSubdomain } from '@/utils/subdomain' // AccessDenied ve NotFound'u dinamiklikten çıkarıyoruz const AccessDenied = React.lazy(() => import('@/views/AccessDenied')) const NotFound = React.lazy(() => import('@/views/NotFound')) const DatabaseSetup = React.lazy(() => import('@/views/setup/DatabaseSetup')) export const DynamicRouter: React.FC = () => { const { routes, loading, error } = useDynamicRoutes() const { registeredComponents, renderComponent, isComponentRegistered } = useComponents() const location = useLocation() const dynamicRoutes = React.useMemo(() => mapDynamicRoutes(routes), [routes]) // /setup path'inde loading bekleme — setup route her zaman erişilebilir olmalı if (loading && location.pathname !== '/setup') return