Commit Graph

28 Commits

Author SHA1 Message Date
eafefcb1da docs: add implementation plan and gitignore for old build artifacts 2026-07-29 19:08:14 +02:00
0d00b1ec9c fix(build): use Web Crypto API for Edge Runtime compatibility + final build verification
- Rewrite admin-session.ts to use Web Crypto API (crypto.subtle) instead
  of Node.js crypto module, ensuring compatibility with Edge Runtime
  in middleware
- Add ADMIN_SESSION_SECRET to .env.example
- Build passes with zero warnings
2026-07-29 19:07:43 +02:00
94ef7901e2 feat(code-gating): add code validation and enforce code usage for memorial creation
- Add /api/validate-code endpoint: validates code, marks it as used by
  the current Clerk user, prevents reuse
- Add 'Код' step to onboarding wizard (step 0): user must enter and
  validate a code before proceeding to fill memorial details
- Protect /api/publish: reject with 403 if user has not consumed a valid
  code
- Code input auto-capitalizes on the onboarding page
2026-07-29 18:58:18 +02:00
9ca66fc753 feat(admin): add admin panel with dashboard, users, and codes management
- Add admin layout with sidebar navigation and session guard
- Create AdminSidebar client component with role-based nav links
- Add dashboard page showing stats (admin count, code counts)
- Add users management page (SuperAdmin only): list, create, delete,
  and reset passwords for admin users
- Add codes management page: list all codes, generate new codes,
  delete unused codes
- Add API routes for admin user CRUD (GET, POST, DELETE, PUT)
- Add API routes for code management (GET, POST, DELETE)
- All UI in Macedonian
2026-07-29 18:56:49 +02:00
14d0b533af feat(auth): add admin authentication with HMAC session cookies
- Create admin-session lib with sign/verify helpers using HMAC-SHA256
- Add admin login API that checks hardcoded super/admin credentials
  and DB-stored admin users with bcrypt password comparison
- Add admin logout API to clear session cookie
- Add change-password API for admin self-service password changes
- Create admin login page with Macedonian UI
- Update middleware to protect /admin/* and /api/admin/* routes
  with admin session check, bypassing Clerk auth
2026-07-29 18:55:46 +02:00
8569b506d2 feat(db): add AdminUser and Code models with migration
- Add AdminUser model (username, passwordHash, role enum)
- Add Code model (code, createdBy, usedByUserId, timestamps)
- Install bcryptjs for password hashing
- Run migration add_admin_and_code
2026-07-29 18:54:40 +02:00
6bb72dc97f local dev setup 2026-07-29 16:52:54 +02:00
c51ff09cdc backup 2026-07-24 04:11:40 +02:00
db88626eeb claudflare wildcard ssl migration docs 2026-06-23 00:54:08 +02:00
49b8023f37 cool fix 2026-06-22 23:44:51 +02:00
da84f7b968 img fix 2026-06-22 23:39:19 +02:00
677322db7e t v3 2026-06-22 23:28:41 +02:00
749d86d8ef http,https 2026-06-22 23:12:20 +02:00
9052224ad3 proxy fix 2026-06-22 23:01:42 +02:00
17f362f6d6 traefix conf, subdomain fix 2026-06-22 22:22:11 +02:00
aea4713aeb subdomain fix 2026-06-22 21:57:17 +02:00
afa6630a83 db network fix 2026-06-22 21:36:22 +02:00
58ad68836b env @build 2026-06-22 05:44:29 +02:00
9e0093bf7f prisma fix 2026-06-22 05:14:47 +02:00
85669b8395 fix 2026-06-22 04:43:57 +02:00
77e2e4a959 yaml 2026-06-22 04:30:02 +02:00
bf925c0ca8 composr 2026-06-22 04:27:05 +02:00
9039f00ed0 dep fix 2 2026-06-22 04:05:35 +02:00
47670f8313 deploy fix 2026-06-22 03:53:47 +02:00
ef3643a713 img fix applyed 2026-06-22 02:34:32 +02:00
5aeb5a0db2 translation done 2026-06-20 19:44:36 +02:00
ff93e8c5be template refinement 2026-06-20 19:28:05 +02:00
4fdb51f583 init 2026-06-20 18:17:30 +02:00