เอกสาร Waypoint
หน้าเว็บไซต์ หลังบ้าน

🎨 ธีม + ฟอนต์ + Dark Mode

ปรับแต่งหน้าตาระบบ — สี โหมดมืด/สว่าง ฟอนต์ ขนาด ไอคอน ภาษา (per-user)

เข้าหน้าตั้งค่าได้ยังไง

  1. คลิก avatar มุมขวาบน (megamenu)
  2. คลิก "การแสดงผล" (ไอคอนสีเขียว 🎨)
  3. เข้าหน้า admin/appearance.php
แต่ละ user ตั้งค่าของตัวเอง — ค่า admin คนนี้ไม่กระทบคนอื่น (เก็บใน cookie ของแต่ละ browser)

โหมดการแสดงผล

โหมดความหมาย
☀️ สว่างพื้นขาว text เข้ม ใช้ตอนกลางวัน
🌙 มืดพื้นดำ text สว่าง สบายตาตอนกลางคืน
🌓 Autoตาม system preference ของเครื่อง (prefers-color-scheme)

Dark mode ครอบคลุมอะไรบ้าง?

8 สีธีม

เลือกสีหลักของ UI — มีผลกับ:

ธีมทั้งหมด

ธีมสีหลักโทน
Deep Indigo (default)#4f46e5น้ำเงินม่วง ทันสมัย
Sunset Orange#ea580cส้ม สดใส อบอุ่น
Cherry Rose#be123cแดงเข้ม คลาสสิก
Teal Wave#0d9488เขียวฟ้า สดชื่น
Pastel Blush#db2777ชมพู
Pastel Lavender#7c3aedม่วง อ่อนโยน
Silver Mist#475569เทา เป็นกลาง
Pastel Sky#0284c7ฟ้า สดใส

Dark variant — แต่ละสีมีรุ่นโหมดมืดด้วย คลิกการ์ดใน "ธีมมืด" → set mode=dark + theme=สีนั้น

ขนาดตัวอักษร

6 ขนาดเลือก: 12px (เล็กมาก), 14px (เล็ก), 16px (ปกติ), 18px (ใหญ่), 20px (ใหญ่มาก), 22px (ใหญ่พิเศษ)

มีผลกับ:

💡 เหมาะกับ: ผู้สูงอายุ ผู้มีปัญหาสายตา หรือใช้บนจอใหญ่ — เลือก 18-22px จะอ่านสะดวกขึ้น

รูปแบบฟอนต์

16 ฟอนต์ไทยให้เลือก — โหลดจาก Google Fonts อัตโนมัติ

Sans-serif (ทั่วไป)

  • Sarabun — ค่าเริ่มต้น เป็นกลาง
  • Noto Sans Thai — อ่านง่าย
  • Kanit — ทันสมัย
  • Prompt — ชัดเจน
  • Niramit — สะอาด
  • K2D — เรียบหรู
  • Mitr — เป็นกันเอง
  • Krub — อ่านง่าย
  • IBM Plex Sans Thai — เป็นทางการ

Display / Decorative

  • Chonburi — ตัวหนา เด่น
  • Charm — ลายมือ
  • Mali — น่ารัก
  • Fahkwang — มี serif
  • Maitree — สง่างาม
  • Thasadith — เรียบง่าย
  • KoHo — เบาบาง

Preview: hover ที่ card ของฟอนต์ → ระบบโหลด font ทันที + แสดง preview "สวัสดี Alicia" ในฟอนต์นั้น

รูปแบบไอคอน

Flaticon Uicons มี 4 weights — เลือกได้:

StyleCodeลักษณะ
บางthinเส้นบาง ดูเบา
ปกติ (default)regularเส้นปานกลาง — แนะนำ
เต็มsolidสีทึบ ดูชัดเจน
หนาboldเส้นหนา เน้น

การเปลี่ยน: JS swap class prefix แบบ realtime — ทุกไอคอนเปลี่ยนทั้งระบบทันที (ไม่ต้องรีเฟรช)

ภาษา

เลือกภาษาแสดงผลของระบบ:

คลิกการ์ด → URL จะมี ?lang=th หรือ ?lang=en → set cookie + reload

สิ่งที่เปลี่ยน:
  • UI labels ทั้งหมด (ทั้ง public + admin)
  • Date format (พ.ศ. ↔ ค.ศ.)
  • หน่วยเวลา (ชม./h, นาที/min)
  • หน่วยระยะทาง (กม./km)
  • <html lang="th|en"> → ฟอนต์ swap อัตโนมัติ

เก็บค่าที่ไหน

ทุก setting เก็บ per-user ใน 2 ที่:

ที่หน้าที่อายุ
CookiePHP อ่านตอน render — apply ตั้งแต่ HTML แรก ไม่เกิด flicker365 วัน
localStorageJS อ่าน sync กับ cookie เผื่อกรณี cookie โดน clearตลอดไป (จนกว่า user จะลบ)

Cookie keys

Reset settings

ล่างสุดของหน้า — ปุ่ม "รีเซ็ตการตั้งค่า" → ลบ cookies ทั้งหมด + reload → กลับเป็น default