First commit
This commit is contained in:
commit
7cf3558ba7
12933 changed files with 1180047 additions and 0 deletions
31
resources/views/web/about.blade.php
Normal file
31
resources/views/web/about.blade.php
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Über B2IN - Unser Team & Geschichte')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.about-hero />
|
||||
<livewire:web.components.sections.our-story />
|
||||
<livewire:web.components.sections.leadership-team />
|
||||
<livewire:web.components.sections.our-values />
|
||||
<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
|
||||
32
resources/views/web/b2a.blade.php
Normal file
32
resources/views/web/b2a.blade.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'B2A Export - European Design for the US Market')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.hero-slider />
|
||||
<livewire:web.components.sections.vision-section bg="" />
|
||||
<livewire:web.components.sections.content-section layout="right" bg="bg-accent" section="about_philosophie" />
|
||||
<livewire:web.components.sections.ecosystem-core bg="bg-background" />
|
||||
<livewire:web.components.sections.brand-worlds bg="bg-accent" />
|
||||
<livewire:web.components.sections.c-t-a-section bg="bg-secondary" />
|
||||
</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
|
||||
32
resources/views/web/b2in.blade.php
Normal file
32
resources/views/web/b2in.blade.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'B2IN - Connecting Design and Property')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.hero />
|
||||
<livewire:web.components.sections.ecosystem-core />
|
||||
<livewire:web.components.sections.vision-section bg="bg-accent" />
|
||||
<livewire:web.components.sections.brand-worlds />
|
||||
<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
|
||||
27
resources/views/web/contact.blade.php
Normal file
27
resources/views/web/contact.blade.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Kontakt - B2In')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.ui.contact-form />
|
||||
</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
|
||||
33
resources/views/web/ecosystem.blade.php
Normal file
33
resources/views/web/ecosystem.blade.php
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'B2In Ecosystem - Intelligentes Netzwerk')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.ecosystem-hero />
|
||||
<livewire:web.components.sections.ecosystem-stats />
|
||||
<livewire:web.components.sections.end-customer-section />
|
||||
<livewire:web.components.sections.broker-section />
|
||||
<livewire:web.components.sections.supplier-section />
|
||||
<livewire:web.components.sections.digital-core />
|
||||
<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
|
||||
27
resources/views/web/faq.blade.php
Normal file
27
resources/views/web/faq.blade.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Stileigentum - Premium Immobilien & Zeitlose Eleganz')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.f-a-q bg="bg-background" section="faq" />
|
||||
</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
|
||||
31
resources/views/web/home.blade.php
Normal file
31
resources/views/web/home.blade.php
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'B2IN - Connecting Design and Property')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.hero />
|
||||
<livewire:web.components.sections.ecosystem-core />
|
||||
<livewire:web.components.sections.vision-section bg="bg-accent" />
|
||||
<livewire:web.components.sections.brand-worlds />
|
||||
<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
|
||||
70
resources/views/web/home2.blade.php
Normal file
70
resources/views/web/home2.blade.php
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Home - ' . config('app.name'))
|
||||
|
||||
@section('content')
|
||||
<div class="min-h-screen bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<section class="section-padding">
|
||||
<div class="container-padding">
|
||||
<div class="text-center mb-16">
|
||||
<h1 class="text-section-title">Willkommen bei {{ config('app.name') }}</h1>
|
||||
<p class="text-large text-muted-foreground mt-4 max-w-2xl mx-auto">
|
||||
Dies ist die Home-Seite mit dem {{ ucfirst(config('app.theme')) }} Theme.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="bg-card/95 backdrop-blur-sm rounded-xl p-8 shadow-lg border border-border/50 spacing-content">
|
||||
<h2 class="text-2xl font-medium mb-6 text-primary">Features</h2>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div class="space-y-4">
|
||||
<div class="flex items-center space-x-3">
|
||||
<div class="w-2 h-2 bg-secondary rounded-full"></div>
|
||||
<span class="text-muted-foreground">Responsive Design</span>
|
||||
</div>
|
||||
<div class="flex items-center space-x-3">
|
||||
<div class="w-2 h-2 bg-secondary rounded-full"></div>
|
||||
<span class="text-muted-foreground">Mehrere Themes</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-y-4">
|
||||
<div class="flex items-center space-x-3">
|
||||
<div class="w-2 h-2 bg-secondary rounded-full"></div>
|
||||
<span class="text-muted-foreground">Dark Mode Unterstützung</span>
|
||||
</div>
|
||||
<div class="flex items-center space-x-3">
|
||||
<div class="w-2 h-2 bg-secondary rounded-full"></div>
|
||||
<span class="text-muted-foreground">Adaptive Farbschemata</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center mt-8">
|
||||
<a href="{{ url('/welcome') }}" class="btn-primary-accent">
|
||||
Zur Willkommensseite
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</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
|
||||
154
resources/views/web/layouts/admin-master.blade.php
Normal file
154
resources/views/web/layouts/admin-master.blade.php
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="dark">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>@yield('title', $domainName ?? 'Admin - ' . config('app.name'))</title>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ asset('img/favicons/admin-favicon.ico') }}">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.bunny.net">
|
||||
<link href="https://fonts.bunny.net/css?family=instrument-sans:400,500,600,700" rel="stylesheet" />
|
||||
|
||||
<!-- Styles -->
|
||||
@vite([
|
||||
\App\Helpers\ThemeHelper::getThemeCssPath(),
|
||||
'resources/js/app.js'
|
||||
], 'build/' . $theme)
|
||||
|
||||
{{-- @vite(['resources/css/admin.css', 'resources/js/app.js']) --}}
|
||||
|
||||
<!-- Additional Styles -->
|
||||
@stack('styles')
|
||||
</head>
|
||||
<body class="antialiased bg-gray-50 dark:bg-gray-900">
|
||||
<div class="min-h-screen flex">
|
||||
<!-- Sidebar Navigation -->
|
||||
<aside class="w-64 bg-white dark:bg-gray-800 shadow-md hidden md:block">
|
||||
<div class="p-6">
|
||||
<a href="{{ route('admin.home') }}" class="text-xl font-bold text-gray-900 dark:text-white">
|
||||
{{ $domainName ?? config('app.name') . ' Admin' }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav class="mt-10 px-6">
|
||||
<a href="{{ route('admin.dashboard') }}" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-100 dark:hover:bg-gray-700 {{ request()->routeIs('admin.dashboard') ? 'bg-gray-100 dark:bg-gray-700' : '' }}">
|
||||
Dashboard
|
||||
</a>
|
||||
<a href="{{ route('admin.settings.profile') }}" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-100 dark:hover:bg-gray-700 {{ request()->routeIs('admin.settings.profile') ? 'bg-gray-100 dark:bg-gray-700' : '' }}">
|
||||
Profil
|
||||
</a>
|
||||
<!-- Weitere Navigationspunkte hier -->
|
||||
</nav>
|
||||
</aside>
|
||||
|
||||
<div class="flex-1 flex flex-col">
|
||||
<!-- Top Navigation -->
|
||||
<header class="bg-white dark:bg-gray-800 shadow-sm">
|
||||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex justify-between h-16">
|
||||
<div class="flex items-center md:hidden">
|
||||
<!-- Mobile menu button -->
|
||||
<button type="button" class="text-gray-500 hover:text-gray-600 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500" id="mobile-menu-button">
|
||||
<span class="sr-only">Menu öffnen</span>
|
||||
<svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center">
|
||||
@if(app()->environment('local'))
|
||||
<!-- Domain-Informationsanzeige (nur in local) -->
|
||||
<div class="mr-4 text-xs px-2 py-1 rounded bg-indigo-100 text-indigo-800 dark:bg-indigo-900 dark:text-indigo-200">
|
||||
{{ Request::getHost() }}
|
||||
@if(config('domains.dev_settings.simulate_domain'))
|
||||
<span class="inline-flex items-center ml-1 px-1.5 py-0.5 rounded-full text-xs bg-yellow-100 text-yellow-800">
|
||||
Simuliert
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- User Dropdown -->
|
||||
<div class="ml-3 relative">
|
||||
<div>
|
||||
<button type="button" class="flex text-sm rounded-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" id="user-menu-button">
|
||||
<span class="sr-only">Benutzermenü öffnen</span>
|
||||
<div class="h-8 w-8 rounded-full bg-gray-200 flex items-center justify-center">
|
||||
<span class="text-xs font-medium">{{ Auth::user()->name[0] ?? 'U' }}</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Dropdown menu -->
|
||||
<div class="hidden origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1 bg-white dark:bg-gray-700 ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" id="user-menu">
|
||||
<a href="{{ route('admin.settings.profile') }}" class="block px-4 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-600" role="menuitem">Profil</a>
|
||||
<a href="{{ route('admin.settings.appearance') }}" class="block px-4 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-600" role="menuitem">Einstellungen</a>
|
||||
<form method="POST" action="{{ route('logout') }}">
|
||||
@csrf
|
||||
<button type="submit" class="block w-full text-left px-4 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-600" role="menuitem">Abmelden</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Mobile menu (off-canvas) -->
|
||||
<div class="md:hidden hidden" id="mobile-menu">
|
||||
<div class="px-2 pt-2 pb-3 space-y-1 bg-white dark:bg-gray-800 shadow-lg">
|
||||
<a href="{{ route('admin.dashboard') }}" class="block px-3 py-2 rounded-md text-base font-medium text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700">Dashboard</a>
|
||||
<a href="{{ route('admin.settings.profile') }}" class="block px-3 py-2 rounded-md text-base font-medium text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700">Profil</a>
|
||||
<!-- Weitere mobile Navigationspunkte hier -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Page Content -->
|
||||
<main class="flex-1 py-10">
|
||||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
@yield('content')
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script>
|
||||
// Toggle user dropdown
|
||||
const userMenuButton = document.getElementById('user-menu-button');
|
||||
const userMenu = document.getElementById('user-menu');
|
||||
|
||||
if (userMenuButton && userMenu) {
|
||||
userMenuButton.addEventListener('click', function() {
|
||||
userMenu.classList.toggle('hidden');
|
||||
});
|
||||
|
||||
// Close the dropdown when clicked outside
|
||||
document.addEventListener('click', function(event) {
|
||||
if (!userMenuButton.contains(event.target) && !userMenu.contains(event.target)) {
|
||||
userMenu.classList.add('hidden');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Mobile menu toggle
|
||||
const mobileMenuButton = document.getElementById('mobile-menu-button');
|
||||
const mobileMenu = document.getElementById('mobile-menu');
|
||||
|
||||
if (mobileMenuButton && mobileMenu) {
|
||||
mobileMenuButton.addEventListener('click', function() {
|
||||
mobileMenu.classList.toggle('hidden');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Additional Scripts -->
|
||||
@stack('scripts')
|
||||
</body>
|
||||
</html>
|
||||
126
resources/views/web/layouts/footer.blade.php
Normal file
126
resources/views/web/layouts/footer.blade.php
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
<footer class="bg-white">
|
||||
<div class="mx-auto max-w-7xl px-6 pt-12 pb-8 sm:pt-16 lg:px-8 lg:pt-16">
|
||||
<div class="xl:grid xl:grid-cols-3 xl:gap-8">
|
||||
<img class="h-9" src="https://tailwindcss.com/plus-assets/img/logos/mark.svg?color=indigo&shade=600" alt="Company name">
|
||||
<div class="mt-16 grid grid-cols-2 gap-8 xl:col-span-2 xl:mt-0">
|
||||
<div class="md:grid md:grid-cols-2 md:gap-8">
|
||||
<div>
|
||||
<h3 class="text-sm/6 font-semibold text-gray-900">Solutions</h3>
|
||||
<ul role="list" class="mt-6 space-y-4">
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Marketing</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Analytics</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Automation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Commerce</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Insights</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="mt-10 md:mt-0">
|
||||
<h3 class="text-sm/6 font-semibold text-gray-900">Support</h3>
|
||||
<ul role="list" class="mt-6 space-y-4">
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Submit ticket</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Guides</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md:grid md:grid-cols-2 md:gap-8">
|
||||
<div>
|
||||
<h3 class="text-sm/6 font-semibold text-gray-900">Company</h3>
|
||||
<ul role="list" class="mt-6 space-y-4">
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">About</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Blog</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Jobs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Press</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="mt-10 md:mt-0">
|
||||
<h3 class="text-sm/6 font-semibold text-gray-900">Legal</h3>
|
||||
<ul role="list" class="mt-6 space-y-4">
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Terms of service</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">Privacy policy</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-sm/6 text-gray-600 hover:text-gray-900">License</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-16 border-t border-gray-900/10 pt-8 sm:mt-20 lg:mt-24 lg:flex lg:items-center lg:justify-between">
|
||||
<div>
|
||||
<h3 class="text-sm/6 font-semibold text-gray-900">Subscribe to our newsletter</h3>
|
||||
<p class="mt-2 text-sm/6 text-gray-600">The latest news, articles, and resources, sent to your inbox weekly.</p>
|
||||
</div>
|
||||
<form class="mt-6 sm:flex sm:max-w-md lg:mt-0">
|
||||
<label for="email-address" class="sr-only">Email address</label>
|
||||
<input type="email" name="email-address" id="email-address" autocomplete="email" required class="w-full min-w-0 rounded-md bg-white px-3 py-1.5 text-base text-gray-900 outline-1 -outline-offset-1 outline-gray-300 placeholder:text-gray-400 focus:outline-2 focus:-outline-offset-2 focus:outline-indigo-600 sm:w-56 sm:text-sm/6" placeholder="Enter your email">
|
||||
<div class="mt-4 sm:mt-0 sm:ml-4 sm:shrink-0">
|
||||
<button type="submit" class="flex w-full items-center justify-center rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-xs hover:bg-indigo-500 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Subscribe</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="mt-8 border-t border-gray-900/10 pt-8 md:flex md:items-center md:justify-between">
|
||||
<div class="flex gap-x-6 md:order-2">
|
||||
<a href="#" class="text-gray-600 hover:text-gray-800">
|
||||
<span class="sr-only">Facebook</span>
|
||||
<svg class="size-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||
<path fill-rule="evenodd" d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="#" class="text-gray-600 hover:text-gray-800">
|
||||
<span class="sr-only">Instagram</span>
|
||||
<svg class="size-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||
<path fill-rule="evenodd" d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="#" class="text-gray-600 hover:text-gray-800">
|
||||
<span class="sr-only">X</span>
|
||||
<svg class="size-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||
<path d="M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="#" class="text-gray-600 hover:text-gray-800">
|
||||
<span class="sr-only">GitHub</span>
|
||||
<svg class="size-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||
<path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="#" class="text-gray-600 hover:text-gray-800">
|
||||
<span class="sr-only">YouTube</span>
|
||||
<svg class="size-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||
<path fill-rule="evenodd" d="M19.812 5.418c.861.23 1.538.907 1.768 1.768C21.998 8.746 22 12 22 12s0 3.255-.418 4.814a2.504 2.504 0 0 1-1.768 1.768c-1.56.419-7.814.419-7.814.419s-6.255 0-7.814-.419a2.505 2.505 0 0 1-1.768-1.768C2 15.255 2 12 2 12s0-3.255.417-4.814a2.507 2.507 0 0 1 1.768-1.768C5.744 5 11.998 5 11.998 5s6.255 0 7.814.418ZM15.194 12 10 15V9l5.194 3Z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
<p class="mt-8 text-sm/6 text-gray-600 md:order-1 md:mt-0">© 2024 Your Company, Inc. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
232
resources/views/web/layouts/header.blade.php
Normal file
232
resources/views/web/layouts/header.blade.php
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
<!--
|
||||
Mobile menu
|
||||
|
||||
Off-canvas menu for mobile, show/hide based on off-canvas menu state.
|
||||
-->
|
||||
<div class="relative z-40 lg:hidden" role="dialog" aria-modal="true" x-show="mobileMenuOpen" x-cloak>
|
||||
<!--
|
||||
Off-canvas menu backdrop, show/hide based on off-canvas menu state.
|
||||
|
||||
Entering: "transition-opacity ease-linear duration-300"
|
||||
From: "opacity-0"
|
||||
To: "opacity-100"
|
||||
Leaving: "transition-opacity ease-linear duration-300"
|
||||
From: "opacity-100"
|
||||
To: "opacity-0"
|
||||
-->
|
||||
<div class="fixed inset-0 bg-black/50" aria-hidden="true"
|
||||
x-show="mobileMenuOpen"
|
||||
@click.stop="mobileMenuOpen = false"
|
||||
x-transition:enter="transition-opacity ease-linear duration-300"
|
||||
x-transition:enter-start="opacity-0"
|
||||
x-transition:enter-end="opacity-100"
|
||||
x-transition:leave="transition-opacity ease-linear duration-300"
|
||||
x-transition:leave-start="opacity-100"
|
||||
x-transition:leave-end="opacity-0"></div>
|
||||
|
||||
<div class="fixed inset-0 z-40 flex" x-show="mobileMenuOpen" @mousedown.away="mobileMenuOpen = false">
|
||||
<!--
|
||||
Off-canvas menu, show/hide based on off-canvas menu state.
|
||||
|
||||
Entering: "transition ease-in-out duration-300 transform"
|
||||
From: "-translate-x-full"
|
||||
To: "translate-x-0"
|
||||
Leaving: "transition ease-in-out duration-300 transform"
|
||||
From: "translate-x-0"
|
||||
To: "-translate-x-full"
|
||||
-->
|
||||
<div class="relative flex w-full max-w-xs flex-col overflow-y-auto bg-white pb-12 shadow-xl"
|
||||
x-show="mobileMenuOpen"
|
||||
@click.away="mobileMenuOpen = false"
|
||||
x-transition:enter="transition ease-in-out duration-300 transform"
|
||||
x-transition:enter-start="-translate-x-full"
|
||||
x-transition:enter-end="translate-x-0"
|
||||
x-transition:leave="transition ease-in-out duration-300 transform"
|
||||
x-transition:leave-start="translate-x-0"
|
||||
x-transition:leave-end="-translate-x-full">
|
||||
<div class="flex px-4 pt-5 pb-2">
|
||||
<button type="button" class="-m-2 inline-flex items-center justify-center rounded-md p-2 text-gray-400 pointer-events-auto cursor-pointer" @click="mobileMenuOpen = false">
|
||||
<span class="sr-only">Close menu</span>
|
||||
<svg class="size-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Links -->
|
||||
<div class="space-y-6 border-t border-gray-200 px-4 py-4">
|
||||
<div class="flow-root">
|
||||
<a href="#" class="-m-2 block p-3 font-medium text-gray-900 hover:text-gray-900 hover:bg-gray-100 rounded-md">Start</a>
|
||||
</div>
|
||||
<div class="flow-root">
|
||||
<a href="#" class="-m-2 block p-3 font-medium text-gray-900 hover:text-gray-900 hover:bg-gray-100 rounded-md">About</a>
|
||||
</div>
|
||||
<div class="flow-root">
|
||||
<a href="#" class="-m-2 block p-3 font-medium text-gray-900 hover:text-gray-900 hover:bg-gray-100 rounded-md">Company</a>
|
||||
</div>
|
||||
<div class="flow-root">
|
||||
<a href="#" class="-m-2 block p-3 font-medium text-gray-900 hover:text-gray-900 hover:bg-gray-100 rounded-md">Stores</a>
|
||||
</div>
|
||||
<div class="flow-root">
|
||||
<a href="#" class="-m-2 block p-3 font-medium text-gray-900 hover:text-gray-900 hover:bg-gray-100 rounded-md">Contact</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="space-y-6 border-t border-gray-200 px-4 py-6">
|
||||
<div class="flow-root">
|
||||
<a href="#" class="-m-2 block p-2 font-semibold text-white rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm shadow-xs hover:bg-indigo-500 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Create an account</a>
|
||||
</div>
|
||||
<div class="flow-root">
|
||||
<a href="{{ config('domains.domain_admin_url') }}/login" class="-m-2 block p-2 font-semibold text-white rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm shadow-xs hover:bg-indigo-500 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Sign in</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="space-y-6 border-t border-gray-200 px-4 py-6">
|
||||
<!-- Currency selector -->
|
||||
<form>
|
||||
<div class="-ml-2 inline-grid grid-cols-1">
|
||||
<div class="flex items-center">
|
||||
<svg class="size-6 text-gray-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
||||
</svg>
|
||||
<select id="mobile-currency" name="currency" aria-label="Currency" class="w-full appearance-none rounded-md bg-white py-0.5 pr-7 pl-2 text-base font-medium text-gray-700 group-hover:text-gray-800 focus:outline-2 sm:text-sm/6">
|
||||
<option>DE</option>
|
||||
<option>EN</option>
|
||||
</select>
|
||||
<svg class="pointer-events-none -ml-6 size-5 fill-gray-500" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<header class="relative z-10">
|
||||
<nav aria-label="Top">
|
||||
<!-- Top navigation -->
|
||||
<div class="bg-gray-900">
|
||||
<div class="mx-auto flex h-10 max-w-7xl items-center justify-between px-4 sm:px-6 lg:px-8">
|
||||
<!-- Currency selector -->
|
||||
<form class="hidden lg:block lg:flex-1">
|
||||
<div class="-ml-2 inline-grid grid-cols-1">
|
||||
<div class="flex items-center">
|
||||
<svg class="size-6 text-gray-300 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
||||
</svg>
|
||||
<select id="desktop-currency" name="currency" aria-label="Currency" class="w-full appearance-none rounded-md bg-gray-900 py-0.5 pr-7 pl-2 text-left text-base font-medium text-white focus:outline-2 focus:-outline-offset-1 focus:outline-white sm:text-sm/6">
|
||||
<option>DE</option>
|
||||
<option>EN</option>
|
||||
</select>
|
||||
<svg class="pointer-events-none -ml-6 size-5 fill-gray-300" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<p class="flex-1 text-center text-sm font-medium text-white lg:flex-none">Get free delivery on orders over $100</p>
|
||||
|
||||
<div class="hidden lg:flex lg:flex-1 lg:items-center lg:justify-end lg:space-x-6">
|
||||
<a href="#" class="text-sm font-medium text-white hover:text-gray-100">Create an account</a>
|
||||
<span class="h-6 w-px bg-gray-600" aria-hidden="true"></span>
|
||||
<a href="{{ config('domains.domain_admin_url') }}" class="text-sm font-medium text-white hover:text-gray-100">Sign in</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Secondary navigation -->
|
||||
<div class="bg-white">
|
||||
<div class="border-b border-gray-200">
|
||||
<div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex h-16 items-center justify-between">
|
||||
<!-- Logo (lg+) -->
|
||||
<div class="hidden lg:flex lg:items-center">
|
||||
<a href="#">
|
||||
<span class="sr-only">Your Company</span>
|
||||
<img class="h-8 w-auto" src="https://tailwindcss.com/plus-assets/img/logos/mark.svg?color=indigo&shade=600" alt="">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="hidden h-full lg:flex">
|
||||
<!-- Mega menus -->
|
||||
<div class="ml-8 my-2">
|
||||
<div class="flex h-full justify-center space-x-8">
|
||||
<a href="#" class="flex items-center text-base font-medium text-gray-700 hover:text-gray-900 hover:bg-gray-100 rounded-md px-2 py-1">Start</a>
|
||||
<a href="#" class="flex items-center text-base font-medium text-gray-700 hover:text-gray-900 hover:bg-gray-100 rounded-md px-2 py-1">About</a>
|
||||
<a href="#" class="flex items-center text-base font-medium text-gray-700 hover:text-gray-900 hover:bg-gray-100 rounded-md px-2 py-1">Company</a>
|
||||
<a href="#" class="flex items-center text-base font-medium text-gray-700 hover:text-gray-900 hover:bg-gray-100 rounded-md px-2 py-1">Stores</a>
|
||||
<a href="#" class="flex items-center text-base font-medium text-gray-700 hover:text-gray-900 hover:bg-gray-100 rounded-md px-2 py-1">Contact</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Mobile menu and search (lg-) -->
|
||||
<div class="flex flex-1 items-center lg:hidden">
|
||||
<!-- Mobile menu toggle, controls the 'mobileMenuOpen' state. -->
|
||||
<button type="button" class="-ml-2 rounded-md bg-white p-2 text-gray-400 pointer-events-auto cursor-pointer" @click="mobileMenuOpen = true">
|
||||
<span class="sr-only">Open menu</span>
|
||||
<svg class="size-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" />
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<!-- Search -->
|
||||
<a href="#" class="ml-2 p-2 text-gray-400 hover:text-gray-500">
|
||||
<span class="sr-only">Search</span>
|
||||
<svg class="size-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Logo (lg-) -->
|
||||
<a href="#" class="lg:hidden">
|
||||
<span class="sr-only">Your Company</span>
|
||||
<img src="https://tailwindcss.com/plus-assets/img/logos/mark.svg?color=indigo&shade=600" alt="" class="h-8 w-auto">
|
||||
</a>
|
||||
|
||||
<div class="flex flex-1 items-center justify-end">
|
||||
<div class="flex items-center lg:ml-8">
|
||||
<div class="flex space-x-8">
|
||||
<div class="hidden lg:flex">
|
||||
<a href="#" class="-m-2 p-2 text-gray-400 hover:text-gray-500">
|
||||
<span class="sr-only">Search</span>
|
||||
<svg class="size-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="flex">
|
||||
<a href="#" class="-m-2 p-2 text-gray-400 hover:text-gray-500">
|
||||
<span class="sr-only">Account</span>
|
||||
<svg class="size-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="mx-4 h-6 w-px bg-gray-200 lg:mx-6" aria-hidden="true"></span>
|
||||
|
||||
<div class="flow-root">
|
||||
<a href="#" class="group -m-2 flex items-center p-2">
|
||||
<svg class="size-6 shrink-0 text-gray-400 group-hover:text-gray-500" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 0 0-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 0 0-16.536-1.84M7.5 14.25 5.106 5.272M6 20.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm12.75 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z" />
|
||||
</svg>
|
||||
<span class="ml-2 text-sm font-medium text-gray-700 group-hover:text-gray-800">0</span>
|
||||
<span class="sr-only">items in cart, view bag</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
98
resources/views/web/layouts/web-master.blade.php
Normal file
98
resources/views/web/layouts/web-master.blade.php
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>@yield('title', $domainName ?? config('app.name', 'Laravel'))</title>
|
||||
|
||||
<!-- Domain-spezifisches Favicon -->
|
||||
<link rel="icon" href="{{ asset(\App\Helpers\ThemeHelper::getFaviconPath()) }}">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.bunny.net">
|
||||
|
||||
@php
|
||||
$primaryFont = \App\Helpers\ThemeHelper::getPrimaryFont();
|
||||
$secondaryFont = \App\Helpers\ThemeHelper::getSecondaryFont();
|
||||
$theme = config('app.theme', 'b2in');
|
||||
@endphp
|
||||
|
||||
@vite([
|
||||
\App\Helpers\ThemeHelper::getThemeCssPath(),
|
||||
'resources/js/app.js'
|
||||
], 'build/' . $theme)
|
||||
|
||||
<!-- Sticky Header Script -->
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const topbar = document.getElementById('topbar');
|
||||
const header = document.getElementById('header');
|
||||
|
||||
if (!topbar || !header) return;
|
||||
|
||||
let topbarHeight = topbar.offsetHeight;
|
||||
let isHeaderSticky = false;
|
||||
|
||||
function updateHeaderPosition() {
|
||||
const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
|
||||
|
||||
if (scrollTop >= topbarHeight && !isHeaderSticky) {
|
||||
// TopBar ist nicht mehr sichtbar - Header wird sticky
|
||||
header.classList.remove('header-normal');
|
||||
header.classList.add('header-sticky');
|
||||
isHeaderSticky = true;
|
||||
} else if (scrollTop < topbarHeight && isHeaderSticky) {
|
||||
// TopBar ist wieder sichtbar - Header wird normal
|
||||
header.classList.remove('header-sticky');
|
||||
header.classList.add('header-normal');
|
||||
isHeaderSticky = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Initial check
|
||||
updateHeaderPosition();
|
||||
|
||||
// Listen for scroll events
|
||||
window.addEventListener('scroll', updateHeaderPosition);
|
||||
|
||||
// Listen for resize events (in case topbar height changes)
|
||||
window.addEventListener('resize', function() {
|
||||
topbarHeight = topbar.offsetHeight;
|
||||
updateHeaderPosition();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Additional Styles -->
|
||||
@stack('styles')
|
||||
|
||||
<!-- Domain-spezifische Fonts -->
|
||||
@if ($primaryFont === 'Inter' && $secondaryFont === 'IBM Plex Sans')
|
||||
<link href="https://fonts.bunny.net/css?family=inter:400,500,600,700|ibm-plex-sans:400,500,600,700"
|
||||
rel="stylesheet" />
|
||||
@elseif($primaryFont === 'Inter' && $secondaryFont === 'Merriweather')
|
||||
<link href="https://fonts.bunny.net/css?family=inter:400,500,600,700|merriweather:400,700" rel="stylesheet" />
|
||||
@elseif($primaryFont === 'Inter' && $secondaryFont === 'Ephesis')
|
||||
<link href="https://fonts.bunny.net/css?family=inter:400,500,600,700|ephesis:400" rel="stylesheet" />
|
||||
@elseif($primaryFont === 'Inter' && $secondaryFont === 'EB Garamond')
|
||||
<link href="https://fonts.bunny.net/css?family=inter:400,500,600,700|eb-garamond:400,500,600,700"
|
||||
rel="stylesheet" />
|
||||
@else
|
||||
<link href="https://fonts.bunny.net/css?family=inter:400,500,600,700|ibm-plex-sans:400,500,600,700"
|
||||
rel="stylesheet" />
|
||||
@endif
|
||||
</head>
|
||||
|
||||
<body class="antialiased bg-background text-foreground">
|
||||
|
||||
<!-- TopBar - statisch oben -->
|
||||
<livewire:web.components.ui.top-bar />
|
||||
@yield('content')
|
||||
<!-- Additional Scripts -->
|
||||
@stack('scripts')
|
||||
</body>
|
||||
|
||||
</html>
|
||||
27
resources/views/web/magazin-detail.blade.php
Normal file
27
resources/views/web/magazin-detail.blade.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Magazin Artikel - B2In')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.magazin-detail :id="$id ?? 1" />
|
||||
</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
|
||||
29
resources/views/web/magazin.blade.php
Normal file
29
resources/views/web/magazin.blade.php
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'B2In Magazin - Insights & Trends')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.magazin-list />
|
||||
</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
|
||||
32
resources/views/web/partner.blade.php
Normal file
32
resources/views/web/partner.blade.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Partner werden - B2In Ecosystem')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.partner-hero />
|
||||
<livewire:web.components.sections.partner-benefits />
|
||||
<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
|
||||
30
resources/views/web/portfolio.blade.php
Normal file
30
resources/views/web/portfolio.blade.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'B2In Magazin - Insights & Trends')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.portfolio />
|
||||
<livewire:web.components.sections.c-t-a-section section="cta_section_portfolio" />
|
||||
</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
|
||||
32
resources/views/web/service.blade.php
Normal file
32
resources/views/web/service.blade.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Stileigentum - Premium Immobilien & Zeitlose Eleganz')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.hero-image />
|
||||
<livewire:web.components.sections.content-section layout="left" bg="bg-white" section="content_section_left" />
|
||||
<livewire:web.components.sections.content-section layout="right" bg="bg-accent" section="content_section_right" />
|
||||
|
||||
<livewire:web.components.sections.ecosystem-stats />
|
||||
<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
|
||||
32
resources/views/web/stileigentum.blade.php
Normal file
32
resources/views/web/stileigentum.blade.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Stileigentum - Premium Immobilien & Zeitlose Eleganz')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.hero-slider />
|
||||
<livewire:web.components.sections.vision-section bg="" />
|
||||
<livewire:web.components.sections.content-section layout="right" bg="bg-accent" section="about_philosophie" />
|
||||
<livewire:web.components.sections.ecosystem-core bg="bg-background" />
|
||||
<livewire:web.components.sections.brand-worlds bg="bg-accent" />
|
||||
<livewire:web.components.sections.c-t-a-section bg="bg-secondary" />
|
||||
</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
|
||||
32
resources/views/web/style2own.blade.php
Normal file
32
resources/views/web/style2own.blade.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Style2own - Kreative Wohnkonzepte & Moderne Lebensräume')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<livewire:web.components.sections.hero-slider />
|
||||
<livewire:web.components.sections.vision-section bg="" />
|
||||
<livewire:web.components.sections.content-section layout="right" bg="bg-accent" section="about_philosophie" />
|
||||
<livewire:web.components.sections.ecosystem-core bg="bg-background" />
|
||||
<livewire:web.components.sections.brand-worlds bg="bg-accent" />
|
||||
<livewire:web.components.sections.c-t-a-section bg="bg-secondary" />
|
||||
</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
|
||||
42
resources/views/web/theme-demo.blade.php
Normal file
42
resources/views/web/theme-demo.blade.php
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Theme Demo - ' . ($domainName ?? 'B2IN'))
|
||||
|
||||
@section('content')
|
||||
<div class="bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main class="section-padding">
|
||||
<div class="container-padding">
|
||||
<!-- Theme Info Section -->
|
||||
<livewire:web.components.demo.theme-info />
|
||||
|
||||
<!-- Logo Demo Section -->
|
||||
<livewire:web.components.demo.logo-demo />
|
||||
|
||||
<!-- Color Demo Section -->
|
||||
<livewire:web.components.demo.color-demo />
|
||||
|
||||
<!-- Button Demo Section -->
|
||||
<livewire:web.components.demo.button-demo />
|
||||
|
||||
<!-- Theme Switcher Section -->
|
||||
<livewire:web.components.demo.theme-switcher />
|
||||
</div>
|
||||
</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
|
||||
67
resources/views/web/welcome.blade.php
Normal file
67
resources/views/web/welcome.blade.php
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Willkommen - ' . config('app.name'))
|
||||
|
||||
@section('content')
|
||||
<div class="min-h-screen bg-background">
|
||||
<livewire:web.components.ui.header />
|
||||
|
||||
<main>
|
||||
<section class="section-padding">
|
||||
<div class="container-padding">
|
||||
<div class="text-center mb-16">
|
||||
<h1 class="text-section-title">Willkommen bei {{ config('app.name') }}</h1>
|
||||
<p class="text-large text-muted-foreground mt-4 max-w-2xl mx-auto">
|
||||
Dies ist die Willkommensseite mit dem {{ ucfirst(config('app.theme')) }} Theme.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 lg:gap-12 max-w-6xl mx-auto">
|
||||
<div class="bg-card/95 backdrop-blur-sm rounded-xl p-6 shadow-lg border border-border/50 spacing-content">
|
||||
<h3 class="text-xl font-medium mb-3 text-primary">Über das Theme</h3>
|
||||
<p class="text-muted-foreground leading-relaxed">
|
||||
Diese Seite demonstriert die verschiedenen Stile des {{ ucfirst(config('app.theme')) }}-Themes.
|
||||
</p>
|
||||
<p class="text-muted-foreground leading-relaxed mt-2">
|
||||
Jede Landingpage hat ihr eigenes Theme mit individuellen Farben und Schriften.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-card/95 backdrop-blur-sm rounded-xl p-6 shadow-lg border border-border/50 spacing-content">
|
||||
<h3 class="text-xl font-medium mb-3 text-primary">Domainspezifisches Styling</h3>
|
||||
<p class="text-muted-foreground leading-relaxed">
|
||||
Die Styles werden basierend auf der Domain automatisch geladen:
|
||||
</p>
|
||||
<ul class="list-disc pl-5 mt-3 space-y-1 text-muted-foreground">
|
||||
<li>b2in.test - Hauptstil</li>
|
||||
<li>b2a.test - B2A Export</li>
|
||||
<li>stileigentum.test - Premium Immobilien</li>
|
||||
<li>style2own.test - Kreative Wohnkonzepte</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center mt-12">
|
||||
<a href="{{ url('/') }}" class="btn-primary-accent">
|
||||
Zurück zur Startseite
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</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
|
||||
40
resources/views/web/welcome_bak.blade.php
Normal file
40
resources/views/web/welcome_bak.blade.php
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@section('title', 'Willkommen - ' . config('app.name'))
|
||||
|
||||
@section('content')
|
||||
<div class="py-12">
|
||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow-sm sm:rounded-lg">
|
||||
<div class="p-6 text-gray-900 dark:text-gray-100">
|
||||
<h1 class="text-2xl font-bold mb-4">Willkommensseite</h1>
|
||||
<p class="mb-4">Dies ist die Willkommensseite mit dem {{ ucfirst(config('app.theme')) }} Theme.</p>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mt-8">
|
||||
<div class="bg-accent-50 dark:bg-accent-900 p-6 rounded-lg shadow-sm">
|
||||
<h3 class="text-xl font-semibold mb-3 text-accent-800 dark:text-accent-200">Über das Theme</h3>
|
||||
<p>Diese Seite demonstriert die verschiedenen Stile des {{ ucfirst(config('app.theme')) }}-Themes.</p>
|
||||
<p class="mt-2">Jede Landingpage hat ihr eigenes Theme mit individuellen Farben und Schriften.</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-primary-50 dark:bg-primary-900 p-6 rounded-lg shadow-sm">
|
||||
<h3 class="text-xl font-semibold mb-3 text-primary-800 dark:text-primary-200">Domainspezifisches Styling</h3>
|
||||
<p>Die Styles werden basierend auf der Domain automatisch geladen:</p>
|
||||
<ul class="list-disc pl-5 mt-2 space-y-1">
|
||||
<li>b2in.local - Hauptstil</li>
|
||||
<li>landing1.local - Landingpage 1</li>
|
||||
<li>landing2.local - Landingpage 2</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-8">
|
||||
<a href="{{ url('/') }}" class="button">
|
||||
Zurück zur Startseite
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Loading…
Add table
Add a link
Reference in a new issue