21-11-2025

This commit is contained in:
Kevin Adametz 2025-11-21 18:21:23 +01:00
parent fa2ebd457d
commit 07959c0ba2
113 changed files with 4730 additions and 898 deletions

View file

@ -1,8 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 42" {{ $attributes }}>
<path
fill="currentColor"
fill-rule="evenodd"
clip-rule="evenodd"
d="M17.2 5.633 8.6.855 0 5.633v26.51l16.2 9 16.2-9v-8.442l7.6-4.223V9.856l-8.6-4.777-8.6 4.777V18.3l-5.6 3.111V5.633ZM38 18.301l-5.6 3.11v-6.157l5.6-3.11V18.3Zm-1.06-7.856-5.54 3.078-5.54-3.079 5.54-3.078 5.54 3.079ZM24.8 18.3v-6.157l5.6 3.111v6.158L24.8 18.3Zm-1 1.732 5.54 3.078-13.14 7.302-5.54-3.078 13.14-7.3v-.002Zm-16.2 7.89 7.6 4.222V38.3L2 30.966V7.92l5.6 3.111v16.892ZM8.6 9.3 3.06 6.222 8.6 3.143l5.54 3.08L8.6 9.3Zm21.8 15.51-13.2 7.334V38.3l13.2-7.334v-6.156ZM9.6 11.034l5.6-3.11v14.6l-5.6 3.11v-14.6Z"
/>
</svg>
<img src="{{ asset(\App\Helpers\ThemeHelper::getLogoPath('positive')) }}" alt="B2IN Logo" class="h-10 w-auto dark:hidden" />
<img src="{{ asset(\App\Helpers\ThemeHelper::getLogoPath('negative')) }}" alt="B2IN Logo" class="h-10 w-auto hidden dark:block" />

Before

Width:  |  Height:  |  Size: 714 B

After

Width:  |  Height:  |  Size: 257 B

Before After
Before After

View file

@ -1,6 +1,5 @@
<div class="flex aspect-square size-8 items-center justify-center rounded-md bg-accent-content text-accent-foreground">
<x-app-logo-icon class="size-5 fill-current text-white dark:text-black" />
</div>
<div class="ms-1 grid flex-1 text-start text-sm">
<span class="mb-0.5 truncate leading-none font-semibold">B2IN</span>
<div class="flex size-16 items-center justify-center ml-2 ">
<img src="{{ asset(\App\Helpers\ThemeHelper::getLogoPath('positive')) }}" alt="B2IN Logo" class="h-10 w-auto dark:hidden" />
<img src="{{ asset(\App\Helpers\ThemeHelper::getLogoPath('negative')) }}" alt="B2IN Logo" class="h-10 w-auto hidden dark:block" />
</div>

View file

@ -0,0 +1,20 @@
@props(['title' => null])
@if ($errors->any())
<div {{ $attributes->merge(['class' => 'rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 p-4']) }}>
<div class="flex items-start gap-3">
<flux:icon.exclamation-circle class="h-5 w-5 text-red-600 dark:text-red-400 mt-0.5 flex-shrink-0" />
<div class="flex-1">
<h3 class="text-sm font-semibold text-red-800 dark:text-red-200 mb-2">
{{ $title ?? __('Bitte korrigieren Sie folgende Fehler:') }}
</h3>
<ul class="text-sm text-red-700 dark:text-red-300 space-y-1 list-disc list-inside">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif

View file

