Commit Graph
48 Commits
Author SHA1 Message Date
rootandClaude Opus 5.5 034892c899 AGB § 11 Haftung: wirksame Regel nach dem Muster der Abo-Bedingungen
Die alte Fassung schloss die Haftung für Umsatzausfälle, Datenverlust,
Systemausfälle und externe Dienste aus, haftete nur bei Vorsatz und
grober Fahrlässigkeit und deckelte auf den Auftragswert. Gegenüber
Verbrauchern unwirksam (§ 309 Nr. 7 a/b BGB), bei wesentlichen
Vertragspflichten auch gegenüber Unternehmern (§ 307 BGB).

Neu, wie § 13 der Abo-Bedingungen (v4-Entwurf): unbeschränkt bei
Vorsatz, grober Fahrlässigkeit, Leben/Körper/Gesundheit, nach dem
Produkthaftungsgesetz und bei Garantie; bei leichter Fahrlässigkeit
nur für wesentliche Vertragspflichten und nur für den vertragstypischen,
vorhersehbaren Schaden; Datenverlust außer in den Fällen von Absatz 1
nur in Höhe des Wiederherstellungsaufwands aus den Kopien, die der
Kunde aufbewahrt; gilt auch zugunsten von Mitarbeitern und Beauftragten.

src/test/agb-haftung.test.tsx hält die Kernsätze und die Reihenfolge
der Absätze fest. vitest.config.ts lädt @vitejs/plugin-react statt des
nicht installierten @vitejs/plugin-react-swc (vitest startete auf main
nicht); dieselbe Änderung wie auf feature/hosting-abo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:26:43 +00:00
rootandClaude Opus 5.5 3c9a879d4a Hosting-Abo: Preis 15 € -> 20 € pro Monat
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 16:29:29 +00:00
rootandClaude Fable 5.1 044f788835 AGB: Verbraucher-Kündigung als Ausnahme formuliert
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-28 08:41:26 +00:00
rootandClaude Fable 5.1 2bffca4b33 AGB: Haftungssatz Modul C entfällt, Kündigung nach Verlängerung für Verbraucher, Tests
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-28 08:16:17 +00:00
rootandClaude Fable 5.1 2c1a4c150c Website: Abo-Seiten an die Vertragsbedingungen angeglichen (Wechsel, Zusatzspeicher, Sicherheit), AGB-Verweise, Tests
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-27 20:10:07 +00:00
rootandClaude Fable 5.1 dc27e508dd Hosting-Abo-Seite, Wartungs-Abo mit beliebig vielen Postfächern, AGB Modul C (Entwurf)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-27 19:43:26 +00:00
rootandClaude Opus 5.5 1637a4a45d Favicon: WEBklar-Logo statt Lovable-Herz
favicon.ico war noch das Lovable-Vorlagen-Icon. Manche Browser und
Suchmaschinen nehmen die .ico statt favicon.svg. Ersetzt durch dieselbe
Datei wie im Kundenbereich (aus public/favicon.svg gerendert,
16/32/48/64/128/256 px).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 11:16:40 +00:00
rootandClaude Opus 5.5 5cc8b5f66b Performance: Animationen pausieren, Footer-Raster entschärft, WebGL nachladen
- Footer-Schriftzug (FlickeringGrid): Textmaske einmal pro Größe statt
  ~14.500 getImageData-Aufrufe pro Frame, nur flackernde Quadrate neu
  zeichnen (69–86 ms -> 0,1–0,2 ms pro Frame, Darstellung pixelgleich)
- PixelBlast: WebGL erst in Viewport-Nähe anlegen, unsichtbar pausieren
  (autoPauseOffscreen war nie angeschlossen), Shader asynchron kompilieren,
  beim Unmount aufräumen (Render-Schleifen liefen nach Seitenwechsel
  weiter); kein MSAA, keine erzwungene High-Performance-GPU
