ppt-tool/frontend
Vadym Samoilenko ae41562103 Phase 8: Data-driven slide architecture + template management overhaul
Replaces TSX/Babel compilation pipeline with a JSON element model:
- New _do_parse_v2(): 1 LLM call/layout (vs 2) classifies OXML geometry
  elements into placeholder types → JSON stored in layout_code
- SlideRenderer.tsx: renders JSON element model as %-positioned divs,
  no Babel compilation or runtime errors
- parseLayoutSchema.ts: isJsonLayoutCode() / parseLayoutSchema() /
  mergeElementsWithContent() — full JSON schema parsing layer
- useCustomTemplates.ts: transparent dual-format support (JSON + TSX)
  via parsedLayoutToCompiled() adapter

Template management improvements:
- PresentationLayoutCodeModel: +is_enabled (bool) +thumbnail_path (str)
- Migration 005: adds both columns to presentation_layout_codes
- DELETE /master-decks/{id}: hard delete (files + TemplateModel +
  PresentationLayoutCodeModel rows + MasterDeckModel)
- PATCH /template-management/layouts/{db_id}/toggle-enabled: new endpoint
- LayoutData response: +db_id, +is_enabled, +thumbnail_path
- _register_as_template(): stores thumbnail_path + is_enabled per layout

Admin UI:
- /admin/templates/ — list all custom templates with delete
- /admin/templates/[id]/ — layout grid with screenshots + enable/disable
- AdminSidebar: Templates nav item

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 20:05:25 +00:00
..
app Phase 8: Data-driven slide architecture + template management overhaul 2026-03-01 20:05:25 +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 Phase 4: Fix critical bugs, improve document parsing, add vision OCR 2026-02-27 14:07:00 +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.