23-01-2026

This commit is contained in:
Kevin Adametz 2026-01-23 17:33:10 +01:00
parent 07959c0ba2
commit 854ce02bf6
166 changed files with 32909 additions and 1262 deletions

View file

@ -14,7 +14,6 @@
<link href="https://fonts.bunny.net/css?family=inter:400,500,600,700|ibm-plex-sans:400,500,600,700"
rel="stylesheet" />
@vite(['resources/css/portal.css', 'resources/js/app.js'], 'build/portal')
@livewireStyles

View file

@ -1,8 +1,12 @@
@php
// Brand aus Variable oder Auth-User's Partner, Fallback: aktuelles Theme
$brand = $brand ?? (auth()->check() && auth()->user()->partner ? auth()->user()->partner->brand : null) ?? config('app.theme', 'b2in');
@endphp
<div class="mb-6 mx-auto flex justify-center">
<img src="{{ asset(\App\Helpers\ThemeHelper::getLogoPath('positive')) }}"
alt="B2IN Logo"
<img src="{{ asset(\App\Helpers\ThemeHelper::getLogoPathForBrand($brand, 'positive')) }}"
alt="Logo"
class="h-14 w-auto dark:hidden" />
<img src="{{ asset(\App\Helpers\ThemeHelper::getLogoPath('negative')) }}"
alt="B2IN Logo"
<img src="{{ asset(\App\Helpers\ThemeHelper::getLogoPathForBrand($brand, 'negative')) }}"
alt="Logo"
class="h-14 w-auto hidden dark:block" />
</div>

View file

@ -1,38 +1,48 @@
<script>
// Theme Toggle Funktionalität
const themeToggleBtn = document.getElementById('theme-toggle');
const themeToggleLightIcon = document.getElementById('theme-toggle-light-icon');
const themeToggleDarkIcon = document.getElementById('theme-toggle-dark-icon');
const themeToggleText = document.getElementById('theme-toggle-text');
const html = document.documentElement;
(function() {
// Theme Toggle Funktionalität
const themeToggleBtn = document.getElementById('theme-toggle');
const themeToggleLightIcon = document.getElementById('theme-toggle-light-icon');
const themeToggleDarkIcon = document.getElementById('theme-toggle-dark-icon');
const themeToggleText = document.getElementById('theme-toggle-text');
const html = document.documentElement;
// Theme aus localStorage laden oder Standard verwenden
const savedTheme = localStorage.getItem('theme') || 'dark';
function updateThemeUI(theme) {
if (theme === 'dark') {
html.classList.add('dark');
themeToggleLightIcon.classList.remove('hidden');
themeToggleDarkIcon.classList.add('hidden');
themeToggleText.textContent = 'Hell';
} else {
html.classList.remove('dark');
themeToggleLightIcon.classList.add('hidden');
themeToggleDarkIcon.classList.remove('hidden');
themeToggleText.textContent = 'Dunkel';
// Abbrechen wenn Elemente nicht gefunden wurden
if (!themeToggleBtn || !themeToggleLightIcon || !themeToggleDarkIcon || !themeToggleText) {
return;
}
}
// Initiales Theme setzen
updateThemeUI(savedTheme);
// Theme aus localStorage laden oder Standard verwenden
const savedTheme = localStorage.getItem('theme') || 'dark';
// Toggle Button Event
themeToggleBtn.addEventListener('click', () => {
const currentTheme = html.classList.contains('dark') ? 'dark' : 'light';
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
function updateThemeUI(theme) {
if (theme === 'dark') {
html.classList.add('dark');
themeToggleLightIcon.classList.remove('hidden');
themeToggleDarkIcon.classList.add('hidden');
themeToggleText.textContent = 'Hell';
} else {
html.classList.remove('dark');
themeToggleLightIcon.classList.add('hidden');
themeToggleDarkIcon.classList.remove('hidden');
themeToggleText.textContent = 'Dunkel';
}
}
localStorage.setItem('theme', newTheme);
updateThemeUI(newTheme);
});
// Initiales Theme setzen
updateThemeUI(savedTheme);
// Vorherigen Event-Listener entfernen (falls vorhanden) und neuen hinzufügen
const newBtn = themeToggleBtn.cloneNode(true);
themeToggleBtn.parentNode.replaceChild(newBtn, themeToggleBtn);
newBtn.addEventListener('click', () => {
const currentTheme = html.classList.contains('dark') ? 'dark' : 'light';
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
localStorage.setItem('theme', newTheme);
updateThemeUI(newTheme);
});
})();
</script>