Commit Graph

3 Commits

Author SHA1 Message Date
Jeff Emmett 44c30fa1a1 fix: correct print layout URL and separate preview from download
- Fixed print-layout API to return correct URL format (?print=true instead of /print)
- Modified print endpoint to only force download when &download=true is added
- Updated create page and share page to use download parameter for download button
- Print preview now renders properly as an image

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 22:42:45 -05:00
Jeff Emmett b96e20dcbc feat: add progress bar UI and styled placeholder images
- Add overall progress bar with percentage during page generation
- Add per-page progress indicators with checkmarks for completed pages
- Show current page title/type while generating
- Create styled placeholder images with actual page content when
  AI image generation is geo-blocked
- Style placeholders match selected zine style (punk, minimal, etc.)
- Add cache-busting timestamps to force image reload
- Update worker to return helpful error for geo-blocking

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 21:09:25 -05:00
Jeff Emmett efc6b8158b feat: add prompt-to-print web app at zine.jeffemmett.com
Full-stack Next.js 15 web application for creating mycro-zines:

Features:
- Text or voice input for concept description
- Style/tone selection (punk-zine, minimal, collage, etc.)
- AI-powered outline generation via Gemini
- 8-page image generation with refinement loop
- Print-ready PNG download (300 DPI)
- Shareable zine URLs (/z/[id])

Tech stack:
- Next.js 15 with App Router
- Tailwind CSS v4 + Radix UI
- Gemini API for text and image generation
- Sharp for print layout assembly
- Docker + Traefik for deployment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 17:55:39 -05:00