group(function () { // Livewire Update-Route explizit für Portal-Domain registrieren // (Notwendig weil Route-Cache/Subdomain-Routing die globalen Livewire-Routen nicht für alle Domains enthält) Route::post( \Livewire\Mechanisms\HandleRequests\EndpointResolver::updatePath(), [\Livewire\Mechanisms\HandleRequests\HandleRequests::class, 'handleUpdate'] )->middleware('web')->name('portal.livewire.update'); // Livewire File-Upload-Route explizit für Portal-Domain registrieren Route::post( \Livewire\Mechanisms\HandleRequests\EndpointResolver::uploadPath(), [\Livewire\Features\SupportFileUploads\FileUploadController::class, 'handle'] )->middleware(['web', 'throttle:60,1'])->name('portal.livewire.upload-file'); // 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']); // 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']);