@ -3,7 +3,7 @@
<head>
@include('partials.head')
</head>
<body class="min-h-screen bg-white dark:bg-zinc-800">
<body class="min-h-screen bg-zinc-50 dark:bg-zinc-800 antialiased">
<flux:sidebar sticky stashable class="border-e border-zinc-200 bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900">
<flux:sidebar.toggle class="lg:hidden" icon="x-mark" />
<a href="{{ config('domains.domain_main_url') }}" class="me-5 flex items-center space-x-2 rtl:space-x-reverse">
@ -11,21 +11,33 @@
</a>
<flux:navlist variant="outline">
<flux:navlist.group :heading="__('Trader')" class="grid mb-4">
<flux:navlist.group :heading="__('Customer')" class="grid mb-4">
<flux:navlist.item icon="user" :href="route('dashboard')" :current="request()->routeIs('dashboard')" wire:navigate>{{ __('Dashboard') }}</flux:navlist.item>
</flux:navlist.group>
<flux:navlist.group :heading="__('Retailer')" class="grid mb-4">
<flux:navlist.item icon="home" :href="route('dashboard')" :current="request()->routeIs('dashboard')" wire:navigate>{{ __('Dashboard') }}</flux:navlist.item>
</flux:navlist.group>
<flux:navlist.group :heading="__('Customer')" class="grid mb-4">
<flux:navlist.group :heading="__('Manufacturer')" class="grid mb-4">
<flux:navlist.item icon="home" :href="route('dashboard')" :current="request()->routeIs('dashboard')" wire:navigate>{{ __('Dashboard') }}</flux:navlist.item>
</flux:navlist.group>
<flux:navlist.group :heading="__('Estate-Agent')" class="grid mb-4">
<flux:navlist.item icon="home" :href="route('dashboard')" :current="request()->routeIs('dashboard')" wire:navigate>{{ __('Dashboard') }}</flux:navlist.item>
</flux:navlist.group>
<flux:navlist.group :heading="__('Admin')" class="grid mb-4">
<flux:navlist.item icon="user-group" :href="route('admin.users')" :current="request()->routeIs('admin.users')" wire:navigate>{{ __('Users') }}</flux:navlist.item>
<flux:navlist.item icon="user-group" :href="route('admin.users.table')" :current="request()->routeIs('admin.users.table')" wire:navigate>{{ __('Users Table') }}</flux:navlist.item>
<flux:navlist.group expandable expanded="false" heading="Favorites" class="hidden lg:grid">
<flux:navlist.group expandable expanded="false" heading="Users" class="hidden lg:grid">
<flux:navlist.item icon="user-group" :href="route('admin.users')" :current="request()->routeIs('admin.users')" wire:navigate>{{ __('Users') }}</flux:navlist.item>
<flux:navlist.item icon="user-group" :href="route('admin.users.table')" :current="request()->routeIs('admin.users.table')" wire:navigate>{{ __('Users Table') }}</flux:navlist.item>
<flux:navlist.item icon="shield-check" :href="route('admin.users.permissions')" :current="request()->routeIs('admin.users.permissions')" wire:navigate>{{ __('Permissions') }}</flux:navlist.item>
</flux:navlist.group>
<flux:navlist.item icon="envelope" :href="route('admin.partners.invite')" :current="request()->routeIs('admin.partners.invite')" wire:navigate>{{ __('Partner einladen') }}</flux:navlist.item>
</flux:navlist.group>
<flux:navlist.group :heading="__('CMS')" class="grid mb-4">

View file

@ -1,3 +1,3 @@
<x-layouts.auth.simple :title="$title ?? null">
<x-layouts.auth.card :title="$title ?? null">
{{ $slot }}
</x-layouts.auth.simple>
</x-layouts.auth.card>

View file

@ -2,25 +2,31 @@
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="dark">
<head>
@include('partials.head')
@include('partials.theme-init-script')
</head>
<body class="min-h-screen bg-neutral-100 antialiased dark:bg-linear-to-b dark:from-neutral-950 dark:to-neutral-900">
<body class="min-h-screen items-center justify-center bg-gradient-to-br from-blue-50 via-white to-purple-50 dark:from-zinc-900 dark:via-zinc-900 dark:to-zinc-800 px-4 py-12">
<div class="bg-muted flex min-h-svh flex-col items-center justify-center gap-6 p-6 md:p-10">
<div class="flex w-full max-w-md flex-col gap-6">
<a href="{{ route('home') }}" class="flex flex-col items-center gap-2 font-medium" wire:navigate>
<span class="flex h-9 w-9 items-center justify-center rounded-md">
<x-app-logo-icon class="size-9 fill-current text-black dark:text-white" />
<span class="flex h-20 w-20 items-center justify-center rounded-md">
<x-app-logo-icon />
</span>
<span class="sr-only">{{ config('app.name', 'Laravel') }}</span>
</a>
<div class="flex flex-col gap-6">
<div class="rounded-xl border bg-white dark:bg-stone-950 dark:border-stone-800 text-stone-800 shadow-xs">
<flux:card class="shadow-2xl">
<div class="px-10 py-8">{{ $slot }}</div>
</flux:card>
<div class="flex justify-center mt-4">
<x-theme-toggle />
</div>
</div>
</div>
</div>
@livewireScripts
@fluxScripts
@include('partials.theme-toggle-script')
</body>
</html>

View file

@ -2,23 +2,30 @@
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="dark">
<head>
@include('partials.head')
@include('partials.theme-init-script')
</head>
<body class="min-h-screen bg-white antialiased dark:bg-linear-to-b dark:from-neutral-950 dark:to-neutral-900">
<body class="min-h-screen bg-zinc-50 antialiased dark:bg-gradient-to-b dark:from-zinc-950 dark:to-zinc-900">
<div class="bg-background flex min-h-svh flex-col items-center justify-center gap-6 p-6 md:p-10">
<div class="flex w-full max-w-sm flex-col gap-2">
<a href="{{ route('home') }}" class="flex flex-col items-center gap-2 font-medium" wire:navigate>
<span class="flex h-9 w-9 mb-1 items-center justify-center rounded-md">
<x-app-logo-icon class="size-9 fill-current text-black dark:text-white" />
<span class="flex h-12 w-12 mb-1 items-center justify-center rounded-md">
<x-app-logo-icon />
</span>
<span class="sr-only">{{ config('app.name', 'Laravel') }}</span>
</a>
<div class="flex flex-col gap-6">
{{ $slot }}
</div>
<div class="flex justify-center mt-6">
<x-theme-toggle />
</div>
</div>
</div>
@livewireScripts
@fluxScripts
@include('partials.theme-toggle-script')
<script src="{{ asset('vendor/livewire/livewire.js') }}"></script>
<!-- Debug: Script-Status -->

