10-04-2026

This commit is contained in:
Kevin Adametz 2026-04-10 17:18:17 +02:00
parent 4d6b4930b2
commit 4bb89aad8c
836 changed files with 52961 additions and 5950 deletions

View file

@ -0,0 +1,134 @@
@extends('web.layouts.web-master')
@section('title', 'Internationale Immobilien - B2in')
@section('content')
<div class="bg-background">
<livewire:web.components.ui.header />
<main class="variante-glass-flow">
<livewire:web.components.sections.partner-hero section="immobilien_hero" />
<livewire:web.components.sections.founder-bar />
{{-- Aktuelle Projekte --}}
@php
$projects = cms_theme_section('immobilien_projects');
$moebelVorteil = cms_theme_section('immobilien_moebel_vorteil');
@endphp
@if (!empty($projects))
<section class="section-padding">
<div class="container-padding">
<div class="text-center mb-12 slide-up delay-300">
<h2 class="text-section-title">{!! $projects['title'] ?? '' !!}</h2>
@if (isset($projects['subtitle']))
<p class="text-large text-muted-foreground mt-4 max-w-2xl mx-auto">
{{ $projects['subtitle'] }}
</p>
@endif
</div>
<div class="grid md:grid-cols-1 lg:grid-cols-2 gap-8 slide-up delay-400">
@foreach ($projects['projects'] ?? [] as $project)
<div class="card-elevated rounded-2xl overflow-hidden">
@if (isset($project['image']))
<div class="relative h-56 overflow-hidden">
<img src="{{ theme_image_url($project['image']) }}"
alt="{{ $project['title'] }}"
class="w-full h-full object-cover" />
@if (isset($project['status']))
<div class="absolute top-4 left-4">
<span class="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-xs font-semibold bg-secondary text-white">
{{ $project['status'] }}
@if (isset($project['launch_date']))
<span class="opacity-80">({{ $project['launch_date'] }})</span>
@endif
</span>
</div>
@endif
</div>
@endif
<div class="p-6 lg:p-8">
<div class="mb-4">
<h3 class="text-xl font-semibold text-foreground">{{ $project['title'] }}</h3>
@if (isset($project['location']))
<p class="text-sm text-muted-foreground mt-1">{{ $project['location'] }}</p>
@endif
</div>
@if (isset($project['price_from']))
<p class="text-lg font-medium text-secondary mb-4">{{ $project['price_from'] }}</p>
@endif
@if (isset($project['highlights']))
<ul class="space-y-2 mb-6">
@foreach ($project['highlights'] as $highlight)
<li class="flex items-start gap-2 text-sm text-muted-foreground">
<svg class="w-4 h-4 text-secondary mt-0.5 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
</svg>
{{ $highlight }}
</li>
@endforeach
</ul>
@endif
<a href="{{ isset($project['slug']) ? route('immobilien.show', $project['slug']) : ($projects['cta_link'] ?? '/contact') }}"
class="inline-flex items-center gap-2 btn-primary-accent">
{{ isset($project['slug']) ? 'Exposé ansehen' : ($projects['cta_text'] ?? 'Anfragen') }}
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3" />
</svg>
</a>
</div>
</div>
@endforeach
</div>
</div>
</section>
@endif
{{-- Möbel-Vorteil Banner --}}
@if (!empty($moebelVorteil))
<section class="section-padding bg-secondary/5">
<div class="container-padding">
<div class="max-w-3xl mx-auto text-center slide-up delay-300">
<h2 class="text-section-title">{!! $moebelVorteil['title'] ?? '' !!}</h2>
<p class="text-large text-muted-foreground mt-4">
{{ $moebelVorteil['text'] ?? '' }}
</p>
@if (isset($moebelVorteil['button_text']))
<div class="mt-8">
<a href="{{ $moebelVorteil['button_link'] ?? '/partner' }}"
class="btn-secondary-accent">
{{ $moebelVorteil['button_text'] }}
</a>
</div>
@endif
</div>
</div>
</section>
@endif
{{-- Trust & Kontakt --}}
<livewire:web.components.sections.content-section section="immobilien_trust" layout="right" />
<livewire:web.components.sections.c-t-a-section />
</main>
<livewire:web.components.ui.footer />
</div>
@endsection
@push('styles')
<style>
[x-cloak] {
display: none !important;
}
</style>
@endpush
@push('scripts')
{{-- Alpine.js wird zentral im Layout geladen --}}
@endpush

