diff --git a/src/app/new/NewDeckGallery.tsx b/src/app/new/NewDeckGallery.tsx index bd939e6..ce8156a 100644 --- a/src/app/new/NewDeckGallery.tsx +++ b/src/app/new/NewDeckGallery.tsx @@ -18,7 +18,6 @@ import { PageWorkbar, } from '@/components'; -import { SAMPLE_MARKDOWN } from '@/editor/sample-deck'; import { TEMPLATE_PRESETS, type TemplatePreset } from '@/app/templates/template-presets'; const STARTER_MARKDOWN = `--- @@ -57,10 +56,13 @@ const BLANK_TEMPLATE: TemplatePreset = { id: 'blank', name: 'Blank', vibe: 'Start from scratch', + category: 'case-study', styleId: 'modern', paletteId: 'electric', density: 'comfortable', mode: 'light', + seed: STARTER_MARKDOWN, + slideCount: 3, }; export function NewDeckGallery() { @@ -68,7 +70,7 @@ export function NewDeckGallery() { const create = async (preset: TemplatePreset) => { const deck = await createDeck({ - source: STARTER_MARKDOWN, + source: preset.seed, theme: { styleId: preset.styleId, paletteId: preset.paletteId, @@ -128,7 +130,7 @@ function BlankCard({ onClick }: { onClick: () => void }) { function TemplateCard({ preset, onClick }: { preset: TemplatePreset; onClick: () => void }) { const previewDeck = useMemo(() => { try { - const parsed = parseDeck(SAMPLE_MARKDOWN, { + const parsed = parseDeck(preset.seed, { theme: { styleId: preset.styleId, paletteId: preset.paletteId, @@ -177,8 +179,8 @@ function TemplateCard({ preset, onClick }: { preset: TemplatePreset; onClick: () ); } -function templateSlug(id: string): 'pitch' | 'editorial' | 'other' { - if (id.includes('pitch')) return 'pitch'; - if (id.includes('editorial')) return 'editorial'; +function templateSlug(id: string): 'case-study-pro' | 'case-study-editorial' | 'other' { + if (id === 'case-study-pro') return 'case-study-pro'; + if (id === 'case-study-editorial') return 'case-study-editorial'; return 'other'; } diff --git a/src/app/opengraph-image.tsx b/src/app/opengraph-image.tsx index 7a273c3..f343b49 100644 --- a/src/app/opengraph-image.tsx +++ b/src/app/opengraph-image.tsx @@ -46,22 +46,6 @@ export default function OpenGraphImage() { Open-source slide deck builder. Switch themes instantly. Export to PDF. - -
-
- stackdeck.octifytechnologies.com -
-
No backend. No accounts. No lock-in.
-
, { ...size }, ); diff --git a/src/app/templates/TemplatesGallery.tsx b/src/app/templates/TemplatesGallery.tsx index 51daf32..c3e2cbc 100644 --- a/src/app/templates/TemplatesGallery.tsx +++ b/src/app/templates/TemplatesGallery.tsx @@ -18,8 +18,6 @@ import { PageWorkbar, } from '@/components'; -import { SAMPLE_MARKDOWN } from '@/editor/sample-deck'; - import { TEMPLATE_PRESETS, type TemplatePreset } from './template-presets'; export function TemplatesGallery() { @@ -27,7 +25,7 @@ export function TemplatesGallery() { const applyTemplate = async (preset: TemplatePreset) => { const deck = await createDeck({ - source: SAMPLE_MARKDOWN, + source: preset.seed, theme: { styleId: preset.styleId, paletteId: preset.paletteId, @@ -47,7 +45,7 @@ export function TemplatesGallery() { back={{ href: '/', label: 'Library', ariaLabel: 'Back to library' }} title="Templates" count={`${TEMPLATE_PRESETS.length} ${TEMPLATE_PRESETS.length === 1 ? 'preset' : 'presets'}`} - subtitle="Hand-crafted theme combinations. Pick one to create a new deck." + subtitle="Premium starting points. Each is a fully composed deck, ready to customize." /> @@ -64,7 +62,7 @@ export function TemplatesGallery() { function TemplateCard({ preset, onClick }: { preset: TemplatePreset; onClick: () => void }) { const previewDeck = useMemo(() => { try { - const parsed = parseDeck(SAMPLE_MARKDOWN, { + const parsed = parseDeck(preset.seed, { theme: { styleId: preset.styleId, paletteId: preset.paletteId, @@ -73,7 +71,7 @@ function TemplateCard({ preset, onClick }: { preset: TemplatePreset; onClick: () }, }); const planned = planDeck(parsed); - return { ok: true as const, deck: { ...planned, slides: planned.slides.slice(0, 1) } }; + return { ok: true as const, deck: { ...planned, slides: planned.slides.slice(0, 3) } }; } catch (e) { const message = e instanceof ParseError ? e.message : (e as Error).message; return { ok: false as const, error: message }; @@ -85,16 +83,19 @@ function TemplateCard({ preset, onClick }: { preset: TemplatePreset; onClick: () return (