feat(idea): create group auto-generates personas; channel removed; product->product/idea
Per product-idea focus: - GroupBuilder: 'สินค้า/บริการ/ไอเดีย' label; removed the channel select (channel is now chosen at chat time as a scenario, not at persona create). Create now auto-runs analyze so personas are generated immediately (no separate Analyze button). - GroupEdit: analyze button becomes 'สร้างบุคคลต้นแบบเพิ่มเติม' which APPENDS more personas (backend analyze?append=true reuses sales kit + keeps existing instead of replacing). - i18n product label updated. - User-journey test asserts append adds personas (15->30) and existing kept. All 9 backend suites pass. Rebuilt dist.
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
<h2 style="margin:0"><Users :size="22" :stroke-width="1.8" style="vertical-align:-4px" /> {{ i18n.t('managePersonas') }}</h2>
|
||||
<div class="row" style="margin-left:auto;gap:10px">
|
||||
<button @click="analyze" :disabled="busy" class="primary">
|
||||
<span v-if="busy" class="spinner"></span><Sparkles v-else :size="18" :stroke-width="1.8" /> {{ busy ? 'กำลังสร้าง…' : i18n.t('analyze') }}
|
||||
<span v-if="busy" class="spinner"></span><Sparkles v-else :size="18" :stroke-width="1.8" /> {{ busy ? 'กำลังสร้าง…' : 'สร้างบุคคลต้นแบบเพิ่มเติม' }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -17,15 +17,16 @@
|
||||
<div class="card guide">
|
||||
<strong>วิธีใช้หน้านี้</strong>
|
||||
<ol style="margin:8px 0 0;padding-left:20px;line-height:1.8">
|
||||
<li>กดปุ่ม <strong>✨ สร้าง/วิเคราะห์บุคคลต้นแบบ</strong> เพื่อให้ระบบสร้างลูกค้าจำลอง 15 คน (ระดับ A/B/C)</li>
|
||||
<li>ระบบสร้างบุคคลต้นแบบ (ลูกค้าจำลอง) ให้อัตโนมัติแล้ว หลังกดสร้าง</li>
|
||||
<li>แต่ละการ์ดคือลูกค้าจำลอง 1 คน — กด <strong>✏️ แก้ไข</strong> เพื่อปรับรายละเอียดให้ตรงใจ</li>
|
||||
<li>อยากได้ลูกค้าจำลองเพิ่ม กด <strong>สร้างบุคคลต้นแบบเพิ่มเติม</strong></li>
|
||||
<li>เมื่อพร้อมให้ผู้ใช้ฝึก กด <strong>เปิดใช้งาน</strong> (ยังทำในขั้นถัดไป)</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div v-if="personas.length === 0 && !busy" class="card empty-state">
|
||||
<strong>ยังไม่มีบุคคลต้นแบบ</strong>
|
||||
<span>กด "✨ สร้าง/วิเคราะห์บุคคลต้นแบบ" เพื่อให้ระบบสร้างลูกค้าจำลองให้</span>
|
||||
<span>กด "สร้างบุคคลต้นแบบเพิ่มเติม" เพื่อให้ระบบสร้างลูกค้าจำลองให้</span>
|
||||
</div>
|
||||
|
||||
<!-- Persona list -->
|
||||
@@ -83,7 +84,8 @@ function tierClass(t) { return { A: 'tier-a', B: 'tier-b', C: 'tier-c' }[t] || '
|
||||
async function analyze() {
|
||||
busy.value = true; error.value = ''
|
||||
try {
|
||||
const data = await api.analyzeGroup(gid)
|
||||
// Append more personas (keeps existing ones), per the 'create more personas' flow.
|
||||
const data = await api.analyzeGroup(gid, { append: true })
|
||||
personas.value = data.personas
|
||||
await load()
|
||||
} catch (e) { error.value = e.message }
|
||||
|
||||
Reference in New Issue
Block a user