Commit graph

31 commits

Author SHA1 Message Date
7c2931b2c8 feat(cc-049): Priorities — smart focus list from tasks, goals, decisions 2026-07-31 19:26:45 +00:00
7ac5e98be9 feat(cc-049): Finance — transaction summary with evidence breakdown 2026-07-31 19:26:44 +00:00
2c3408e968 feat(cc-049): Business Overview — aggregate view across all modules 2026-07-31 19:26:43 +00:00
e5604f2696 feat(cc-049): Decision Dashboard — aggregate stats over decisions register 2026-07-31 19:26:43 +00:00
db8eb1787b feat(cc-049): Activity Timeline — audit-log timeline with date grouping 2026-07-31 19:26:42 +00:00
ca8e3e48e7 fix(decisions): fix broken multiline placeholder string (syntax error) 2026-07-31 19:12:13 +00:00
16042476d7 feat(nav): mark Decision Register, Audit Log, Profile, Notifications as ready 2026-07-31 17:12:07 +00:00
d28d3086cf feat(notifications): add Notifications inbox page — filter, mark read, dismiss 2026-07-31 17:12:06 +00:00
bfc9700990 feat(profile): add Personal Profile page — user info, role, workspaces 2026-07-31 17:12:05 +00:00
6ee566143b feat(audit): add Audit Log page — read-only table of tenant audit entries 2026-07-31 17:12:05 +00:00
643fe527a2 feat(decisions): add Decisions Register page — create, list, select option, outcome review 2026-07-31 17:12:04 +00:00
b5548abf37 feat(shell): add NotificationBell to header 2026-07-31 17:12:03 +00:00
27b61415a6 feat(ui): add NotificationBell component with unread badge 2026-07-31 17:12:03 +00:00
8e049984a2 feat(api): add Decision, Notification, AuditLogEntry types 2026-07-31 17:12:02 +00:00
550df79c64 feat(nav): mark Goals as ready in navigation registry 2026-07-31 16:34:53 +00:00
ac80452806 feat(nav): mark Goals and Transactions as ready in navigation registry 2026-07-31 16:34:24 +00:00
13151d0eba feat(transactions): add Transactions CRUD page — list, create, update evidence, delete 2026-07-31 16:34:23 +00:00
5fb0eab34f feat(goals): add Goals CRUD page — list, create, update status, delete 2026-07-31 16:34:23 +00:00
13682e2d43 feat(api): add Goal and Transaction types 2026-07-31 16:34:22 +00:00
9a3a8412cd fix(tst-020): exclude playwright config from Next.js tsc — @playwright/test not in deps 2026-07-31 16:17:42 +00:00
9314d0a8f5 test(tst-020): visual regression baseline tests — home + mobile viewport 2026-07-31 15:18:39 +00:00
30c33042b8 feat(tst-020): Playwright visual regression config for ceo-web (CC-047) 2026-07-31 15:18:38 +00:00
d4ce13b8fa feat: Main Navigator ca menu registry configurabil (14 sectiuni)
Inlocuieste structura provizorie de 11 sectiuni cu specul complet dat de
user. Designul vizual ramane neschimbat, cum s-a cerut explicit.

- lib/navigation.ts devine un registry propriu-zis: fiecare element are
  route, icon, permissions, featureFlag, workspaceTypes, releaseStage si
  children -- meniul nu mai e hardcodat in componenta
- releaseStage (mvp|a3|a4) e separat de status (ready|planned): unul spune
  CAND e planificat, celalalt daca exista ACUM in cod
- sidebar-ul filtreaza pe rol (visibleSections) -- Data Intelligence e
  owner/admin, conform specului. Filtrarea e doar UX; autorizarea reala
  ramane server-side in ceo-api, un meniu ascuns nu e masura de securitate
- sectiuni pliabile, ca 14 sectiuni x ~10 itemi sa nu inunde sidebar-ul;
  se deschide automat sectiunea care contine ruta curenta
