frontend
backend
database
auth
CMS workflow: entry editor, status actions, and settings save
- Full CMS workflow — entry editor, status actions, and settings save — Added a full entry editing experience: a dedicated entry page with an editable title, split-pane markdown editor (live preview), status-aware action bar (Approve / Reject / Publish / Archive), metadata sidebar (version, tags, team, commit info, generated JSON), inline approve actions on list cards, status filter tabs, and project settings save + delete flows.
New Features
- Added a full entry editor page at /app/projects/[slug]/entries/[id] with an editable title, split-pane Markdown editor, status action bar, and metadata sidebar.frontend
- Added a split-pane MarkdownEditor with live preview (react-markdown + remark-gfm) and 1.5s debounced auto-save.frontend
- Added EntryActionBar with status-aware actions: draft/rejected → Publish; pending_approval → Approve + Reject; published → Archive.frontend
- Added RejectDialog to capture an optional rejection reason when rejecting entries.frontend
- Made entry cards link to the entry detail page and added an inline Approve quick-action for pending approval entries.frontend
- Added status filter tabs in the entry list (All / Draft / Pending / Published / Archived / Rejected).frontend
- Wired Project Settings UI to save General and Changelog settings and added a Danger Zone delete flow with slug confirmation.frontend
API
- Added entry API routes to fetch, patch, and transition entry status (GET/PATCH /entries/[id], POST approve/reject/publish/archive).backend
- Added project API routes: PATCH /api/projects/[slug] to update project name, PATCH /api/projects/[slug]/settings to upsert settings, and DELETE /api/projects/[slug] to hard-delete a project.backend
Improvements
- Updated client hooks: useEntries now accepts a status filter, and new useEntry and useEntryMutations handle fetching and all entry write actions.frontend
- Extended ChangelogEntryRepository.updateMetadata to accept title so inline title edits could be persisted.database
- Added ProjectRepository.update to allow updating mutable project fields (name) without changing slug.database
- Installed react-markdown and remark-gfm to power the in-app markdown preview.frontend
- Added tests for entry action logic and settings validation; new tests were included and all web and database test suites passed.frontend