|
|
- import { SettingsMenuDorakoUI } from "./menu.js";
- import { refreshChat } from "./settings.js";
-
- export class ThemeSettings extends SettingsMenuDorakoUI {
- static namespace = "theme";
-
- static SETTINGS = [
- "app-theme",
- "window-app-theme",
- "sheet-theme-color",
- "chat-message-standard-theme",
- "chat-message-opposition-theme",
- "chat-message-header-style",
- "border-radius",
- ];
-
- static get settings() {
- return {
- "app-theme": {
- name: "pf2e-dorako-ui.settings.theme.app-theme.name",
- hint: "pf2e-dorako-ui.settings.theme.app-theme.hint",
- scope: "client",
- config: true,
- default: "crb",
- type: String,
- choices: {
- "no-theme": "pf2e-dorako-ui.text.no-theme",
- crb: "pf2e-dorako-ui.text.glass",
- foundry2: "pf2e-dorako-ui.text.foundry2",
- bg3: "pf2e-dorako-ui.text.bg3",
- discord: "pf2e-dorako-ui.text.discord",
- opaque: "pf2e-dorako-ui.text.opaque",
- custom: "pf2e-dorako-ui.text.custom",
- },
- requiresReload: true, // re-render all windows
- onChange: (choice) => {},
- },
- "window-app-theme": {
- name: "pf2e-dorako-ui.settings.theme.window-app-theme.name",
- hint: "pf2e-dorako-ui.settings.theme.window-app-theme.hint",
- scope: "client",
- config: true,
- default: "crb-light",
- type: String,
- choices: {
- "no-theme": "pf2e-dorako-ui.text.no-theme",
- "crb-light": "pf2e-dorako-ui.text.crb-light",
- "crb-dark": "pf2e-dorako-ui.text.crb-dark",
- foundry2: "pf2e-dorako-ui.text.foundry2",
- bg3: "pf2e-dorako-ui.text.bg3",
- "discord-light": `pf2e-dorako-ui.text.discord-light`,
- "discord-dark": "pf2e-dorako-ui.text.discord-dark",
- "custom-light": "pf2e-dorako-ui.text.custom-light",
- "custom-dark": "pf2e-dorako-ui.text.custom-dark",
- },
- requiresReload: true, // re-render all windows
- onChange: (choice) => {},
- },
- "sheet-theme-color": {
- name: "pf2e-dorako-ui.settings.theme.sheet-theme-color.name",
- hint: "pf2e-dorako-ui.settings.theme.sheet-theme-color.hint",
- scope: "client",
- config: true,
- default: "default",
- type: String,
- choices: {
- default: "pf2e-dorako-ui.text.default",
- red: "pf2e-dorako-ui.text.colors.red",
- green: "pf2e-dorako-ui.text.colors.green",
- blue: "pf2e-dorako-ui.text.colors.blue",
- purple: "pf2e-dorako-ui.text.colors.purple",
- black: "pf2e-dorako-ui.text.colors.black",
- },
- requiresReload: false,
- onChange: () => {
- const apps = Object.values(ui.windows).filter((w) => w instanceof Application);
- for (const app of apps) {
- app.render();
- }
- },
- },
- "chat-message-standard-theme": {
- name: "pf2e-dorako-ui.settings.theme.chat-message-standard-theme.name",
- hint: "pf2e-dorako-ui.settings.theme.chat-message-standard-theme.hint",
- scope: "client",
- config: true,
- default: "crb-light",
- type: String,
- choices: {
- "no-theme": "pf2e-dorako-ui.text.no-theme",
- "crb-light": "pf2e-dorako-ui.text.crb-light",
- "crb-dark": "pf2e-dorako-ui.text.crb-dark",
- foundry2: "pf2e-dorako-ui.text.foundry2",
- "bg3-brown": "pf2e-dorako-ui.text.bg3-brown",
- "bg3-blue": "pf2e-dorako-ui.text.bg3-blue",
- "discord-light": `pf2e-dorako-ui.text.discord-light`,
- "discord-dark": "pf2e-dorako-ui.text.discord-dark",
- "custom-light": "pf2e-dorako-ui.text.custom-light",
- "custom-dark": "pf2e-dorako-ui.text.custom-dark",
- },
- requiresReload: true, // re-render all windows
- onChange: (choice) => {},
- },
- "chat-message-opposition-theme": {
- name: "pf2e-dorako-ui.settings.theme.chat-message-opposition-theme.name",
- hint: "pf2e-dorako-ui.settings.theme.chat-message-opposition-theme.hint",
- scope: "client",
- config: true,
- default: "bg3-brown",
- type: String,
- choices: {
- "no-theme": "pf2e-dorako-ui.text.no-theme",
- "crb-light": "pf2e-dorako-ui.text.crb-light",
- "crb-dark": "pf2e-dorako-ui.text.crb-dark",
- foundry2: "pf2e-dorako-ui.text.foundry2",
- "bg3-brown": "pf2e-dorako-ui.text.bg3-brown",
- "bg3-blue": "pf2e-dorako-ui.text.bg3-blue",
- "discord-light": `pf2e-dorako-ui.text.discord-light`,
- "discord-dark": "pf2e-dorako-ui.text.discord-dark",
- "custom-light": "pf2e-dorako-ui.text.custom-light",
- "custom-dark": "pf2e-dorako-ui.text.custom-dark",
- },
- requiresReload: true, // re-render all windows
- onChange: (choice) => {},
- },
- "chat-message-header-style": {
- name: "pf2e-dorako-ui.settings.theme.chat-message-header-style.name",
- hint: "pf2e-dorako-ui.settings.theme.chat-message-header-style.hint",
- scope: "client",
- config: true,
- default: "none",
- type: String,
- choices: {
- tint: "pf2e-dorako-ui.text.colors.player",
- red: "pf2e-dorako-ui.text.colors.red",
- green: "pf2e-dorako-ui.text.colors.green",
- blue: "pf2e-dorako-ui.text.colors.blue",
- none: "pf2e-dorako-ui.text.disabled",
- },
- requiresReload: false,
- onChange: refreshChat,
- },
- "border-radius": {
- name: "pf2e-dorako-ui.settings.theme.border-radius.name",
- hint: "pf2e-dorako-ui.settings.theme.border-radius.hint",
- scope: "client",
- type: Number,
- default: 3,
- range: {
- min: 0,
- max: 48,
- step: 1,
- },
- config: true,
- requiresReload: false,
- onChange: (value) => {
- const root = document.querySelector(":root").style;
- root.setProperty("--border-radius", `${value}px`);
- },
- },
- };
- }
- }
|