ppt-tool/frontend
Vadym Samoilenko e360983249 Fix 5 post-Phase8 bugs: SSE crash, custom templates, ordering, persistence, JSON display
- outlines.py: Fix ECONNRESET/socket-hang-up — Depends session closes before
  StreamingResponse generator runs; capture presentation data upfront, use
  async_session_maker() inside inner() for the final DB commit (same pattern as Phase 4)
- useCustomTemplates.ts: Filter null-template items in summary map (crashed on
  presentations without a TemplateModel); use item.layout_count instead of hardcoded 0
- TemplateSelection.tsx: Move custom AI templates section above built-in templates
- presentationGeneration.ts + OutlinePage.tsx: Add selectedTemplateId to Redux so
  template selection persists when navigating away and back to /outline; clearOutlines
  also resets selectedTemplateId for new presentation flows
- DocumentPreviewPage.tsx: Detect JSON file content (table decomposition output) and
  convert to markdown table or pretty-printed code block before passing to MarkdownRenderer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 20:25:28 +00:00
..
app Fix 5 post-Phase8 bugs: SSE crash, custom templates, ordering, persistence, JSON display 2026-03-01 20:25:28 +00:00
components Add missing Badge component 2026-02-27 20:17:19 +00:00
cypress Phase 7: Testing Suite — backend unit tests + Cypress E2E framework 2026-02-26 16:49:23 +00:00
i18n Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
lib Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
models Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
public Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
store Fix 5 post-Phase8 bugs: SSE crash, custom templates, ordering, persistence, JSON display 2026-03-01 20:25:28 +00:00
types Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
utils Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
components.json Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
cypress.config.ts Phase 7: Testing Suite — backend unit tests + Cypress E2E framework 2026-02-26 16:49:23 +00:00
Dockerfile Phase 5: Fix export, slide edit, static files; add README 2026-02-27 15:40:36 +00:00
next-env.d.ts Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
next.config.mjs Phase 5: Fix export, slide edit, static files; add README 2026-02-27 15:40:36 +00:00
package-lock.json Rebrand Presenton to Oliver DeckForge, pre-configure models, use NanoBanana Pro 2026-02-26 18:17:11 +00:00
package.json Rebrand Presenton to Oliver DeckForge, pre-configure models, use NanoBanana Pro 2026-02-26 18:17:11 +00:00
postcss.config.mjs Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
README.md Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
tailwind.config.ts Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
tsconfig.json Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
tsconfig.tsbuildinfo Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.