Sve sesije
Admin panel + CMS hub (Protos-Web)
Mon Jul 06 2026 00:00:00 GMT+0000 (Coordinated Universal Time)·Protos-Web· 4 commitova· 1 znanja
admincmssupabasenext-intlsecurityvercel
Commitovi
3817dcf5931c9a64c140d6e081d5Sesija 2026-07-06 — Admin panel + CMS hub (Protos-Web)
Cilj korisnika
- Privatni
/adminna glavnoj stranici (ne subdomena), vidljiv u navigaciji samo kad je ulogiran - Kontrolna ploča s gumbima za:
- Blog (dodavanje/uređivanje, Supabase)
- Portfolio (isto)
- Email inbox (
dario.admin@protosweb.eu/ Zoho) - Notifikacije oko stranice
- Platforme i društvene mreže (placeholder linkovi za kasnije)
Što je isporučeno
Faza 1 — Auth i osnovni panel
/admin,/admin/loginnawww.protosweb.euADMIN_SECRETna Vercelu- Middleware + httpOnly cookie
- PANEL u navigaciji kad je session aktivan
- Mystical pozadina + custom chess knight SVG (
AdminKnightMark,design/references/...)
Faza 2 — Sigurnost
- Rate limit login API
- Generic error poruke
- Security headers u
next.config.js docs/security.md— mapa tajni
Faza 3 — CMS hub
- Dashboard s karticama (sadržaj, inbox, notifikacije, platforme, social, freelance, DNS)
/admin/blog,/admin/portfolio— liste + new + edit/admin/inbox— Zoho link + contacts iz baze- Server-side CRUD preko
SUPABASE_SERVICE_ROLE_KEY
Faza 4 — Build fix i deploy
- Razdvojeni query/mutation moduli
AdminLinkumjesto next-intlLinkna serveru- Build prolazi; push na
main→ Vercel deploy
Odluke
| Odluka | Razlog |
|--------|--------|
| Admin na glavnoj domeni, ne dario.admin.protosweb.eu | Eksplicitni zahtjev korisnika |
| ADMIN_SECRET samo Vercel | Ne koristi edge funkcije; manja površina curenja |
| Service role samo na serveru | Zaobiđe RLS za CMS pisanje; nikad u browser |
| Placeholder social/platform linkovi | Korisnik će URL-ove dodati kasnije u social-links.ts |
| AdminLink umjesto @/routing | Izbjegava webpack circular init na buildu |
Naučeno (za buduće Next.js admin radove)
- Ne miješaj
'use server'fajl koji client komponenta importa za akcije + server page koji importa query iz istog fajla — razdvoji read/write/types. - next-intl
Linkna server admin stranicama može uzrokovatiCannot access 'n' before initializationtijekomcollecting page data— koristi obične<a>ilinext/linkza admin-only UI. force-dynamicna admin layoutu — admin stranice ne smiju ići kroz SSG scookies()/requireAdmin().- Boot veil — svaka ruta koja preskače
PageLoadermora eksplicitno ukloniti SSR veil (clearBootPending). - Tajne po platformi — dokumentirati u
docs/security.md; korisnik često pita zašto Vercel i Supabase env.
Status repozitorija
Protos-Webmain@6e081d5— sve pushano, working tree clean- Vercel auto-deploy s
main