forked from ellite/Wallos
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommon.js
More file actions
115 lines (95 loc) · 3.85 KB
/
Copy pathcommon.js
File metadata and controls
115 lines (95 loc) · 3.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
let isDropdownOpen = false;
function toggleDropdown() {
const dropdown = document.querySelector('.dropdown');
dropdown.classList.toggle('is-open');
isDropdownOpen = !isDropdownOpen;
}
function showErrorMessage(message) {
const toast = document.querySelector(".toast#errorToast");
const closeIcon = document.querySelector(".close-error");
const errorMessage = document.querySelector(".errorMessage");
const progress = document.querySelector(".progress.error");
let timer1, timer2;
errorMessage.textContent = message;
toast.classList.add("active");
progress.classList.add("active");
timer1 = setTimeout(() => {
toast.classList.remove("active");
closeIcon.removeEventListener("click", () => { });
}, 5000);
timer2 = setTimeout(() => {
progress.classList.remove("active");
}, 5300);
closeIcon.addEventListener("click", () => {
toast.classList.remove("active");
setTimeout(() => {
progress.classList.remove("active");
}, 300);
clearTimeout(timer1);
clearTimeout(timer2);
closeIcon.removeEventListener("click", () => { });
});
}
function showSuccessMessage(message) {
const toast = document.querySelector(".toast#successToast");
const closeIcon = document.querySelector(".close-success");
const successMessage = document.querySelector(".successMessage");
const progress = document.querySelector(".progress.success");
let timer1, timer2;
successMessage.textContent = message;
toast.classList.add("active");
progress.classList.add("active");
timer1 = setTimeout(() => {
toast.classList.remove("active");
closeIcon.removeEventListener("click", () => { });
}, 5000);
timer2 = setTimeout(() => {
progress.classList.remove("active");
}, 5300);
closeIcon.addEventListener("click", () => {
toast.classList.remove("active");
setTimeout(() => {
progress.classList.remove("active");
}, 300);
clearTimeout(timer1);
clearTimeout(timer2);
closeIcon.removeEventListener("click", () => { });
});
}
document.addEventListener('DOMContentLoaded', function () {
const userLocale = navigator.language || navigator.languages[0];
document.cookie = `user_locale=${userLocale}; expires=Fri, 31 Dec 9999 23:59:59 GMT; SameSite=Strict`;
if (window.update_theme_settings) {
const prefersDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;
const themePreference = prefersDarkMode ? 'dark' : 'light';
const darkThemeCss = document.querySelector("#dark-theme");
darkThemeCss.disabled = themePreference === 'light';
// Preserve existing classes on the body tag
const existingClasses = document.body.className.split(' ').filter(cls => cls !== 'dark' && cls !== 'light');
document.body.className = [...existingClasses, themePreference].join(' ');
document.cookie = `inUseTheme=${themePreference}; expires=Fri, 31 Dec 9999 23:59:59 GMT; SameSite=Strict`;
const themeColorMetaTag = document.querySelector('meta[name="theme-color"]');
themeColorMetaTag.setAttribute('content', themePreference === 'dark' ? '#222222' : '#FFFFFF');
}
document.addEventListener('mousedown', function (event) {
var dropdown = document.querySelector('.dropdown');
var dropdownContent = document.querySelector('.dropdown-content');
if (!dropdown.contains(event.target) && isDropdownOpen) {
dropdown.classList.remove('is-open');
isDropdownOpen = false;
}
});
document.querySelector('.dropdown-content').addEventListener('focus', function () {
isDropdownOpen = true;
});
});
function getCookie(name) {
const cookies = document.cookie.split(';');
for (let cookie of cookies) {
cookie = cookie.trim();
if (cookie.startsWith(`${name}=`)) {
return cookie.substring(name.length + 1);
}
}
return null;
}