add change dynamic theme color

This commit is contained in:
nikita 2025-09-28 04:20:20 +06:00
parent d81ed86920
commit 8a36bed032

View file

@ -2,6 +2,8 @@
dropdownOpen: false, dropdownOpen: false,
search: '', search: '',
allEntries: [], allEntries: [],
darkColorContent: getComputedStyle($el).getPropertyValue('--color-base'),
whiteColorContent: getComputedStyle($el).getPropertyValue('--color-white'),
init() { init() {
this.mounted(); this.mounted();
// Load all entries when component initializes // Load all entries when component initializes
@ -45,11 +47,16 @@
const darkModePreference = window.matchMedia('(prefers-color-scheme: dark)').matches; const darkModePreference = window.matchMedia('(prefers-color-scheme: dark)').matches;
const userSettings = localStorage.getItem('theme') || 'dark'; const userSettings = localStorage.getItem('theme') || 'dark';
localStorage.setItem('theme', userSettings); localStorage.setItem('theme', userSettings);
const themeMetaTag = document.querySelector('meta[name=theme-color]');
if (userSettings === 'dark') { if (userSettings === 'dark') {
document.documentElement.classList.add('dark'); document.documentElement.classList.add('dark');
themeMetaTag.setAttribute('content', this.darkColorContent);
this.theme = 'dark'; this.theme = 'dark';
} else if (userSettings === 'light') { } else if (userSettings === 'light') {
document.documentElement.classList.remove('dark'); document.documentElement.classList.remove('dark');
themeMetaTag.setAttribute('content', this.whiteColorContent);
this.theme = 'light'; this.theme = 'light';
} else if (darkModePreference) { } else if (darkModePreference) {
this.theme = 'system'; this.theme = 'system';