Files
Naser Mansour 7f35297025 Mark all libra tasks Done — confirmed live in production ~1 year
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>
2026-09-27 22:04:04 +03:00

34 lines
1.2 KiB
Markdown

---
id: 5-1
title: 5-1 Post Creation & Editing
status: Done
date: 2026-09-27
parent: 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