diff --git a/src/app/(dashboard)/playbooks/page.tsx b/src/app/(dashboard)/playbooks/page.tsx index 8d47582..d564b82 100644 --- a/src/app/(dashboard)/playbooks/page.tsx +++ b/src/app/(dashboard)/playbooks/page.tsx @@ -87,7 +87,7 @@ export default function PlaybooksPage() { }; const advanceStep = async (p: PlaybookProgress) => { - const steps: PlaybookStep[] = selectedPlaybook ? JSON.parse(selectedPlaybook.steps_json) : []; + const steps: (string | PlaybookStep)[] = selectedPlaybook ? JSON.parse(selectedPlaybook.steps_json) : []; const nextStep = p.current_step + 1; const isComplete = nextStep > steps.length; await fetch('/api/phase2', { @@ -124,7 +124,7 @@ export default function PlaybooksPage() { }; if (selectedPlaybook) { - const steps: PlaybookStep[] = (() => { try { return JSON.parse(selectedPlaybook.steps_json); } catch { return []; } })(); + const steps: (string | PlaybookStep)[] = (() => { try { return JSON.parse(selectedPlaybook.steps_json); } catch { return []; } })(); return (
@@ -162,16 +162,23 @@ export default function PlaybooksPage() { {/* Steps Overview */} startEdit(selectedPlaybook)} className="text-xs text-[#0098C7] hover:text-[#007ba3] font-medium">Edit}>
- {steps.map((step, i) => ( -
-
{step.step}
-
-
{step.title}
-
{step.description}
-
{step.duration}
+ {steps.map((step, i) => { + const isString = typeof step === 'string'; + const title = isString ? step : step.title; + const desc = isString ? null : step.description; + const dur = isString ? null : step.duration; + const num = isString ? i + 1 : step.step; + return ( +
+
{num}
+
+
{title}
+ {desc &&
{desc}
} + {dur &&
{dur}
} +
-
- ))} + ); + })}
@@ -226,7 +233,7 @@ export default function PlaybooksPage() {
{playbooks.map(pb => { - const steps: PlaybookStep[] = (() => { try { return JSON.parse(pb.steps_json); } catch { return []; } })(); + const steps: (string | PlaybookStep)[] = (() => { try { return JSON.parse(pb.steps_json); } catch { return []; } })(); return (