38376ab632
feat: persist AI generation state across navigation
...
- Moved streaming state (isGenerating, content, tokens, errors) from StepGenerate to usePostEditor hook
- Added new state management to allow continuous AI generation when navigating between editor steps
- Updated EditorShell to pass streaming state and setters down to StepGenerate component
- Added detailed documentation explaining streaming persistence architecture and user experience
- Removed local state from StepGenerate in favor of props
2025-10-25 21:35:43 +02:00
3896f8cad7
feat: add real-time content streaming with live preview
...
- Added streaming UI components with live content preview and token counter
- Implemented new generateContentStream service for SSE-based content generation
- Created comprehensive STREAMING_UI_GUIDE.md documentation with implementation details
- Added streaming toggle checkbox with default enabled state
- Enhanced StepGenerate component with progress bar and animated streaming display
- Added error handling and graceful fallback for streaming failures
2025-10-25 21:18:22 +02:00
c69863a593
refactor: restructure AI generation into modular architecture
...
- Split monolithic ai-generate.ts (453 lines) into 12 focused modules with clear responsibilities
- Created new directory structure with routes, services, utils, types, and config folders
- Implemented AIService orchestrator with specialized generators for content, metadata, and alt text
- Added centralized prompt templates and error handling
- Set up parallel routing to allow gradual migration from old implementation
2025-10-25 21:13:42 +02:00
c2eecc2f7c
feat: add reference image support for AI content generation
2025-10-25 17:52:39 +02:00
4fd46f4d24
feat: persist generation sources in post editor state and API
2025-10-25 13:36:30 +02:00
4d1f8298de
feat: add web search capability with source citations for AI content generation
2025-10-25 13:28:36 +02:00
d6b4109b22
feat: add AI-generated alt text and captions for image placeholders
2025-10-25 12:56:50 +02:00
068bf9be8a
feat: add AI-powered metadata generation for blog posts
2025-10-25 00:27:26 +02:00
5685f03b7e
feat: implement auto-save functionality for post editor with debouncing
2025-10-25 00:22:06 +02:00
3fee0d1acb
docs: add AI content generation feature with OpenAI integration
2025-10-25 00:08:41 +02:00
35aabcd3d3
feat: add keyboard shortcuts, pagination, and auto-upload for audio recordings
2025-10-24 23:31:33 +02:00
706c0e4ae4
style: update layout to use full viewport width and fix overflow issues
2025-10-24 22:58:43 +02:00
8686744c7e
refactor: reorganize admin UI with new layout components and top navigation bar
2025-10-24 21:56:19 +02:00
d63f450be0
refactor: remove AdminLayout wrapper and improve editor shell layout responsiveness
2025-10-24 21:35:56 +02:00
a035d19a5a
refactor: extract post editor logic into custom hook for better separation of concerns
2025-10-24 21:25:22 +02:00
5efc6c690e
feat: wrap assets step components in collapsible sections and remove draft ID display
2025-10-24 21:04:53 +02:00
cdbc5062ca
feat: add image selection to Assets step and remove duplicate media library
2025-10-24 20:59:42 +02:00
b3418e3c96
feat: add collapsible sections to StepGenerate component with reusable CollapsibleSection
2025-10-24 20:51:11 +02:00
4afb21c38b
refactor: improve editor layout with fixed height grid and scrollable content panels
2025-10-24 20:20:59 +02:00
7ca9b130c3
refactor: split editor shell into separate step components with shared interfaces
2025-10-24 20:18:03 +02:00
bb166f9377
feat: add image selection and transcription review for AI content generation
2025-10-24 19:42:40 +02:00
a05fdda2d2
feat: add responsive styles for media content in editor and preview
2025-10-24 18:19:43 +02:00
b93e0ac9c1
feat: add preview endpoint and UI for Ghost post content with media URL rewriting
2025-10-24 18:13:30 +02:00
7378360104
feat: redesign editor with step-by-step workflow and sticky sidebar layout
2025-10-24 17:55:44 +02:00
7252936657
feat: add AI prompt field to post editor and database schema
2025-10-24 16:37:47 +02:00
b3e6159519
feat: add feature image preview with remove button in MetadataPanel
2025-10-24 16:00:43 +02:00
b36a53fd45
feat: add toast notifications for post save success/failure states
2025-10-24 15:56:29 +02:00
df1a3b726e
feat: add post status, delete functionality and improve metadata handling in editor
2025-10-24 15:53:34 +02:00
9e82fad875
feat: add clipboard paste-to-upload for images in media library
2025-10-24 15:46:16 +02:00
b90ca876db
style: improve media library card layout with larger grid cells and better text wrapping
2025-10-24 15:42:30 +02:00
a6e86eb976
feat: enhance admin UI with data grid, search and sorting features
2025-10-24 15:38:32 +02:00
99c0d95ef2
feat: configure Material UI theme with custom colors and component styles
2025-10-24 15:20:32 +02:00
4327db242d
feat: add posts list view and improve editor navigation flow
2025-10-24 15:17:43 +02:00
93f93e4f96
refactor: migrate draft/post API endpoints to use Drizzle ORM instead of raw SQL queries
2025-10-24 15:05:17 +02:00
038591c9cf
feat: add MySQL database integration with Drizzle ORM for post and audio clip storage
2025-10-24 14:57:54 +02:00
3f2d3f0e8f
feat: add multi-clip recording and reordering support in audio recorder
2025-10-24 14:15:37 +02:00
cd799a2024
feat: add S3 object copying and enhanced media URL rewriting for Ghost posts
2025-10-24 14:03:46 +02:00
5a00636063
feat: implement Ghost blog post publishing with metadata and media handling
2025-10-24 11:41:53 +02:00
41f35ddca3
feat: add rich text editor toolbar and media library management
2025-10-24 04:00:22 +02:00
15b1ac4ac0
feat(admin): add MediaLibrary with image reuse/delete and integrate into EditorShell
2025-10-24 03:44:28 +02:00
8f4fbb098f
fix(editor): replace RichEditor with clean TipTap component; remove unused import
2025-10-24 03:41:12 +02:00
8cbc9a034a
feat(media): add /api/media/image and proxied object fetch; feat(editor): image upload button and TipTap Image insertion
2025-10-24 03:23:21 +02:00
eff5dfd0bb
feat(editor): integrate TipTap rich editor; add Drafts list; fix TipTap setContent typing
2025-10-24 03:17:23 +02:00
45f7b3e8d5
feat(admin): add minimal Drafts list to load existing drafts from /api/drafts
2025-10-24 03:14:17 +02:00
54fb0226bf
chore: add morgan request logging and update audio recorder compatibility plan
2025-10-24 03:13:23 +02:00
dde15813be
fix(recorder): choose supported MediaRecorder mime (webm/mp4) and use it for blob/upload to improve playback compatibility
2025-10-24 03:10:52 +02:00
d0398408ac
chore(api): add concise request logs for /api/media/audio
2025-10-24 03:08:26 +02:00
d07646f2e1
docs(plan): mark M1–M3 complete; .env.example done; editor wired to drafts; outline remaining tasks
2025-10-24 03:06:57 +02:00
8e76c349eb
chore(api): add morgan request logging and types
2025-10-24 03:04:42 +02:00
18dfa5766c
chore(s3): add console logs for upload/download operations (bucket, key, bytes, contentType)
2025-10-24 02:57:36 +02:00