- Silk (Hero): nur rendern, solange sichtbar; DPR max. 1,5
- LightRays: keine verwaiste Render-Schleife mehr bei schnellem Vorbeiscrollen
- BorderGlow (Kontaktkarte): Sweep nur, solange die Karte sichtbar ist
- Silk, PixelBlast, LightRays als eigene Chunks (React.lazy):
  Haupt-Bundle 1,6 MB -> 646 KB (gzip 470 -> 207 KB)
- backgroud_effect und Emailsorter-Vorschaubild als WebP
  (974 KB -> 15 KB, 1,2 MB -> 11 KB), Projekt-Vorschaubilder lazy

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 21:47:17 +00:00
rootandClaude Opus 5.5 f74ddfb5ae Kontakt-E-Mail: support@webklar.com statt privater Adresse
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 18:30:14 +00:00
rootandClaude Opus 5.5 b159f79070 Wartungs-Abo-Seite: Mindestlaufzeit 12 Monate
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 17:59:50 +00:00
rootandClaude Opus 5.5 ff9f1bd37e Rechtliches: Impressum (DDG, Gesellschafter), Datenschutz, Abo-Seite, lokale Schriften
- Impressum: § 5 DDG, vertreten durch Kenso Grimm und Justin Klein
  (einzeln vertretungsberechtigt), Notizsatz und RStV-Abschnitt entfernt,
  Haftung nach DSA statt TMG, OS-Plattform-Link entfernt (abgeschaltet)
- /datenschutz leitet auf die gemeinsame Datenschutzerklaerung weiter
- /wartungs-abo: oeffentliche Leistungsbeschreibung (auch fuer Stripe)
- Footer: Datenschutz, 'Vertraege hier kuendigen', 'Vertrag widerrufen'
- Inter und Space Grotesk selbst gehostet statt Google Fonts; vier
  ungenutzte Google-Schriften entfernt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:16:46 +00:00
rootandClaude Opus 5 d12fa7d04f Projekte-Abschnitt zurück auf die alte Darstellung
Die Live-Kachelansicht aller Gitea-Repositories ist nicht gewollt: der
Abschnitt "Projekte" zeigt wieder die kuratierte Liste wie zuvor.

Dynamisch bleibt allein der Projektzähler im Hero – lib/projects.ts ist
deshalb auf fetchProjects + Snapshot-Typ eingedampft, ProjectCard.tsx
entfällt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 21:14:11 +00:00
rootandClaude Opus 5 60c827733f Hero: Projektzähler live statt hartkodierter 10+
Die Statistik-Zeile im Hero zeigte fest "10+ Projekte". Sie hängt jetzt
am selben /api/projects wie der Abschnitt "Projekte" (gleicher
react-query queryKey, also weiterhin nur ein Request) und zählt die
Repositories, die tatsächlich in Gitea liegen. Fallback bleibt 10,
falls die API nicht antwortet.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 20:48:16 +00:00
rootandClaude Opus 5 a21441c0ca Projekte: Live-Ansicht aller Gitea-Repositories statt fester Liste
Der Abschnitt "Projekte" zog bisher aus einem hartkodierten Array mit
Unsplash-Platzhaltern. Jetzt kommt der Inhalt live von GET /api/projects,
das serverseitig alle Repositories aus Gitea mit den Hosting-Metadaten
aus Appwrite (websiteProjects) zusammenführt.

- Hybride Vorschau: öffentlich erreichbare und einbettbare Seiten laufen
  als echtes Live-Iframe (lazy, erst im Viewport, pointer-events: none),
  alles andere bekommt eine Live-Daten-Kachel mit Status, Sprache,
  letztem Commit und deterministischer Akzentfarbe.
- Filter-Chips je Kategorie, Volltextsuche, "Mehr laden" (12er-Schritte).
- Ladeskelett und Fehlerzustand mit Retry, damit der Abschnitt nie
  leer oder kaputt aussieht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 20:18:59 +00:00
