Commit Graph

17 Commits

Author SHA1 Message Date
Matic Ivešić 8a8f19133f Home: gallery preview grid, side-by-side contact, larger section titles
- Add a homepage gallery preview: "Galerija" heading + 4-wide image grid that
  fades out toward the bottom, linking to /gallery (up to 12 images)
- Put contact email + phone side by side
- Make section titles (Galerija/Novice/Kontakt) larger than service names
- listGalleryImages() added to the content service

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-03 19:06:06 +02:00
Matic Ivešić d5368067d6 Home: contact card platform + mail/phone icons, gallery icon in nav
- Put the Kontakt section on a rounded card ("platform")
- Add mail/phone icons (via SvgImage mask) next to the email and phone
- Use gallery_icon.svg in the top-nav Galerija button
- Scope the header banner-image CSS to .banner-link so the nav icon isn't resized

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-03 18:51:33 +02:00
Matic Ivešić a6076fbbf3 Service UX: images in create form, original block look + hover zoom, styled file input
- Add image picker to the "Dodaj storitev" form (upload images while creating)
- Restore original service layout on the homepage: centered uppercase title
  above, rounded image beside text, alternating sides; image zooms on hover
- Slideshow gains a hoverZoom option (scale on hover)
- Style native file inputs (::file-selector-button) to match the dashboard UI

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-03 18:44:02 +02:00
Matic Ivešić 7ff2ca667a 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>
2026-08-03 18:32:09 +02:00
Matic Ivešić a1342e4fda Dashboard polish: banner brand, borderless forms, fix sidebar clipping
- Use intelidom_banner.svg as the sidebar brand instead of text
- Remove borders from admin cards, inputs, user rows, login inputs and
  ghost buttons (subtle fills / focus outlines instead)
- Fix sidebar clipping: height:100vh + padding overflowed the viewport;
  add box-sizing:border-box (+ overflow-y safety), drop divider borders

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-02 21:23:13 +02:00
Matic Ivešić 22af32c722 Phase 2: multi-tab dashboard shell + user management
- Restructure /admin into a (dashboard) route group with a sidebar shell
  (Galerija / Storitve / Novice / Kontakt / Uporabniki) and active-tab state
- Hide the public site header/footer on all /admin routes
- Centralize auth in hooks.server.ts so page loads, form actions AND endpoints
  are all gated (layout load guards don't cover actions)
- Users section (admin-only): add user, change role, reset password, delete;
  safeguards prevent self-delete and removing the last admin; server-side role
  checks (editors get 403 even if UI hidden)
- Login redirects already-authed users; logout moved to /admin/logout endpoint
- Gallery management moved under /admin/gallery; shared .admin-* styles in app.css
- Fix flexbox overflow in the dashboard main column (min-width:0, box-sizing)
- Placeholder tabs for Services/News/Contact (Phases 3-5)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-02 21:13:02 +02:00
Matic Ivešić 6bc5fffda2 Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase
Migrate the gallery/admin off the static + Supabase setup to a self-hosted
full-stack app that runs on the home server behind nginx.

- Switch adapter-static -> adapter-node
- SQLite via Drizzle (users, sessions, gallery_images); migrations run on startup
- Server-side session auth (argon2 hashing, httpOnly cookie, SHA-256 stored token,
  sliding expiry) wired through hooks.server.ts
- Admin: server-side login, route guard, gallery upload/delete via form actions
- Public gallery is now SSR from the DB; /uploads/[...path] serves images in dev
- scripts/create-admin.js + db:generate/db:migrate/create-admin npm scripts
- Remove @supabase/supabase-js and the client-side gallery/admin code
- Fix pre-existing imageOnRight boolean prop type in Main.svelte
- ADMIN_SETUP.md rewritten for local dev + home-server deploy (systemd, nginx, backups)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-02 20:54:06 +02:00
Matic Ivešić 41410e3079 Added hover effect to contact elements 2025-11-02 20:56:14 +01:00
Matic Ivešić 8d3e601768 Merge branch 'main' of https://github.com/MoxiFoxi411/intelidomWebsite 2025-11-01 20:22:06 +01:00
Matic Ivešić 587ca29e84 Added image-mask to contact element 2025-10-31 23:06:32 +01:00
Matic Ivešić a8768f7ac3 Fixed image aspect ratio on phone 2025-10-29 14:33:20 +01:00
Matic Ivešić 284158bf14 Added zoom in effect to service images 2025-10-29 14:18:21 +01:00
Matic Ivešić 674b91e615 Added new font 'Inter' and some changes on <ul> 2025-10-23 08:34:45 +02:00
Matic Ivešić 25b96c2827 Website redesign 2025-10-21 20:47:58 +02:00
Matic Ivešić 6ed1754cf9 Website redesign 2025-10-21 20:45:13 +02:00
Matic Ivešić 83751ad87b First development commit 2025-07-22 21:22:34 +02:00
Matic Ivešić eb48bc390a First commit 2025-03-07 12:20:16 +01:00