Phases 3-5: banner slideshow, services CMS, blog, contact

Content model (SQLite/Drizzle): banner_images, services + service_images,
news_posts, settings (migration 0001).

- Reusable cross-fading Slideshow component (banner + per-service images)
- Banner (new "Pasica" tab): upload/reorder/delete hero images; homepage shows
  an auto-advancing full-width slideshow only when images exist
- Services CMS: create/edit/delete/reorder services (name, description, bullet
  list) with per-service image management; homepage renders them with rotating
  images in an alternating layout (replaces hardcoded Main/Service components)
- Blog: admin CRUD with draft/publish + cover image; public /news list and
  /news/[slug] article (plain-text paragraphs); latest posts teased on the home
- Contact: editable email/phone/address + optional embedded map; shown at the
  bottom of the homepage
- Homepage rebuilt as data-driven sections; shared content service in
  src/lib/server/content.ts
- Remove now-unused Main.svelte, Service.svelte, ZoomInImage.svelte

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
MaticIvesicandClaude Opus 4.8 committed 2026-08-03 18:32:09 +02:00
1 parent a1342e4fda
commit 7ff2ca667a
32 files changed
+2321 -190

No files matched your search

+3
View File
@@ -24,3 +24,6 @@ Thumbs.db
# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
# Affinity Designer lock files
*~lock~