MBO-Tech-IT
e3fad32b6b
feat: add mailer functions for FamilyGuard flyer notification and link
2026-07-21 11:27:18 +02:00
MBO-Tech-IT
331e89f73d
feat: add flyer_downloads table type to Supabase schema
2026-07-21 11:24:05 +02:00
MBO-Tech-IT
1cf3004552
feat: move FamilyGuard flyer PDF to public/downloads for direct serving
2026-07-21 11:20:19 +02:00
MBO-Tech-IT
84599e1e08
docs: add implementation plan for FamilyGuard flyer email-gate download
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhY1QhDXGWfyhrxaJvfpNt
2026-07-21 11:12:17 +02:00
MBO-Tech-IT
8ae4e341c1
docs: fix flyer spec to not misuse the modules/ reuse-template convention
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhY1QhDXGWfyhrxaJvfpNt
2026-07-21 11:08:46 +02:00
MBO-Tech-IT
1cf9c0701e
docs: add design spec for FamilyGuard flyer email-gate download
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhY1QhDXGWfyhrxaJvfpNt
2026-07-21 11:05:54 +02:00
MBO-Tech-IT
260aa80f42
feat: remove Kubernetes references site-wide, rework Nextcloud Enterprise tier on Proxmox
...
Kubernetes wird derzeit nicht angeboten. Betroffen: Hero-Badges, Footer,
Services, Technologies, Contact-Formular, About, DataSovereignty, Meta-Tags
sowie das Nextcloud-Enterprise-Paket (jetzt Proxmox-HA-Cluster statt k3s).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhY1QhDXGWfyhrxaJvfpNt
2026-07-21 10:45:47 +02:00
MBO-Tech-IT
4298968324
feat: add promo end date and router hint to FamilyGuard page
...
Aktualisiert anhand des neuen Flyers MBO_FamilyGuard_Flyer_01.pdf.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhY1QhDXGWfyhrxaJvfpNt
2026-07-21 10:32:49 +02:00
MBO-Tech-IT
fd38267cb9
feat: add MBO FamilyGuard package page and homepage promo
...
Add /pakete/familyguard detail page mirroring the VPN page pattern,
list it as the first tile on /pakete (before Nextcloud + Paperless-ngx),
and promote it with a new section directly below the hero on the homepage.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-10 08:18:29 +02:00
MBO-Tech-IT
4386cc4b45
fix: correct metadata title and clean up nextcloud page
2026-06-29 17:22:55 +02:00
MBO-Tech-IT
43f5476f3f
feat: rebuild /pakete as service overview with tiles
2026-06-29 17:02:27 +02:00
MBO-Tech-IT
9a0677226c
feat: add Zero-Trust-VPN detail page at /pakete/vpn
2026-06-29 16:32:43 +02:00
MBO-Tech-IT
b8abfae323
feat: move Nextcloud packages to /pakete/nextcloud
2026-06-29 16:24:51 +02:00
MBO-Tech-IT
0889a86405
docs: add implementation plan for Pakete overview + VPN page
2026-06-29 16:06:10 +02:00
MBO-Tech-IT
97102ff25c
docs: add design spec for Pakete overview + Zero-Trust-VPN page
2026-06-29 15:58:35 +02:00
MBO-Tech-IT
5637fb1772
fix: add AdminNav, auth and CSS variables to all CMS admin pages
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 21:04:11 +02:00
MBO-Tech-IT
074b4eb5d1
feat: load homepage sections from supabase cms, fix passwort page auth
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 20:37:27 +02:00
MBO-Tech-IT
3eeea27b92
feat: Hero, About, Contact components accept CMS props
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 20:35:23 +02:00
MBO-Tech-IT
b9aa6a0a54
feat: set MBO-Tech-IT defaults in hero and add CMS links to admin nav
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 20:33:37 +02:00
MBO-Tech-IT
20f8a0a0f0
fix: use admin_users table in passwort route
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 20:32:53 +02:00
MBO-Tech-IT
5b82ad93b3
feat: add website-cms module files
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 20:32:24 +02:00
MBO-Tech-IT
323a9b7b24
feat: add Supabase type definitions for website CMS module (06)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 11:35:25 +02:00
MBO-Tech-IT
db5e9bb5ce
feat: add website CMS module (06) and update TypeScript build info
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 16:32:34 +02:00
MBO-Tech-IT
a060751f45
docs: add module integration implementation plan
...
14 Tasks mit konkretem Code und SQL-Migrationen.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 21:10:08 +02:00
MBO-Tech-IT
ed275a6fa0
docs: add module integration design spec
...
Vollständiger Umsetzungsplan für alle 6 Module + Supabase-Anbindung.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 16:58:04 +02:00
MBO-Tech-IT
00a49c1de6
fix: SEO content quality improvements across components
...
- DataSovereignty: replace all ASCII encodings with proper German umlauts (oe→ö, ae→ä, ue→ü) throughout all text content
- Header: fix misleading nav label "Datenschutz" → "Datensouveränität" (links to data sovereignty section, not legal page)
- Hero: add "Crailsheim" to visible subheadline for local SEO signal
- Contact: add address/location entry for NAP consistency (Name, Address, Phone)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 06:25:53 +02:00
MBO-Tech-IT
cd50da695f
feat: replace maintenance plan prices with "Auf Anfrage"
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 16:35:14 +02:00
MBO-Tech-IT
17cd2869f9
fix: update Google Search Console verification meta tag token
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 14:28:29 +02:00
MBO-Tech-IT
10210e5c80
feat: add Google Search Console verification
...
- Create public/google73af89007ffca7c2.html for HTML file verification
- Add verification.google meta tag in layout.tsx as redundant fallback
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 14:27:51 +02:00
MBO-Tech-IT
9cf15d7deb
feat: add SEO improvements — robots.txt, sitemap, Open Graph, JSON-LD schema
...
- Add app/robots.ts: block admin/kunden/auth/api, reference sitemap
- Add app/sitemap.ts: list public pages (/, /pakete)
- layout.tsx: add metadataBase, Open Graph, Twitter Card, LocalBusiness JSON-LD, improve title/description with location (Crailsheim, Region Schwäbisch Hall)
- pakete/page.tsx: add Open Graph and canonical URL
- datenschutz/page.tsx: fix title/description encoding (Umlaute)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 14:20:21 +02:00
MBO-Tech-IT
a2ea70426d
fix: add top padding on mobile to clear fixed header in Hero section
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 20:15:24 +02:00
MBO-Tech-IT
040d03c29d
feat: extend contact form subject options and sort alphabetically
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 16:53:48 +02:00
MBO-Tech-IT
93585ee4ef
feat: update Hero subheadline with services and regional focus
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 16:48:45 +02:00
MBO-Tech-IT
146ebd7d91
feat: reorder services, replace package prices with "Auf Anfrage"
...
- Services: WLAN & Netzwerk und Individuelle Webanwendungen direkt nach
Hardware & Software einsortiert
- Pakete: Installations-Preise durch "Auf Anfrage" ersetzt,
Metadata-Description aktualisiert
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 09:26:44 +02:00
MBO-Tech-IT
2a91084737
feat: send confirmation email to contact form submitter
...
Schickt nach eingehender Anfrage automatisch eine Bestätigungsmail an
den Anfragenden mit Betreff, Dankestext und direkter Telefonnummer.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 09:12:48 +02:00
MBO-Tech-IT
c266931822
fix: connect web container to supabase_default network
...
Ohne dieses Netz kann der Container supabase-kong nicht erreichen,
was zu "TypeError: fetch failed" in EmailQueue und 401 beim Admin-Login führt.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 08:50:26 +02:00
MBO-Tech-IT
ad0c7adc27
fix: resolve webpack build error for nodemailer in Docker
...
- next.config.ts: serverExternalPackages für nodemailer hinzugefügt
- instrumentation.ts: statischen Import durch dynamischen ersetzt, damit
Webpack email-queue.ts (und damit nodemailer) nicht im Edge-Bundle analysiert
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 19:55:32 +02:00
MBO-Tech-IT
9e56f1b5a3
feat: integrate modules 01–03, 06–07 — email, admin auth, analytics, kunden-portal, statistik
...
- Modul 01 (Email): mailer.ts mit Nodemailer + Supabase-Queue, SMTP-Test-Route
- Modul 02 (Admin-Auth): JWT-Sessions, Rate-Limiting, Token-Blacklist, Audit-Logs, Login-Route
- Modul 03 (Analytics): PageTracker, page_views/phone_clicks Tracking, Admin-Analytics-Seite
- Modul 06 (Kunden-Portal): Supabase Auth Login/Registrierung, Kundendashboard, Middleware
- Modul 07 (KPI-Dashboard): Admin-Statistik mit Anfragen-Übersicht und Monats-Diagramm
- contact/route.ts: speichert Anfragen jetzt in Supabase
- Supabase-Types für alle neuen Tabellen ergänzt
- app/admin/page.tsx: Redirect zu /admin/analytics
- AnalyticsTabs: Design-Inkonsistenz behoben (Light-Mode-Karten auf Dark umgestellt)
- layout.tsx: Umlauts-Fehler in Metadata-Description behoben
- lib/audit-log.ts: TypeScript null→undefined Mapping für reason-Feld
- modules/: Wiederverwendbare Modul-Templates mit Migrations und Integrations-Prompts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 19:41:05 +02:00
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