mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 19:46:20 +00:00
69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
import App from "resource:///com/github/Aylur/ags/app.js";
|
|
import options from "../options.js";
|
|
import themes from "../themes.js";
|
|
import { reloadScss } from "./scss.js";
|
|
import { setupHyprland } from "./hyprland.js";
|
|
import { wallpaper } from "./wallpaper.js";
|
|
|
|
/** @param {string} name */
|
|
export function setTheme(name) {
|
|
options.reset();
|
|
const theme = themes.find((t) => t.name === name);
|
|
if (!theme) return print("No theme named " + name);
|
|
|
|
options.apply(theme.options);
|
|
reloadScss();
|
|
setupHyprland();
|
|
wallpaper();
|
|
}
|
|
|
|
export const WP = App.configDir + "/assets/";
|
|
|
|
export const lightColors = {
|
|
"theme.scheme": "light",
|
|
"color.red": "#d20f39",
|
|
"color.green": "#40a02b",
|
|
"color.yellow": "#df8e1d",
|
|
"color.blue": "#1e66f5",
|
|
"color.magenta": "#8839ef",
|
|
"color.teal": "#179299",
|
|
"color.orange": "#fe640b",
|
|
"theme.bg": "transparentize(#eff1f5, 0.3)",
|
|
"theme.fg": "#4c4f69",
|
|
};
|
|
|
|
export const darkColors = {
|
|
"theme.scheme": "dark",
|
|
"color.red": "#e78284",
|
|
"color.green": "#a6d189",
|
|
"color.yellow": "#e5c890",
|
|
"color.blue": "#8caaee",
|
|
"color.magenta": "#ca9ee6",
|
|
"color.teal": "#81c8be",
|
|
"color.orange": "#ef9f76",
|
|
"theme.bg": "transparentize(#303446, 0.3)",
|
|
"theme.fg": "#c6d0f5",
|
|
};
|
|
|
|
export const Theme = ({ name, icon = " ", ...options }) => ({
|
|
name,
|
|
icon,
|
|
options: {
|
|
"theme.name": name,
|
|
"theme.icon": icon,
|
|
...options,
|
|
},
|
|
});
|
|
|
|
let settingsDialog;
|
|
export async function openSettings() {
|
|
if (settingsDialog) return settingsDialog.present();
|
|
|
|
try {
|
|
settingsDialog = (await import("./SettingsDialog.js")).default;
|
|
settingsDialog.present();
|
|
} catch (error) {
|
|
if (error instanceof Error) console.error(error.message);
|
|
}
|
|
}
|