Immobilien site 11-05-2026

This commit is contained in:
Kevin Adametz 2026-05-11 10:29:37 +02:00
parent e198d842ce
commit 6799325f71
28 changed files with 16189 additions and 809 deletions

View file

@ -2,6 +2,7 @@
use App\Livewire\Cabinet\QuickStatus;
use App\Models\CmsProject;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Livewire\Volt\Volt;
@ -37,9 +38,43 @@ Route::get('/about', function () {
Route::get('/ecosystem', function () {
return redirect('/partner', 301);
})->name('ecosystem');
Route::get('/immobilien', function () {
return view('web.immobilien');
$loadAziziContent = fn (): array => json_decode(
file_get_contents(resource_path('lang/de/immobilien-azizi.json')),
true,
512,
JSON_THROW_ON_ERROR,
);
$isAziziSourcePreview = function (Request $request): bool {
if (! $request->query->has('dev')) {
return false;
}
return ! in_array(strtolower((string) $request->query('dev')), ['0', 'false', 'off', 'no'], true);
};
Route::get('/immobilien', function (Request $request) use ($isAziziSourcePreview, $loadAziziContent) {
$content = $loadAziziContent();
$dev = $isAziziSourcePreview($request);
$devQuery = $dev;
$overviewRouteName = 'immobilien';
$detailRouteName = 'immobilien.show';
return view('web.dev.immobilien-azizi', compact('content', 'dev', 'devQuery', 'overviewRouteName', 'detailRouteName'));
})->name('immobilien');
Route::get('/immobilien/{slug}', function (Request $request, string $slug) use ($isAziziSourcePreview, $loadAziziContent) {
$content = $loadAziziContent();
$dev = $isAziziSourcePreview($request);
$devQuery = $dev;
$overviewRouteName = 'immobilien';
$project = collect($content['projects'] ?? [])->firstWhere('slug', $slug);
abort_unless($project, 404);
return view('web.dev.immobilien-azizi-show', compact('content', 'project', 'dev', 'devQuery', 'overviewRouteName'));
})->name('immobilien.show');
Route::get('/netzwerk', function () {
return view('web.netzwerk');
})->name('netzwerk');
@ -47,7 +82,7 @@ Route::get('/interior', function () {
return redirect('/netzwerk', 301);
})->name('interior');
Route::get('/immobilien/{slug}', function (string $slug) {
/*Route::get('/immobilien/{slug}', function (string $slug) {
$cmsProject = CmsProject::query()->published()->where('slug', $slug)->first();
if ($cmsProject) {
$project = $cmsProject->toFrontendArray();
@ -61,7 +96,9 @@ Route::get('/immobilien/{slug}', function (string $slug) {
abort_unless($project, 404);
return view('web.immobilien-show', compact('project'));
})->name('immobilien.show');
*/
Route::get('/partner', function () {
return redirect('/netzwerk', 301);
})->name('partner');
@ -107,31 +144,27 @@ Route::get('/theme-demo', function () {
})->name('theme-demo');
// Dev: Sitemap & Archiv-Versionen
Route::prefix('dev')->group(function () {
Route::prefix('dev')->group(function () use ($loadAziziContent) {
Route::get('/sitemap', fn () => view('web.dev.sitemap'))->name('dev.sitemap');
Route::get('/immobilien-v1', fn () => view('web.dev.immobilien-v1'))->name('dev.immobilien-v1');
Route::get('/immobilien-azizi', function () {
$content = json_decode(
file_get_contents(resource_path('lang/de/immobilien-azizi.json')),
true,
512,
JSON_THROW_ON_ERROR,
);
Route::get('/immobilien-azizi', function () use ($loadAziziContent) {
$content = $loadAziziContent();
$dev = true;
$devQuery = false;
$overviewRouteName = 'dev.immobilien-azizi';
$detailRouteName = 'dev.immobilien-azizi.show';
return view('web.dev.immobilien-azizi', compact('content'));
return view('web.dev.immobilien-azizi', compact('content', 'dev', 'devQuery', 'overviewRouteName', 'detailRouteName'));
})->name('dev.immobilien-azizi');
Route::get('/immobilien-azizi/{slug}', function (string $slug) {
$content = json_decode(
file_get_contents(resource_path('lang/de/immobilien-azizi.json')),
true,
512,
JSON_THROW_ON_ERROR,
);
Route::get('/immobilien-azizi/{slug}', function (string $slug) use ($loadAziziContent) {
$content = $loadAziziContent();
$project = collect($content['projects'] ?? [])->firstWhere('slug', $slug);
abort_unless($project, 404);
$dev = true;
$devQuery = false;
$overviewRouteName = 'dev.immobilien-azizi';
return view('web.dev.immobilien-azizi-show', compact('content', 'project'));
return view('web.dev.immobilien-azizi-show', compact('content', 'project', 'dev', 'devQuery', 'overviewRouteName'));
})->name('dev.immobilien-azizi.show');
Route::get('/interior-v1', fn () => view('web.dev.interior-v1'))->name('dev.interior-v1');
Route::get('/partner-v1', fn () => view('web.dev.partner-v1'))->name('dev.partner-v1');