View file

@ -0,0 +1,160 @@
@extends('web.layouts.web-master')
@section('title', 'Einrichtungsnetzwerk - B2in Interior')
@section('content')
<div class="bg-background">
<livewire:web.components.ui.header />
<main class="variante-glass-flow">
<livewire:web.components.sections.partner-hero section="interior_hero" />
<livewire:web.components.sections.founder-bar />
{{-- Local-for-Local Konzept --}}
<livewire:web.components.sections.content-section section="interior_concept" layout="left" />
{{-- Zwei Marken --}}
@php
$brands = cms_theme_section('interior_brands');
$zielgruppen = cms_theme_section('interior_zielgruppen');
$process = cms_theme_section('interior_process');
@endphp
@if (!empty($brands))
<section class="section-padding bg-accent">
<div class="container-padding">
<div class="text-center mb-12 slide-up delay-300">
<h2 class="text-section-title">{!! $brands['title'] ?? '' !!}</h2>
@if (isset($brands['subtitle']))
<p class="text-large text-muted-foreground mt-4 max-w-2xl mx-auto">
{{ $brands['subtitle'] }}
</p>
@endif
</div>
<div class="grid md:grid-cols-2 gap-8 max-w-4xl mx-auto slide-up delay-400">
@foreach ($brands['brands'] ?? [] as $brand)
<div class="card-elevated rounded-2xl overflow-hidden">
<div class="p-8 lg:p-10">
@if (isset($brand['logo']))
<div class="mb-6">
<img src="{{ asset($brand['logo']) }}"
alt="{{ $brand['name'] }}"
class="{{ $brand['logo_width'] ?? 'w-32' }}" />
</div>
@endif
<p class="text-xs font-semibold uppercase tracking-wider text-secondary mb-3">
{{ $brand['tagline'] ?? '' }}
</p>
<p class="text-muted-foreground leading-relaxed">
{{ $brand['description'] ?? '' }}
</p>
@if (isset($brand['audience']))
<p class="text-sm font-medium text-foreground mt-4">
{{ $brand['audience'] }}
</p>
@endif
@if (isset($brand['link']))
<div class="mt-6">
<a href="{{ $brand['link'] }}"
target="_blank" rel="noopener"
class="inline-flex items-center gap-2 text-sm font-medium text-secondary hover:text-secondary/80 transition-colors">
{{ $brand['name'] }} entdecken
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" />
</svg>
</a>
</div>
@endif
</div>
</div>
@endforeach
</div>
</div>
</section>
@endif
{{-- Für wen? Zielgruppen --}}
@if (!empty($zielgruppen))
<section class="section-padding">
<div class="container-padding">
<div class="text-center mb-12 slide-up delay-300">
<h2 class="text-section-title">{!! $zielgruppen['title'] ?? '' !!}</h2>
</div>
<div class="grid md:grid-cols-3 gap-8 max-w-5xl mx-auto slide-up delay-400">
@foreach ($zielgruppen['groups'] ?? [] as $group)
<div class="text-center p-6">
<div class="inline-flex items-center justify-center w-14 h-14 rounded-full bg-secondary/10 text-secondary mb-5">
<svg class="w-7 h-7" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24">
@switch($group['icon'] ?? '')
@case('home')
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 12l8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25" />
@break
@case('building-office-2')
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3.75h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008z" />
@break
@case('clipboard-document-check')
<path stroke-linecap="round" stroke-linejoin="round" d="M11.35 3.836c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m8.9-4.414c.376.023.75.05 1.124.08 1.131.094 1.976 1.057 1.976 2.192V16.5A2.25 2.25 0 0118 18.75h-2.25m-7.5-10.5H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V18.75m-7.5-10.5h6.375c.621 0 1.125.504 1.125 1.125v9.375m-8.25-3l1.5 1.5 3-3.75" />
@break
@endswitch
</svg>
</div>
<h3 class="text-lg font-semibold text-foreground mb-3">{{ $group['title'] ?? '' }}</h3>
<p class="text-sm text-muted-foreground leading-relaxed">{{ $group['description'] ?? '' }}</p>
</div>
@endforeach
</div>
</div>
</section>
@endif
{{-- So funktioniert es - Prozess --}}
@if (!empty($process))
<section class="section-padding bg-accent">
<div class="container-padding">
<div class="text-center mb-12 slide-up delay-300">
<h2 class="text-section-title">{!! $process['title'] ?? '' !!}</h2>
</div>
<div class="max-w-3xl mx-auto slide-up delay-400">
<div class="space-y-8">
@foreach ($process['steps'] ?? [] as $step)
<div class="flex gap-6 items-start">
<div class="shrink-0 w-14 h-14 rounded-full bg-secondary text-white flex items-center justify-center text-lg font-bold">
{{ $step['number'] ?? '' }}
</div>
<div class="pt-2">
<h3 class="text-lg font-semibold text-foreground mb-2">{{ $step['title'] ?? '' }}</h3>
<p class="text-muted-foreground leading-relaxed">{{ $step['description'] ?? '' }}</p>
</div>
</div>
@endforeach
</div>
</div>
</div>
</section>
@endif
{{-- Trust / Marcel Scheibe --}}
<livewire:web.components.sections.content-section section="interior_trust" layout="right" />
{{-- CTA --}}
<livewire:web.components.sections.c-t-a-section />
</main>
<livewire:web.components.ui.footer />
</div>
@endsection
@push('styles')
<style>
[x-cloak] {
display: none !important;
}
</style>
@endpush
@push('scripts')
{{-- Alpine.js wird zentral im Layout geladen --}}
@endpush

