arkaos 2.97.0 → 2.98.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VERSION +1 -1
- package/dashboard/app/pages/personas/new.vue +67 -0
- package/package.json +1 -1
- package/pyproject.toml +1 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.98.0
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
// PR80 v2.98.0 — /personas/new wraps the 4-step AI PersonaWizard.
|
|
3
|
+
//
|
|
4
|
+
// Fills the dead link that PR78 introduced when it moved the New Persona
|
|
5
|
+
// button into the table header but never built the destination route.
|
|
6
|
+
//
|
|
7
|
+
// Wizard contract (defined in components/PersonaWizard.vue):
|
|
8
|
+
// @completed(persona) → wizard finished + saved; navigate to detail
|
|
9
|
+
// @cancelled → operator backed out; return to the table
|
|
10
|
+
//
|
|
11
|
+
// The wizard never auto-saves; every step is operator-confirmed inside
|
|
12
|
+
// the component, so this page is purely a hosting shell.
|
|
13
|
+
|
|
14
|
+
import type { Persona } from '~/types'
|
|
15
|
+
|
|
16
|
+
const toast = useToast()
|
|
17
|
+
|
|
18
|
+
function onCompleted(persona: Persona) {
|
|
19
|
+
toast.add({
|
|
20
|
+
title: 'Persona created',
|
|
21
|
+
description: `${persona.name} is ready in the library.`,
|
|
22
|
+
color: 'success',
|
|
23
|
+
icon: 'i-lucide-check-circle',
|
|
24
|
+
})
|
|
25
|
+
navigateTo(`/personas/${persona.id}`)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function onCancelled() {
|
|
29
|
+
navigateTo('/personas')
|
|
30
|
+
}
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<template>
|
|
34
|
+
<UDashboardPanel id="personas-new">
|
|
35
|
+
<template #header>
|
|
36
|
+
<UDashboardNavbar title="New Persona">
|
|
37
|
+
<template #leading>
|
|
38
|
+
<UButton
|
|
39
|
+
icon="i-lucide-arrow-left"
|
|
40
|
+
variant="ghost"
|
|
41
|
+
size="sm"
|
|
42
|
+
aria-label="Back to personas"
|
|
43
|
+
to="/personas"
|
|
44
|
+
/>
|
|
45
|
+
</template>
|
|
46
|
+
<template #trailing>
|
|
47
|
+
<UBadge
|
|
48
|
+
label="AI-assisted"
|
|
49
|
+
icon="i-lucide-sparkles"
|
|
50
|
+
color="primary"
|
|
51
|
+
variant="soft"
|
|
52
|
+
size="sm"
|
|
53
|
+
/>
|
|
54
|
+
</template>
|
|
55
|
+
</UDashboardNavbar>
|
|
56
|
+
</template>
|
|
57
|
+
|
|
58
|
+
<template #body>
|
|
59
|
+
<div class="max-w-5xl mx-auto py-2">
|
|
60
|
+
<PersonaWizard
|
|
61
|
+
@completed="onCompleted"
|
|
62
|
+
@cancelled="onCancelled"
|
|
63
|
+
/>
|
|
64
|
+
</div>
|
|
65
|
+
</template>
|
|
66
|
+
</UDashboardPanel>
|
|
67
|
+
</template>
|
package/package.json
CHANGED