MBO-Tech-IT
08377f3a8a
feat: set dark mode as default, disable OS-based system theme
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 21:27:29 +02:00
MBO-Tech-IT
ad02d3e781
docs: add light mode design spec
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 19:53:28 +02:00
MBO-Tech-IT
9339986d31
feat: apply light mode classes to pakete page
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 19:52:27 +02:00
MBO-Tech-IT
d5e88b58ab
feat: apply light mode classes to Contact, Technologies, LegalLayout
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 19:49:43 +02:00
MBO-Tech-IT
0186e3c191
feat: apply light mode classes to Services, PaperlessSection, DataSovereignty, About
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 19:45:47 +02:00
MBO-Tech-IT
87b634b9c3
fix: align dark mode text contrast in Footer
2026-04-26 16:49:02 +02:00
MBO-Tech-IT
20d038ec77
fix: improve dark mode contrast in StatsBar and Footer
...
Replace inverted/missing dark: variants (slate-500→slate-400, slate-600 dark:slate-600→slate-500 dark:slate-400) so text is lighter in dark mode, not darker.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 16:47:50 +02:00
MBO-Tech-IT
9c7cd0bfec
feat: apply light mode classes to Hero, StatsBar, Footer
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 16:45:38 +02:00
MBO-Tech-IT
7f8160596c
feat: add ThemeToggle to Header, apply light mode classes
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 16:42:25 +02:00
MBO-Tech-IT
99d0a09953
fix: move dark bg-grid out of utilities layer, add scrollbar hover dark override
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 16:39:22 +02:00
MBO-Tech-IT
c0c5caa4ff
feat: update globals.css and page.tsx for light mode
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 16:27:59 +02:00
MBO-Tech-IT
22ad91a8ff
fix: use resolvedTheme in ThemeToggle, add aria-label
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 16:26:25 +02:00
MBO-Tech-IT
a0d6caa79b
feat: add next-themes setup, Providers and ThemeToggle components
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 16:22:30 +02:00
MBO-Tech-IT
d89bfdc888
fix: update experience stat from 5+ to 30+ Jahre Erfahrung
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 15:41:50 +02:00
MBO-Tech-IT
9c7f78464b
feat: add contact form submission with send confirmation
...
API route /api/contact calls sendeKontaktEmail and returns ok/error.
On total failure (no SMTP, no queue) logs full contact data to server log.
Contact.tsx is now a client component: shows spinner while sending,
success state ("Anfrage gesendet") on ok, error banner with message on failure.
queueEmail now returns boolean; sendWithFallback returns { sent, queued }.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 15:23:30 +02:00
MBO-Tech-IT
8d5fde5f02
fix: load .env.local in docker-compose via env_file
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 15:15:31 +02:00
MBO-Tech-IT
1369e831ad
feat: integrate email-system module (nodemailer + queue)
...
Adds lib/mailer.ts (sendeKontaktEmail, MBO-Tech-IT branding),
lib/email-queue.ts (Supabase-fallback, graceful no-op when not configured),
lib/supabase.ts (stub for later integration), admin API routes for
SMTP-test and queue management, and instrumentation.ts for the queue worker.
Excludes modules/ from TypeScript compilation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 14:56:36 +02:00
MBO-Tech-IT
e7962d7c0c
fix: remove non-existent public directory from Dockerfile
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 14:00:48 +02:00
MBO-Tech-IT
9a021b932c
Docker Image erstellt
2026-04-26 13:14:15 +02:00
MBO-Tech-IT
fdbf3c0219
docs: add CLAUDE.md with architecture and dev commands
2026-04-02 01:35:51 +02:00
MBO-Tech-IT
737a0f1f77
Fix TS2503: replace JSX.Element with ReactElement in DataSovereignty
...
Added missing ReactElement import from react and replaced the JSX
namespace reference to resolve the TypeScript error introduced when
the component was written without a React import.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:34:06 +02:00
MBO-Tech-IT
0c469131fe
feat: add PaperlessSection with DSGVO/GoBD/Paperless content
2026-04-02 01:30:51 +02:00
MBO-Tech-IT
7b70ce635b
feat: add WLAN and WebApps service cards with scroll-reveal
2026-04-02 01:28:54 +02:00
MBO-Tech-IT
ed5136b9a1
feat: add StatsBar with animated counters, update page layout
2026-04-02 01:26:35 +02:00
MBO-Tech-IT
561b61f6b6
feat: integrate typewriter effect in Hero headline
2026-04-02 01:24:25 +02:00
MBO-Tech-IT
a33115e56d
fix: cancel nested setTimeout in useTypewriter, add empty words guard
2026-04-02 01:19:27 +02:00
MBO-Tech-IT
2d1f21efe7
feat: add useTypewriter hook
2026-04-02 01:17:06 +02:00
MBO-Tech-IT
c5a982abc0
feat: add ScrollReveal component with Intersection Observer
2026-04-02 01:12:15 +02:00
MBO-Tech-IT
8267ae3e8c
chore: initial commit before website expansion
2026-04-02 01:11:27 +02:00