- Chat: add 'How to practice' guide card; render revealed persona as readable label:value grid instead of JSON. - AdminUsers: switch create form to username (matches username login), add step guide, role explanation (user=ฝึก, admin=ดูแลระบบ). - Analytics (admin overview) + MyBoard (personal): add plain-Thai explainer subtitle. - Rebuild dist. Verified user create with username -> 201.
2 lines
3.4 KiB
JavaScript
2 lines
3.4 KiB
JavaScript
import{_ as f,k as x,c as o,a as e,t as l,u as d,i,H as w,w as u,v as c,C as U,e as g,F as k,p as V,q as y,r as p,o as n,z as h}from"./index-BhdfH8-z.js";const C={class:"card",style:{"margin-bottom":"16px"}},B={style:{"margin-top":"0"}},L={class:"row"},M={class:"row",style:{"margin-top":"10px"}},N=["disabled"],S={key:0,class:"error"},z={key:0,class:"card empty-state"},A={style:{flex:"1"}},D={class:"badge"},F={__name:"AdminUsers",setup(q){const v=p([]),r=p(""),t=p({username:"",name:"",password:"",role:"user"});async function m(){v.value=(await y.adminListUsers()).users}async function _(){r.value="";try{await y.adminCreateUser({...t.value}),t.value={username:"",name:"",password:"",role:"user"},await m()}catch(b){r.value=b.message}}return x(m),(b,a)=>(n(),o("div",null,[e("h2",null,"👥 "+l(d(i).t("users")),1),a[6]||(a[6]=w('<div class="card guide" data-v-6b85bc80><strong data-v-6b85bc80>📋 วิธีเพิ่มผู้ใช้งาน</strong><ol style="margin:8px 0 0;padding-left:20px;line-height:1.8;" data-v-6b85bc80><li data-v-6b85bc80>กรอก <strong data-v-6b85bc80>ชื่อผู้ใช้ (สำหรับเข้าสู่ระบบ)</strong>, ชื่อ, และรหัสผ่านเริ่มต้น</li><li data-v-6b85bc80>เลือกสิทธิ์: <strong data-v-6b85bc80>user</strong> = ผู้เข้าฝึกขาย, <strong data-v-6b85bc80>admin</strong> = จัดการระบบ</li><li data-v-6b85bc80>กด <strong data-v-6b85bc80>สร้าง</strong> — นำชื่อผู้ใช้ + รหัสผ่านไปแจ้งให้ผู้ใช้นั้นเข้าสู่ระบบได้เลย</li></ol></div>',1)),e("div",C,[e("h4",B,"+ "+l(d(i).t("create"))+" "+l(d(i).t("users").toLowerCase()),1),e("div",L,[u(e("input",{"onUpdate:modelValue":a[0]||(a[0]=s=>t.value.username=s),placeholder:"ชื่อผู้ใช้ (เข้าสู่ระบบ)",style:{flex:"1"}},null,512),[[c,t.value.username]]),u(e("input",{"onUpdate:modelValue":a[1]||(a[1]=s=>t.value.name=s),placeholder:"ชื่อจริง",style:{flex:"1"}},null,512),[[c,t.value.name]]),u(e("input",{"onUpdate:modelValue":a[2]||(a[2]=s=>t.value.password=s),type:"password",placeholder:"รหัสผ่านเริ่มต้น",style:{flex:"1"}},null,512),[[c,t.value.password]])]),e("div",M,[u(e("select",{"onUpdate:modelValue":a[3]||(a[3]=s=>t.value.role=s),style:{flex:"1"}},[...a[4]||(a[4]=[e("option",{value:"user"},"🙂 user — ผู้เข้าฝึก",-1),e("option",{value:"admin"},"🛠 admin — ผู้ดูแลระบบ",-1)])],512),[[U,t.value.role]]),e("button",{class:"primary",onClick:_,disabled:!t.value.username||!t.value.password},"+ "+l(d(i).t("create")),9,N)]),r.value?(n(),o("div",S,l(r.value),1)):g("",!0)]),v.value.length===0?(n(),o("div",z,[...a[5]||(a[5]=[e("strong",null,"ยังไม่มีผู้ใช้งาน",-1),e("span",null,"สร้างผู้ใช้งานคนแรกด้วยฟอร์มด้านบน",-1)])])):g("",!0),(n(!0),o(k,null,V(v.value,s=>(n(),o("div",{class:"card",key:s.id,style:{"margin-bottom":"8px",display:"flex","align-items":"center",gap:"12px"}},[e("strong",A,l(s.name)+" ("+l(s.username)+")",1),e("span",D,l(s.role),1),e("span",{class:h(["badge",s.active?"won":"lost"])},l(s.active?"active":"inactive"),3)]))),128))]))}},H=f(F,[["__scopeId","data-v-6b85bc80"]]);export{H as default};
|