7f35297025
Naser confirmed all remaining QA Review / Draft rows (97 subtasks, 16
parent rollups) are done in substance: the site has been in production
for roughly a year. Overrides the conservative QA-Review/Draft mapping
from the prior takeover commit (0f9d12c) at his explicit instruction.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
id, title, status, date, parent
| id | title | status | date | parent |
|---|---|---|---|---|
| 5-1 | 5-1 Post Creation & Editing | Done | 2026-09-27 | 5 |
Description
As an admin, I want to create and edit blog posts with rich text formatting, So that I can publish professional legal content for website visitors. Context: Integrates with: posts table; Technology: Livewire Volt, TinyMCE or similar rich text editor; Follows pattern: Admin CRUD pattern. Use the mews/purifier package for HTML sanitization via the clean() helper:. Full implementation history: docs/stories/story-5.1-post-creation-editing.md
Acceptance Criteria
- Title (required, bilingual: Arabic and English)
- Body content (required, bilingual)
- Status (draft/published)
- Bold, italic, underline
- Headings (H2, H3)
- Bullet and numbered lists
- Links
- Blockquotes
- Save as draft functionality
- Preview post before publishing
- Edit published posts
- Auto-save draft periodically (every 60 seconds)
- Immediate publishing (no scheduling)
- created_at recorded on creation
- updated_at updated on edit
- HTML sanitization for XSS prevention
- Bilingual form labels
- Audit log for create/edit
- Tests for CRUD operations