- View cards now show "2026-06-04 14:30 (in 2h)" next to the scheduled time
- New "Dispatch now" button runs dispatch-social.php immediately and shows
output inline (useful for diagnosing why cron isn't sending posts)
- dispatch action added to /api/social
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 3-col grid (col-xl-4 col-md-6) replacing left/right split layout
- First card is always the "new post" composer in edit state
- Clicking a post card (or its pencil icon) opens inline editing on that card
- Multiple cards can be in edit state simultaneously
- Autosave for existing posts (debounced 2s) with saving/saved/error indicator
- Post cards show: datetime + status (top left), action icons (top right),
text body, image (centered, max-height = card width), platform badges
- Image max-height constrained to card width via JS after render
- Emoji picker moved to shared fixed floating panel
- Per-card error display; no global form state
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Emoji picker with 6 categories (~100 emojis), inserts at cursor
- Character counter (0/500) with amber/red thresholds
- Default schedule time is now +5 min in browser local time (fixes UTC offset bug)
- Relative time display uses local time (removes incorrect +Z suffix)
- Post cards redesigned: color-coded left border by status, platform badges
in Discord/Mastodon/LinkedIn brand colors, status icons
- Delete is two-click confirm (no confirm() dialog)
- Duplicate errors use inline error area (no alert())
- Nicer empty state with icon
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>