group(function () { // Auth-Routen laden require __DIR__.'/auth.php'; // Admin-Routes laden require __DIR__.'/admin.php'; // Test-Route laden require __DIR__.'/test.php'; // Display-API-Route (öffentlich zugänglich) Route::get('/api/display/config', [\App\Http\Controllers\Api\DisplayConfigController::class, 'index']); // Cabinet Info-Tablet API Route::get('/api/cabinet-tablet/status', [\App\Http\Controllers\Api\CabinetTabletController::class, 'status']); Route::get('/api/cabinet-tablet/check', [\App\Http\Controllers\Api\CabinetTabletController::class, 'check']); // Display Version API (per physical display) Route::get('/api/display/overview', [\App\Http\Controllers\Api\DisplayVersionApiController::class, 'overview']); Route::get('/api/display/{display}/config', [\App\Http\Controllers\Api\DisplayVersionApiController::class, 'config']); Route::get('/api/display/{display}/check', [\App\Http\Controllers\Api\DisplayVersionApiController::class, 'check']); Route::get('/api/display/preview/{token}', [\App\Http\Controllers\Api\DisplayPreviewController::class, 'config']); Route::get('/api/display/module/{module}/item/{item}/preview', [\App\Http\Controllers\Api\ModulePreviewController::class, 'configItem']); Route::get('/api/display/module/{module}/preview', [\App\Http\Controllers\Api\ModulePreviewController::class, 'config']); Route::get('/preview/module/{module}/item/{item}', [\App\Http\Controllers\Api\ModulePreviewController::class, 'showItem']); Route::get('/preview/module/{module}', [\App\Http\Controllers\Api\ModulePreviewController::class, 'show']); Route::get('/preview/{token}', [\App\Http\Controllers\Api\DisplayPreviewController::class, 'show']); // FluxUI Asset-Routen explizit für Portal-Domain registrieren // (Notwendig weil Route-Cache die globalen Flux-Routen nicht für alle Domains enthält) Route::get('/flux/flux.js', [\Flux\AssetManager::class, 'fluxJs']); Route::get('/flux/flux.min.js', [\Flux\AssetManager::class, 'fluxMinJs']); Route::get('/flux/editor.css', [\Flux\AssetManager::class, 'editorCss']); Route::get('/flux/editor.js', [\Flux\AssetManager::class, 'editorJs']); Route::get('/flux/editor.min.js', [\Flux\AssetManager::class, 'editorMinJs']); // Admin-Assets (Vite) Vite::useBuildDirectory('build/portal'); }); // API-Routen für alle Domains (optional: auch dynamisch machen) Route::domain(config('domains.domain_api', 'api.b2in.test'))->group(function () { require __DIR__.'/api.php'; }); // Web-Routes für alle Themes (werden außerhalb der Domain-Gruppen geladen, um Duplikate zu vermeiden) // Das Theme wird automatisch basierend auf der Domain vom ThemeServiceProvider ausgewählt require __DIR__.'/web.php'; // Domain-spezifische Vite Build-Verzeichnisse Route::domain($domainB2in)->group(function () { Vite::useBuildDirectory('build/b2in'); }); Route::domain($domainB2a)->group(function () { Vite::useBuildDirectory('build/b2a'); }); Route::domain($domainStileigentum)->group(function () { Vite::useBuildDirectory('build/stileigentum'); }); Route::domain($domainStyle2own)->group(function () { Vite::useBuildDirectory('build/style2own'); }); /* // Theme 1 für landing1.test Route::domain('landing1.test')->group(function () { // Web-Routes laden require __DIR__.'/web.php'; // Theme 1 Assets (Vite) Vite::macro('themeCss', function () { return $this->asset('resources/css/web/theme-landing1.css'); }); Vite::useBuildDirectory('build/web'); }); // Theme 2 für landing2.test Route::domain('landing2.test')->group(function () { // Web-Routes laden require __DIR__.'/web.php'; // Theme 2 Assets (Vite) Vite::macro('themeCss', function () { return $this->asset('resources/css/web/theme-landing2.css'); }); Vite::useBuildDirectory('build/web'); });*/ // Fallback: Display-API für alle anderen Domains (z.B. localhost) Route::get('/api/display/config', [\App\Http\Controllers\Api\DisplayConfigController::class, 'index']); // Fallback: Cabinet Info-Tablet API Route::get('/api/cabinet-tablet/status', [\App\Http\Controllers\Api\CabinetTabletController::class, 'status']); Route::get('/api/cabinet-tablet/check', [\App\Http\Controllers\Api\CabinetTabletController::class, 'check']); // Fallback: Display Version API Route::get('/api/display/overview', [\App\Http\Controllers\Api\DisplayVersionApiController::class, 'overview']); Route::get('/api/display/{display}/config', [\App\Http\Controllers\Api\DisplayVersionApiController::class, 'config']); Route::get('/api/display/{display}/check', [\App\Http\Controllers\Api\DisplayVersionApiController::class, 'check']); Route::get('/api/display/preview/{token}', [\App\Http\Controllers\Api\DisplayPreviewController::class, 'config']); Route::get('/api/display/module/{module}/item/{item}/preview', [\App\Http\Controllers\Api\ModulePreviewController::class, 'configItem']); Route::get('/api/display/module/{module}/preview', [\App\Http\Controllers\Api\ModulePreviewController::class, 'config']); Route::get('/preview/module/{module}/item/{item}', [\App\Http\Controllers\Api\ModulePreviewController::class, 'showItem']); Route::get('/preview/module/{module}', [\App\Http\Controllers\Api\ModulePreviewController::class, 'show']); Route::get('/preview/{token}', [\App\Http\Controllers\Api\DisplayPreviewController::class, 'show']);