View file

@ -0,0 +1,38 @@
@extends('web.layouts.web-master')
@section('title', 'Für Entwickler & Partner - B2in')
@section('content')
<div class="bg-background">
<livewire:web.components.ui.header />
<main class="variante-glass-flow">
<livewire:web.components.sections.partner-hero />
<livewire:web.components.sections.founder-bar />
<livewire:web.components.sections.content-section section="supply_chain_intro" layout="left" bg="bg-accent" />
<livewire:web.components.sections.card-section section="partner_card_section" />
<livewire:web.components.sections.benefits-section section="partner_benefits_developer" />
<livewire:web.components.sections.benefits-section section="partner_benefits_retailer" layout="right" bg="bg-accent" />
<livewire:web.components.sections.benefits-section section="partner_benefits_supplier" />
<livewire:web.components.sections.benefits-section section="partner_benefits_broker" layout="right" bg="bg-accent" />
<livewire:web.components.sections.partner-process />
<livewire:web.components.sections.commitment-section />
<livewire:web.components.sections.partner-c-t-a />
</main>
<livewire:web.components.ui.footer />
</div>
@endsection
@push('styles')
<style>
[x-cloak] {
display: none !important;
}
</style>
@endpush
@push('scripts')
{{-- Alpine.js wird zentral im Layout geladen --}}
@endpush

View file