- fiecare item planned explica in catch-all exact ce lipseste, inclusiv ce
  ruleaza deja pe server dar nu e conectat (Paperless, ERPNext, memory-graph)
2026-07-29 09:21:59 +02:00
fc5c34fd61 feat: navigatie completa pe cele 11 sectiuni din arhitectura de informatie
- lib/navigation.ts devine sursa unica de adevar pentru IA: 11 sectiuni,
  ~45 de pagini, fiecare cu status ready|planned si o descriere concreta
  a ce lipseste ca sa devina activa
- sidebar-ul randeaza sectiunile grupate; itemii neconstruiti sunt vizibil
  estompati si marcati cu un punct -- forma produsului e vizibila, dar nu
  pretindem ca exista
- dashboard/[...slug] este o singura ruta catch-all care explica exact ce
  lipseste pentru sectiunea ceruta, in loc de ~35 de fisiere-stub identice
  sau, mai rau, UI fals care pare functional
- Home se desparte corect: /dashboard = Executive Dashboard (ansamblu +
  sectiuni active), /dashboard/briefing = Daily Briefing (restante,
  urmatoarele 7 zile, sinteza AI)
2026-07-28 23:03:17 +02:00
b2260fe839 feat: AI draft pentru research brief + sinteza AI in briefing
- BriefForm: buton "Generează cu AI" cheama /v1/research-briefs/draft si
  precompleteaza titlul+rezumatul; textul spune explicit ca nimic nu s-a
  salvat inca si arata costul real al generarii
- Briefing: afiseaza aiExplanation cand exista, cu nota ca prioritizarea
  ramane deterministica si AI-ul doar explica
2026-07-28 22:34:49 +02:00
60e5befa31 feat: Faza A2 -- cautare companii, segmente salvate, research briefs
- pagina Companii: cautare Apollo prin ceo-api, salveaza cautarea ca
  segment, creeaza research brief per rezultat
- pagina Segmente: reruleaza o cautare salvata, sterge
- pagina Research: listeaza briefs cu surse (linkuri catre Apollo/altele)
- Overview devine un briefing determinist (restante/urmatoarele 7 zile
  + activitate saptamanala), cu explicatia AI marcata explicit ca
  neconstruita in loc de ascunsa
2026-07-28 22:01:36 +02:00
883ff370cd feat: multi-tenant dashboard shell -- auth, onboarding, organizations, tasks, team
- login page (Supabase email/password sign-in + sign-up)
- onboarding: create first tenant, redirects into /dashboard once a
  membership exists
- dashboard shell: sidebar nav, tenant switcher (x-tenant-id header,
  never in body/query -- matches ceo-api's TenantGuard), sign out
- Organizations, Tasks, and Team (members/RBAC) pages wired to ceo-api
  via a thin apiFetch wrapper that attaches the Supabase bearer token
- executive "paper & ink" design tokens (Tailwind) replacing defaults
- Dockerfile: declare NEXT_PUBLIC_* as build ARGs so Coolify's existing
  build-time env vars actually get inlined (was previously silently
  dropped, which would have crashed prerendering)
2026-07-28 21:16:17 +02:00
349f4f713c fix: add public/ directory so Dockerfile's standalone build COPY succeeds
Next.js only emits .next/standalone, not an empty public/ dir when the
source has none -- the Dockerfile's COPY --from=build /app/public
failed outright since the path never existed.
2026-07-21 19:36:36 +02:00
91eabf6c5c fix: apply Dockerfile devDependencies fix to ceo-web
Same class of bug as ceo-api/ceo-worker: plain npm install skips
devDependencies (typescript, tailwindcss, postcss) when NODE_ENV=production
is visible at build time, which next build needs. Switched to
npm ci --include=dev.
2026-07-21 19:33:40 +02:00
Claude
df897d4c15 feat: scaffold Next.js frontend with Tailwind, TanStack Query, RHF+Zod, Supabase client, Recharts 2026-07-20 22:43:14 +02:00
bf127a9c6f Initial commit 2026-07-20 20:23:55 +00:00