ux(flow): remove facebook/line channel everywhere (scenario chosen at chat); clarify 'how to start chatting'

- Removed channel + initiation displays: Training card, Personas card, GroupEdit card,
  Chat header, and the channel select in PersonaForm (scenario now determines who opens).
- Clarified the start-training flow: GroupEdit guide now says go to the Training tab ->
  pick product -> pick a customer -> Chat -> choose scenario -> talk; Personas guide
  spells out the Chat + scenario step.
Rebuilt dist.
This commit is contained in:
Macky
2026-08-09 11:08:14 +07:00
parent 5b167b4546
commit f8719d77e3
38 changed files with 49 additions and 60 deletions

View File

@@ -57,18 +57,9 @@
<label>กรอบเวลาในการตดสนใจ</label><input v-model="d.decision_timeline" />
</div>
<!-- Section: องทาง/โหมด -->
<div class="sec">
<h4>📡 องทาง & โหมด</h4>
<div class="row">
<div class="f"><label>องทาง</label>
<select v-model="d.channel"><option value="line">LINE</option><option value="facebook">Facebook</option></select>
</div>
<div class="f"><label>ใครเรมคยกอน</label>
<select v-model="d.initiation_mode"><option value="customer">ลูกค้าทักก่อน</option><option value="seller">เราต้องเริ่มขาย (เชิงรุก)</option></select>
</div>
</div>
<label class="muted" v-if="auth.isSuperAdmin && d.special">พิเศษ: {{ d.special }}</label>
<!-- Section: องทาง/โหมด (removed scenario chosen at chat time) -->
<div v-if="auth.isSuperAdmin && d.special" class="sec">
<label class="muted">เศษ: {{ d.special }}</label>
</div>
<div class="row actions">

View File

@@ -35,7 +35,6 @@
<div class="row" style="align-items:center;margin-bottom:12px">
<h2 style="margin:0">{{ persona ? persona.name : '...' }}</h2>
<span class="badge" :class="persona && persona.channel">{{ persona ? persona.channel : '' }}</span>
<span class="muted" v-if="persona">{{ persona.profession }} · {{ persona.age_group }}</span>
<span v-if="phase === 'done'" class="badge" :class="debrief && debrief.outcome">
{{ debrief && debrief.outcome === 'won' ? i18n.t('won') : i18n.t('lost') }}

View File

@@ -20,7 +20,7 @@
<li>ระบบสรางบคคลตนแบบ (กคาจำลอง) ใหตโนมแล หลงกดสราง</li>
<li>แตละการดคอลกคาจำลอง 1 คน กด <strong> แกไข</strong> เพอปรบรายละเอยดใหตรงใจ</li>
<li>อยากไดกคาจำลองเพ กด <strong>สรางบคคลตนแบบเพมเต</strong></li>
<li>เมอพอมใหใช กด <strong>เปดใชงาน</strong> (งทำในขนถดไป)</li>
<li><strong>มฝ:</strong> ไปทแท <strong>การฝ</strong> เลอกสนคาน เลอกลกคาจำลอง 1 คน กด <strong>แชท</strong> เลอกสถานการณ เรมค</li>
</ol>
</div>
@@ -42,7 +42,7 @@
<span v-for="n in 5" :key="n" class="star" :class="{ on: n <= (p.difficulty || 1) }"></span>
</div>
<div class="muted">{{ p.profession }} · {{ p.age_group }} · {{ p.location }}</div>
<div class="muted">{{ p.channel }} · {{ p.initiation_mode === 'seller' ? 'เริ่มขายเอง' : 'ลูกค้าทักก่อน' }}</div>
<div class="muted">{{ p.personality }}</div>
<button class="edit-btn" @click="openEdit(p)"><Pencil :size="15" :stroke-width="1.8" /> {{ i18n.t('edit') }}</button>
</div>
</div>

View File

@@ -10,7 +10,8 @@
<ol style="margin:8px 0 0;padding-left:20px;line-height:1.8">
<li>เลอกลกคาจำลอง (คคลตนแบบ) คนหนงทอยากฝกดวย</li>
<li>ระด A ายส ระด C ยากส (จากดาว ความยาก)</li>
<li>กดมสำหรบฝกแชทกกคาคนน (กไดคนละครงเทาน)</li>
<li>กด <strong>แชท</strong> เลอกสถานการณ (โซเช / พบหน-โทร / กลบมาตดต) เรมคยกบลกค</li>
<li>กคาจะตดสนใจเองวาซอหรอไม (กไดคนละครงเทาน)</li>
</ol>
</div>
@@ -34,8 +35,7 @@
</div>
<div class="muted">
{{ p.profession }} · {{ p.age_group }} · {{ p.location }}<br />
<span class="badge" :class="p.channel">{{ p.channel }}</span>
<span class="muted"> · {{ p.initiation_mode === 'seller' ? i18n.t('sellerInitiated') : i18n.t('customerInitiated') }}</span>
<span class="muted">{{ i18n.t('difficulty') }} {{ p.difficulty || 1 }}/5</span>
</div>
<div class="muted" style="margin-top:6px">{{ p.product_context }}</div>

View File

@@ -46,7 +46,6 @@
>
<div class="muted" style="margin:6px 0 12px">{{ productName(g) }}</div>
<div class="row" style="gap:8px">
<span class="badge" :class="g.channel || 'line'">{{ g.channel || 'line' }}</span>
<span class="muted">{{ personaCount(g) }} {{ i18n.t('personas').toLowerCase() }}</span>
</div>
<button class="primary" style="width:100%;margin-top:12px">