🎨 ระบบธีมที่มีมาในตัว (Built-in Theme System) ของ iBrowe
iBrowe มาพร้อมกับธีม UI พื้นฐาน 2 แบบ คือ Dark และ Light
🌈 พฤติกรรมการเลือกธีมโดยค่าเริ่มต้น (Default Theme Behavior)
Light Theme ถูกตั้งเป็นค่าเริ่มต้นใน:
- Release Channel
- Beta Channel
Dark Theme ถูกตั้งเป็นค่าเริ่มต้นใน:
- Dev Channel
- Local Development Builds
🧩 การทำงานร่วมกับ WebUI (WebUI Integration)
ตั้งแต่ PR #774 เป็นต้นมา iBrowe มีการเปิดใช้งาน WebUI APIs ที่ช่วยให้สามารถ อ่านค่า, ตั้งค่า หรือสังเกตการเปลี่ยนแปลงของธีมที่ใช้งานอยู่ ได้ ผ่าน chrome.ibroweTheme
ประเภทธีมที่มีให้ใช้งาน (Available Theme Types):
type ThemeType = ‘Light’ | ‘Dark’
🔍 ดึงธีมปัจจุบัน (Get Current Theme) :
chrome.ibroweTheme.getIboweThemeType((themeType: ThemeType) => { console.log(“Current theme:”, themeType); });
คำอธิบาย: คำสั่งนี้ใช้สำหรับ ดึงค่าธีมปัจจุบันที่กำลังใช้งานอยู่ แล้วพิมพ์ออกทาง console เช่น “Current theme: Dark” หรือ “Current theme: Light”
🖊️ ตั้งค่าธีม (Set Theme) :
chrome.ibroweTheme.setIboweThemeType(‘Dark’); // หรือ ‘Light’
คำอธิบาย: คำสั่งนี้ใช้สำหรับ ตั้งค่าธีมที่ต้องการ ให้เป็น Dark หรือ Light ตามที่ระบุ
👂 สังเกตการเปลี่ยนแปลงของธีม (Observe Theme Changes) : chrome.ibroweTheme.onIboweThemeTypeChanged.addListener((themeType: ThemeType) => { console.log(“Theme changed to:”, themeType); });
คำอธิบาย: คำสั่งนี้ใช้สำหรับ ตรวจจับเมื่อมีการเปลี่ยนแปลงธีม ระบบจะสั่ง console.log แจ้งว่าเปลี่ยนไปเป็นธีมอะไร เช่น “Theme changed to: Dark” หรือ “Theme changed to: Light”
📎 ที่มา: ดัดแปลงจากเอกสาร API การจัดการธีมของ Brave และ PR #774 — เรียบเรียงใหม่เพื่อใช้กับโปรเจกต์ iBrowe