@ -0,0 +1,120 @@
@extends('web.layouts.web-master')
@section('title', 'Dev Sitemap - B2in')
@section('content')
<div class="bg-background">
<livewire:web.components.ui.header />
<main class="section-padding variante-glass-flow">
<div class="container-padding">
<div class="max-w-4xl mx-auto">
<div class="mb-12">
<h1 class="text-hero mb-4">Dev <span class="text-secondary">Sitemap</span></h1>
<p class="text-lg text-muted-foreground">Übersicht aller Seiten inklusive Archiv-Versionen und Entwicklungsseiten.</p>
</div>
{{-- Live-Seiten --}}
<div class="mb-12">
<h2 class="text-xl font-semibold text-foreground mb-6 flex items-center gap-2">
<span class="inline-flex items-center justify-center w-8 h-8 rounded-full bg-green-500/10 text-green-600">
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /></svg>
</span>
Live-Seiten
</h2>
<div class="grid gap-3">
@php
$livePages = [
['url' => '/', 'label' => 'Home', 'description' => 'Startseite B2in'],
['url' => '/immobilien', 'label' => 'Immobilien', 'description' => 'Dubai Investments Hauptseite'],
['url' => '/immobilien/azizi-creek-views-4', 'label' => 'Azizi Creek Views 4', 'description' => 'Projekt-Exposé'],
['url' => '/netzwerk', 'label' => 'Netzwerk', 'description' => 'B2in Ökosystem Teaser (Soft Launch)'],
['url' => '/magazin', 'label' => 'Magazin', 'description' => 'Artikel & Insights'],
['url' => '/about', 'label' => 'Über B2in', 'description' => 'Über uns & Team'],
['url' => '/contact', 'label' => 'Kontakt', 'description' => 'Kontaktformular'],
['url' => '/faq', 'label' => 'FAQ', 'description' => 'Häufige Fragen'],
];
@endphp
@foreach ($livePages as $page)
<a href="{{ $page['url'] }}" class="flex items-center justify-between p-4 rounded-xl border border-border/50 hover:border-secondary/50 hover:bg-secondary/5 transition-all group">
<div>
<span class="font-medium text-foreground group-hover:text-secondary transition-colors">{{ $page['label'] }}</span>
<span class="text-sm text-muted-foreground ml-3">{{ $page['description'] }}</span>
</div>
<code class="text-xs text-muted-foreground bg-accent px-2 py-1 rounded">{{ $page['url'] }}</code>
</a>
@endforeach
</div>
</div>
{{-- Archiv-Seiten --}}
<div class="mb-12">
<h2 class="text-xl font-semibold text-foreground mb-6 flex items-center gap-2">
<span class="inline-flex items-center justify-center w-8 h-8 rounded-full bg-amber-500/10 text-amber-600">
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z" /></svg>
</span>
Archiv (Pre-Soft-Launch Versionen)
</h2>
<div class="grid gap-3">
@php
$archivePages = [
['url' => '/dev/immobilien-v1', 'label' => 'Immobilien (v1)', 'description' => 'Originalversion vor Soft Launch'],
['url' => '/dev/interior-v1', 'label' => 'Interior / Einrichtungsnetzwerk (v1)', 'description' => 'Originalversion vor Soft Launch'],
['url' => '/dev/partner-v1', 'label' => 'Für Entwickler & Partner (v1)', 'description' => 'Originalversion vor Soft Launch'],
];
@endphp
@foreach ($archivePages as $page)
<a href="{{ $page['url'] }}" class="flex items-center justify-between p-4 rounded-xl border border-border/50 hover:border-amber-500/50 hover:bg-amber-500/5 transition-all group">
<div>
<span class="font-medium text-foreground group-hover:text-amber-600 transition-colors">{{ $page['label'] }}</span>
<span class="text-sm text-muted-foreground ml-3">{{ $page['description'] }}</span>
</div>
<code class="text-xs text-muted-foreground bg-accent px-2 py-1 rounded">{{ $page['url'] }}</code>
</a>
@endforeach
</div>
</div>
{{-- Dev-Tools --}}
<div>
<h2 class="text-xl font-semibold text-foreground mb-6 flex items-center gap-2">
<span class="inline-flex items-center justify-center w-8 h-8 rounded-full bg-blue-500/10 text-blue-600">
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M11.42 15.17l-5.384-3.116A2.25 2.25 0 015.25 10.08V6.75a2.25 2.25 0 011.786-1.975l5.384-3.116a2.25 2.25 0 012.16 0l5.384 3.116A2.25 2.25 0 0120.75 6.75v3.33a2.25 2.25 0 01-.786 1.975l-5.384 3.116a2.25 2.25 0 01-2.16 0z" /></svg>
</span>
Dev-Tools
</h2>
<div class="grid gap-3">
@php
$devPages = [
['url' => '/theme-demo', 'label' => 'Theme Demo', 'description' => 'Farben, Logos, Buttons aller Themes'],
['url' => '/dev/sitemap', 'label' => 'Dev Sitemap', 'description' => 'Diese Seite'],
];
@endphp
@foreach ($devPages as $page)
<a href="{{ $page['url'] }}" class="flex items-center justify-between p-4 rounded-xl border border-border/50 hover:border-blue-500/50 hover:bg-blue-500/5 transition-all group">
<div>
<span class="font-medium text-foreground group-hover:text-blue-600 transition-colors">{{ $page['label'] }}</span>
<span class="text-sm text-muted-foreground ml-3">{{ $page['description'] }}</span>
</div>
<code class="text-xs text-muted-foreground bg-accent px-2 py-1 rounded">{{ $page['url'] }}</code>
</a>
@endforeach
</div>
</div>
</div>
</div>
</main>
<livewire:web.components.ui.footer />
</div>
@endsection
@push('styles')
<style>
[x-cloak] {
display: none !important;
}
</style>
@endpush