diff --git a/hifi-src/src/assets/logo-dark.png b/hifi-src/src/assets/logo-dark.png
new file mode 100644
index 0000000..7642b24
Binary files /dev/null and b/hifi-src/src/assets/logo-dark.png differ
diff --git a/hifi-src/src/components/AdminLayout.jsx b/hifi-src/src/components/AdminLayout.jsx
index 48913cc..6703586 100644
--- a/hifi-src/src/components/AdminLayout.jsx
+++ b/hifi-src/src/components/AdminLayout.jsx
@@ -4,6 +4,7 @@ import { useAuth } from '../context/AuthContext.jsx';
import { api } from '../api/client.js';
import ThemeToggle from './ThemeToggle.jsx';
import logo from '../assets/logo.png';
+import logoDark from '../assets/logo-dark.png';
const ICONS = {
home: 'M3 11.5 12 4l9 7.5M5 10v9a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1v-9',
@@ -128,8 +129,9 @@ export default function AdminLayout() {
diff --git a/hifi-src/src/components/Navbar.jsx b/hifi-src/src/components/Navbar.jsx
index 2c8a89b..7fb09ac 100644
--- a/hifi-src/src/components/Navbar.jsx
+++ b/hifi-src/src/components/Navbar.jsx
@@ -7,6 +7,7 @@ import { useAuth } from '../context/AuthContext.jsx';
import { useSiteSettings } from '../context/SiteSettingsContext.jsx';
import { useLanguage } from '../context/LanguageContext.jsx';
import logo from '../assets/logo.png';
+import logoDark from '../assets/logo-dark.png';
const SHOP_URL = 'https://www.audio4cars.de/';
@@ -212,8 +213,11 @@ export default function Navbar() {
-
-
+ {/* Im Dark Mode eigene Logo-Variante mit weisser Wortmarke statt weissem
+ Chip hinter dem Logo (Kundenwunsch). */}
+
+
+
diff --git a/hifi-src/src/i18n/de.js b/hifi-src/src/i18n/de.js
index 83fe8ed..a6b75f2 100644
--- a/hifi-src/src/i18n/de.js
+++ b/hifi-src/src/i18n/de.js
@@ -69,7 +69,7 @@ export default {
selectVehicle: 'Fahrzeug auswählen',
getInTouch: 'Kontakt aufnehmen',
welcome: 'Willkommen bei HifiPlanet',
- heroTitle: 'Audiophil aus Prinzip',
+ heroTitle: 'Home of pure Sound',
heroSubtitle: 'Dein Car-Hifi Spezialist für individuelle Sound-Umbauten. Wähle dein Fahrzeug, entdecke passende Pakete und frag unverbindlich an – wir kümmern uns um den Rest.',
stats: [
{ value: '20+', label: 'Jahre Erfahrung' },
@@ -78,12 +78,6 @@ export default {
{ value: 'International', label: 'anerkannter Car-Hifi-Spezialist' },
],
brandsHeading: 'Marken, mit denen wir arbeiten',
- howItWorks: "So funktioniert's",
- steps: [
- { title: 'Marke & Modell wählen', text: 'Finde dein Fahrzeug in wenigen Klicks.' },
- { title: 'Sound-Paket entdecken', text: 'Passende Pakete inkl. aktueller Preise auf einen Blick.' },
- { title: 'Unverbindlich anfragen', text: 'Wir melden uns zeitnah mit allen Details bei dir.' },
- ],
youtubeBadge: 'HifiPlanet präsentiert',
youtubeTitle: 'Das Handwerk hinter deinem Sound',
youtubeText: 'Entdecke die Handwerkskunst hinter unserer Arbeit',
diff --git a/hifi-src/src/i18n/en.js b/hifi-src/src/i18n/en.js
index 4a7e732..47b1cd4 100644
--- a/hifi-src/src/i18n/en.js
+++ b/hifi-src/src/i18n/en.js
@@ -69,7 +69,7 @@ export default {
selectVehicle: 'Select vehicle',
getInTouch: 'Get in touch',
welcome: 'Welcome to HifiPlanet',
- heroTitle: 'Audiophile by principle',
+ heroTitle: 'Home of pure Sound',
heroSubtitle: 'Your car-hifi specialist for custom sound installations. Choose your vehicle, discover the right package and get in touch, no obligation – we take care of the rest.',
stats: [
{ value: '20+', label: 'years of experience' },
@@ -78,12 +78,6 @@ export default {
{ value: 'International', label: 'recognized car-hifi specialist' },
],
brandsHeading: 'Brands we work with',
- howItWorks: 'How it works',
- steps: [
- { title: 'Choose make & model', text: 'Find your vehicle in just a few clicks.' },
- { title: 'Discover a sound package', text: 'Matching packages with current prices at a glance.' },
- { title: 'Get in touch', text: "We'll get back to you shortly with all the details." },
- ],
youtubeBadge: 'HifiPlanet presents',
youtubeTitle: 'The craft behind your sound',
youtubeText: 'Discover the artistry behind our work',
diff --git a/hifi-src/src/index.css b/hifi-src/src/index.css
index 56c4029..6d5b436 100644
--- a/hifi-src/src/index.css
+++ b/hifi-src/src/index.css
@@ -95,14 +95,13 @@ html.hifi-cursor-on :is(input, textarea, [contenteditable='true']) {
transition: opacity 0.18s ease;
}
-/* Schraege Ellipsenbahn wie der Orbit-Schwung im Logo - auf Hover in Weiss,
- damit sie sich von den markengruenen Buttons abhebt. */
+/* Schraege Ellipsenbahn wie der Orbit-Schwung im Logo. */
.hifi-cursor__ring {
position: absolute;
width: 38px;
height: 15px;
margin: -7.5px 0 0 -19px;
- border: 1px solid rgba(255, 255, 255, 0.85);
+ border: 1px solid rgba(139, 234, 60, 0.85);
border-radius: 50%;
transform: rotate(-24deg) scale(0.6);
transition: transform 0.22s ease;
@@ -115,14 +114,14 @@ html.hifi-cursor-on :is(input, textarea, [contenteditable='true']) {
height: 5px;
margin: -2.5px 0 0 -2.5px;
border-radius: 9999px;
- background: #ffffff;
- box-shadow: 0 0 6px rgba(255, 255, 255, 0.9);
+ background: #eaffdb;
+ box-shadow: 0 0 6px rgba(139, 234, 60, 0.9);
}
-/* Hover ueber Interaktivem: Orbit blendet ein und weitet sich, Kern wechselt auf
- WEISS (Kontrast zu den gruenen Schaltflaechen - Kundenwunsch), Satellit
- beschleunigt via JS. Dunkler Aussenrand haelt den weissen Kern auch auf hellen
- Flaechen sichtbar. */
+/* Hover ueber Interaktivem: Orbit blendet ein und weitet sich, Kern wird groesser
+ und wechselt auf helles Lime (Kundenwunsch: "das Maus-Logo soll gruen sein wenn
+ der Orbit hinzukommt"). Der weisse Rand + Glow halten ihn auch direkt auf den
+ markengruenen Buttons erkennbar. Satellit beschleunigt via JS. */
.hifi-cursor[data-state='hover'] .hifi-cursor__orbit {
opacity: 1;
}
@@ -130,10 +129,10 @@ html.hifi-cursor-on :is(input, textarea, [contenteditable='true']) {
width: 16px;
height: 16px;
margin: -8px 0 0 -8px;
- background: #ffffff;
+ background: #8bea3c;
box-shadow:
- 0 0 0 1.5px rgba(0, 0, 0, 0.35),
- 0 0 12px rgba(255, 255, 255, 0.85);
+ 0 0 0 1.5px rgba(255, 255, 255, 0.95),
+ 0 0 12px rgba(139, 234, 60, 0.85);
}
.hifi-cursor[data-state='hover'] .hifi-cursor__ring {
transform: rotate(-24deg) scale(1.45);
@@ -161,7 +160,7 @@ html.hifi-cursor-on :is(input, textarea, [contenteditable='true']) {
height: 12px;
margin: -6px 0 0 -6px;
border-radius: 9999px;
- border: 1.5px solid rgba(255, 255, 255, 0.9);
+ border: 1.5px solid rgba(139, 234, 60, 0.9);
opacity: 0;
}
.hifi-cursor__pulse.is-live {
diff --git a/hifi-src/src/pages/admin/Login.jsx b/hifi-src/src/pages/admin/Login.jsx
index b958430..238d12c 100644
--- a/hifi-src/src/pages/admin/Login.jsx
+++ b/hifi-src/src/pages/admin/Login.jsx
@@ -2,6 +2,7 @@ import { useState } from 'react';
import { Navigate, useNavigate } from 'react-router-dom';
import { useAuth } from '../../context/AuthContext.jsx';
import logo from '../../assets/logo.png';
+import logoDark from '../../assets/logo-dark.png';
export default function Login() {
const { user, login, verifyTwoFactor } = useAuth();
@@ -51,7 +52,8 @@ export default function Login() {
return (
-

+

+

{step === 'credentials' ? (
-
-
- {t('home.howItWorks')}
-
-
- {steps.map((step, i) => (
-
-
- {i + 1}
-
- {step.title}
- {step.text}
-
- ))}
-
-
-