ชุด UX/UI asset สำหรับแดชบอร์ดเซิร์ฟเวอร์ Unturned — โทเคนสี/ตัวอักษร/ระยะ, โลโก้, ไอคอน และธีมที่เอาไปใช้กับ
public/index.html ได้ทันทีโดยไม่ต้องแก้ HTML · ไฟล์ทั้งหมดเป็น SVG/CSS เปิดดูได้ในเบราว์เซอร์
1 · Brand
Mark (มีพื้น)
brand/logo-mark.svg
Mono (ตามสี CSS)
ใช้ currentColor → กำหนดสีได้เอง
Favicon 16–32px
16px
ขนาดต่ำสุดที่ใช้ได้
Mark ≥ 24px · Horizontal ≥ 160px กว้าง · เว้นขอบรอบโลโก้ ≥ ¼ ความสูงของ mark
มาสคอตขนมจีน (ใช้ในแดชบอร์ด v2)
Hero / login · avatar · empty state — ห้ามวางทับข้อความหรือข้อมูลระบบ
(ภาพ 6 อารมณ์อยู่ใน brand/mascot-kanomjeen-sheet.png)
2 · สี
แบรนด์ (พาเลตต์ v2 · navy game-admin)
Navy 950 · bg --kj-navy-950 · #041326
Blue 500 · primary --kj-blue-500 · #2b63e8
Green 500 · success / Start --kj-green-500 · #00c86b
Red 500 · danger / Stop --kj-red-500 · #f0444e
พื้น/ตัวอักษร
Navy 850 · surface --kj-surface
Navy 700 · border --kj-border
สถานะ (ใช้คู่กับข้อความเสมอ ไม่ใช้สีล้วน)
3 · ตัวอักษร
ภาพรวมเซิร์ฟเวอร์ California 2
สถานะ/แมป/ผู้เล่น — ระดับหัวข้อย่อย
ข้อความเนื้อหา 14px · บรรทัด 1.5 — ฟอนต์หลัก Prompt (fallback Noto Sans Thai)
console log: Server Code: 85568392936768373
ลำดับฟอนต์: --kj-font-sans = Prompt (โหลดจาก Google Fonts) → Noto Sans Thai → IBM Plex Sans Thai → Sarabun
— ถ้าเน็ตหลุดหรือโหลดเว็บฟอนต์ไม่ได้ จะถอยไปใช้ฟอนต์ไทยในเครื่องอัตโนมัติ
4 · ไอคอน (แทน emoji เดิม)
ใช้คลาส kj-icon--* — สีมาจาก currentColor จึงเปลี่ยนสีตามปุ่ม/สถานะได้ทันที
dashboard
play
stop
restart
update
save
console
players
map
settings
files
plugins
workshop
backup
network
refresh
copy
shield
logout
alert
check
external
5 · ปุ่ม
เริ่มเซิร์ฟเวอร์
รีสตาร์ท
อัปเดตเกม
หยุด
คัดลอก Server Code
ตรวจใหม่
ปิดใช้งาน
ทุกปุ่มมีสถานะ hover / active (ยุบ 1px) / disabled และวงแหวนโฟกัสสำหรับคีย์บอร์ด
— เดิมแดชบอร์ดไม่มีสถานะโฟกัสเลย
6 · องค์ประกอบ
ออนไลน์ — KanomJeen · California 2
72%
Fake IP
169.254.92.23:62344
Commands.dat Config.txt (Server) WorkshopDownloadConfig.json
อินพุต + ข้อความช่วย
กด Enter เพื่อส่งคำสั่ง
คัดลอก Fake IP แล้ว
คอนโซล
[17:37:45] Steam assigned "FakeIP" address: 169.254.92.23:62344
[17:38:22] Discovered level "California2"
[17:39:07] Loading level: 100%
[17:38:21] Failed to load asset … CA_Javelin (ไม่กระทบการเข้าเล่น)
7 · ระยะ/มุม/เงา
8 · หน้าจอจริง (ถ่ายจากแดชบอร์ดที่รันอยู่)
ภาพชุดนี้ถูกถ่ายอัตโนมัติด้วย Chromium headless ผ่านสคริปต์ test/ui-check.mjs — รัน
npm run check:ui:shots เพื่อถ่ายใหม่ทับเมื่อ UI เปลี่ยน
เข้าสู่ระบบ — 1440×900 · การ์ดเดียวอยู่กลางจอ ฟอร์มมี label จริง
ภาพรวม — 1440×1119 (เต็มหน้า) · KPI 4 คอลัมน์ 2 แถว + การ์ดให้เพื่อนเข้า
คอนโซล — ส่งคำสั่ง + log สด อัปเดตทุก 4 วิ
ผู้เล่น — ตารางจัดชิด + ตัวเลข tabular
Workshop — การ์ดพร้อมแบนเนอร์/ชื่อไอเทมจริงจาก Steam
มือถือ 390px — KPI 2 คอลัมน์, ไม่มีสกอลแนวนอน
เมนูมือถือ — drawer + ฉากมืด, โฟกัสย้ายเข้าเมนูอัตโนมัติ
9 · กฎการทำงาน UX (interaction spec)
สถานะ ทุกอย่างที่โหลดได้มี 3 สถานะชัดเจน: กำลังโหลด (skeleton/spinner ปุ่ม) · ว่างเปล่า (ข้อความบอกเหตุ) · ผิดพลาด (toast สีแดง + แถบ “ออฟไลน์” ด้านบน)
ปุ่มที่พังไม่ได้ กด "หยุด" / "รีสตาร์ท" / "อัปเดต" / "ออกจากระบบ" ต้องยืนยันก่อนทุกครั้ง — แต่ปุ่มอ่านข้อมูลไม่ต้อง
Toast มุมขวาล่าง อายุ 3.4 วิ (2.2 วิ สำหรับข้อความสั้น) กดเพื่อปิดได้ · โหมดผิดพลาดเป็น role=alert
คีย์บอร์ด / โฟกัสช่องคำสั่ง (หน้าคอนโซล) · Ctrl +S บันทึกไฟล์/config · Esc ปิด modal/drawer · Tab วนอยู่ในกล่องที่เปิด
โฟกัส เปิด modal → โฟกัสเข้า modal · ปิด → คืนที่ปุ่มเดิม · เปิด drawer → เข้าที่เมนู · เลือกเมนู → โฟกัสไปที่เนื้อหา (ไม่ใช่กลับไปที่ปุ่มเมนู)
จอเล็ก ≤900px เมนูข้างกลายเป็น drawer (เมนูที่ปิดอยู่ตั้ง inert ไม่รับ Tab) · ≤640px ซ่อนข้อความปุ่มเหลือไอคอน · ≤560px KPI 2 คอลัมน์
จอใหญ่ KPI ล็อกไว้ 4 คอลัมน์ ไม่ให้แตกเป็นแถวละ 7 ใบ · กลุ่มตัวเลข 2 ช่องกว้างสุด 620px ไม่ยืดเต็มจอ
การเคลื่อนไหว เคารพ prefers-reduced-motion — ปิดอนิเมชัน/transition ทั้งหมด
สี สถานะใช้คู่ “จุดสี + ข้อความ” เสมอ ไม่สื่อด้วยสีเดี่ยว (ตาบอดสีใช้ได้)
10 · เอาไปใช้กับแดชบอร์ด
สถานะ: ใช้อยู่จริงแล้ว ใน public/index.html — ธีม + โลโก้ + ไอคอนถูกผูกที่ path
/assets-kanomjeen/… (mount ใน server.js)
ถ้าย้ายไปเครื่องอื่นหรือเสิร์ฟคนละ path ให้เพิ่มบรรทัดนี้ต่อท้าย <style> เดิม:
<link rel="stylesheet" href="KanomJeen_Unturned_Dashboard_UXUI_Assets/dashboard-theme.css">
ต้องการแค่ไฟล์เดียว: tokens/design-tokens.css · ถ้าจะเปลี่ยนไอคอน emoji เป็น SVG
ให้ใช้ <span class="kj-icon kj-icon--console"></span> แทน แล้วคงโครง HTML เดิมไว้
KanomJeen · Unturned Dashboard UX/UI Assets v1.1 — สร้าง 16 ก.ย. 2026 · ทุกไฟล์เป็น SVG/CSS ไม่มี dependency ภายนอก · หน้าจอจริงถ่ายด้วย npm run check:ui:shots