View file

@ -2,14 +2,15 @@
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="dark">
<head>
@include('partials.head')
@include('partials.theme-init-script')
</head>
<body class="min-h-screen bg-white antialiased dark:bg-linear-to-b dark:from-neutral-950 dark:to-neutral-900">
<body class="min-h-screen bg-zinc-50 antialiased dark:bg-gradient-to-b dark:from-zinc-950 dark:to-zinc-900">
<div class="relative grid h-dvh flex-col items-center justify-center px-8 sm:px-0 lg:max-w-none lg:grid-cols-2 lg:px-0">
<div class="bg-muted relative hidden h-full flex-col p-10 text-white lg:flex dark:border-e dark:border-neutral-800">
<div class="absolute inset-0 bg-neutral-900"></div>
<a href="{{ route('home') }}" class="relative z-20 flex items-center text-lg font-medium" wire:navigate>
<span class="flex h-10 w-10 items-center justify-center rounded-md">
<x-app-logo-icon class="me-2 h-7 fill-current text-white" />
<x-app-logo-icon class="me-2 h-7" />
</span>
{{ config('app.name', 'Laravel') }}
</a>
@ -29,15 +30,20 @@
<div class="mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]">
<a href="{{ route('home') }}" class="z-20 flex flex-col items-center gap-2 font-medium lg:hidden" wire:navigate>
<span class="flex h-9 w-9 items-center justify-center rounded-md">
<x-app-logo-icon class="size-9 fill-current text-black dark:text-white" />
<x-app-logo-icon />
</span>
<span class="sr-only">{{ config('app.name', 'Laravel') }}</span>
</a>
{{ $slot }}
<div class="flex justify-center mt-6">
<x-theme-toggle />
</div>
</div>
</div>
</div>
@fluxScripts
@include('partials.theme-toggle-script')
</body>
</html>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="dark">
<head>
@include('partials.head')
@include('partials.theme-init-script')
</head>
<body
class="min-h-screen items-center justify-center bg-gradient-to-br from-blue-50 via-white to-purple-50 dark:from-zinc-900 dark:via-zinc-900 dark:to-zinc-800 px-4 py-12">
<div class="bg-muted flex min-h-svh flex-col items-center justify-center gap-6 p-6 md:p-10">
{{ $slot }}
<div class="flex justify-center mt-4">
<x-theme-toggle />
</div>
</div>
@livewireScripts
@fluxScripts
@include('partials.theme-toggle-script')
</body>
</html>

View file

@ -0,0 +1,15 @@
<button
id="theme-toggle"
type="button"
class="flex items-center gap-2 px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 bg-zinc-100 dark:bg-zinc-800 hover:bg-zinc-200 dark:hover:bg-zinc-700 rounded-lg transition-colors"
aria-label="Theme umschalten"
>
<svg id="theme-toggle-light-icon" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" fill-rule="evenodd" clip-rule="evenodd"></path>
</svg>
<svg id="theme-toggle-dark-icon" class="w-5 h-5 hidden" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path>
</svg>
<span id="theme-toggle-text">Hell</span>
</button>

View file

@ -0,0 +1,49 @@
@props(['currentStep', 'totalSteps', 'steps' => []])
<div class="mb-8">
<div class="flex items-center justify-center">
@foreach($steps as $index => $step)
@php
$stepNumber = $index + 1;
$isActive = $stepNumber === $currentStep;
$isCompleted = $stepNumber < $currentStep;
@endphp
{{-- Step Circle --}}
<div class="flex flex-col items-center">
<div class="flex items-center">
<div class="flex items-center justify-center w-10 h-10 rounded-full border-2
{{ $isCompleted ? 'bg-accent-600 border-accent-600' : '' }}
{{ $isActive ? 'bg-accent-600 border-accent-600' : '' }}
{{ !$isActive && !$isCompleted ? 'bg-white dark:bg-zinc-800 border-zinc-300 dark:border-zinc-600' : '' }}">
@if($isCompleted)
<flux:icon.check class="h-5 w-5 text-white" />
@else
<span class="text-sm font-semibold
{{ $isActive ? 'text-white' : 'text-zinc-500 dark:text-zinc-400' }}">
{{ $stepNumber }}
</span>
@endif
</div>
</div>
{{-- Step Label --}}
<div class="mt-2 text-center">
<p class="text-xs font-medium
{{ $isActive ? 'text-accent-600 dark:text-accent-400' : 'text-zinc-500 dark:text-zinc-400' }}">
{{ $step }}
</p>
</div>
</div>
{{-- Connector Line --}}
@if(!$loop->last)
<div class="flex-1 h-0.5 mx-4
{{ $stepNumber < $currentStep ? 'bg-accent-600' : 'bg-zinc-300 dark:bg-zinc-600' }}"
style="min-width: 60px; max-width: 120px;">
</div>
@endif
@endforeach
</div>
</div>