knso 04e1fd537d Update preview config from ticket system 2026-07-12 09:37:18 +00:00
rootandClaude Opus 4.8 e821233ff6 Footer überarbeitet: neues Design mit Flickering-Grid-Schriftzug
Neues Footer-Layout (Link-Spalten mit Chevron-Hover + animierter
WEBklar-Schriftzug via FlickeringGrid). Inhalt (Branding, Seiten-,
Kontakt- und Rechtliches-Links) aus dem bisherigen Footer übernommen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 09:25:30 +00:00
knso 7e58e43e18 optimierte texte 2026-05-25 14:49:50 +02:00
knso f7dd547f8d big upgrade 2026-05-10 12:19:58 +02:00
JUSN 5bd2019fc6 logo änderung 2026-03-20 21:06:18 +01:00
root edb2ea6f8a createDocument: permissions [] explizit übergeben (403-Versuch) 2026-02-07 09:42:57 +00:00
root 8fa7c2c078 Entfernen: Debug-Instrumentierung (localhost:7243) aus Contact und Appwrite 2026-02-07 09:17:47 +00:00
root e3269518bd Fix: json-bigint stringify nutzt _isBigNumber (behebt e.isBigNumber in prepareRequest) 2026-02-07 09:07:20 +00:00
root 95c4cefef1 Fix: Komma im Debug-Log-Objekt (Build-Syntax) 2026-02-07 08:58:34 +00:00
root 37327cc2c8 Debug: Instrumentierung für isBigNumber-Fehler (Console-Log + Fetch) 2026-02-07 08:58:09 +00:00
root 80c03411ae Fix: Appwrite-Patch nutzt _isBigNumber statt isBigNumber (behebt 'e.isBigNumber is not a function' im Build) 2026-02-07 08:47:48 +00:00
knso ac40edc468 appwrite 22.0.0 patch 2026-02-07 09:35:49 +01:00
knso 0986bc8173 appwrite verbindung
auf local und domaene ueber ein plugin
2026-02-07 09:29:48 +01:00
Basilosaurusrex 305de38ff6 .env commit 2026-02-06 19:46:26 +01:00
Basilosaurusrex 82668796d6 appwrite anbindung 2026-02-06 18:22:04 +01:00
knso 6ad076473b pics 2026-02-03 20:30:54 +01:00
KNSONWS 591c0eb4c7 fix 2026-02-03 19:51:36 +01:00
KNSONWS 2b39e0855f Add Appwrite React starter as regular files 2026-02-03 19:44:28 +01:00
KNSONWS 8be94e4518 Add Appwrite React starter 2026-02-03 19:43:24 +01:00
KNSONWS f2a3f47e07 form 2026-02-03 16:05:36 +01:00
Basilosaurusrex 6af24d28e7 impressum 2026-02-02 22:03:15 +01:00
Basilosaurusrex 217bbdc6a7 new version 2026-02-02 21:42:41 +01:00
Basilosaurusrex 7e8d40878b light 2026-02-02 16:17:08 +01:00
Basilosaurusrex 2dc5401179 imeges 2026-02-02 15:16:36 +01:00
Basilosaurusrex 3b9e35a447 Values-Section: Hintergrundbild backgroud_effect.png (groß, transparent) 2026-02-02 12:11:43 +01:00
Basilosaurusrex a95932cd79 CountUp-Effekt für Zahlen, Navbar-Button wie Hero-Button (dark) 2026-02-02 10:41:41 +01:00
Basilosaurusrex 01102ef3f7 Custom CTA-Buttons: Sparkle/Demo-Button, blauer Primary-Button mit Text-Animation, einheitlicher Stil für alle blauen Buttons 2026-02-02 09:29:37 +01:00
knso 22d641e4e5 Neues WEBklar-Logo, Favicon und Tab-Titel 2026-02-02 00:08:51 +01:00
knso 1d4584e5d9 fixes 2026-02-01 22:34:47 +01:00
knso 6228945065 Added Silk component for animated background in Hero section 2026-02-01 16:59:54 +01:00
JUSN bd07af10b5 hiehr 2026-01-30 22:13:17 +01:00
JUSN 593df01f0b H 2026-01-30 00:25:07 +01:00
JUSN 03cd75576c kkk
kkkj
2026-01-30 00:21:32 +01:00
JUSN 40187c9096 Dateien nach "/" hochladen 2026-01-29 22:54:45 +00:00