Skip to content

Commit 73ca771

Browse files
Update script.js
1 parent 5af1453 commit 73ca771

1 file changed

Lines changed: 18 additions & 48 deletions

File tree

script.js

Lines changed: 18 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
(function(){
2-
// ===== Theme bootstrap (before any paints if possible) =====
2+
// Early theme apply
33
try {
44
var htmlEl = document.documentElement;
55
var stored = localStorage.getItem('metridex.theme');
@@ -11,67 +11,37 @@
1111
} catch(e) {}
1212

1313
document.addEventListener('DOMContentLoaded', function(){
14-
// Existing smooth scroll + your code:
15-
document.addEventListener('DOMContentLoaded', () => {
16-
// 🔽 Плавная прокрутка к якорям
17-
const links = document.querySelectorAll('nav ul li a[href^="#"]');
18-
for (const link of links) {
19-
link.addEventListener('click', function (e) {
20-
e.preventDefault();
21-
const targetId = this.getAttribute('href').substring(1);
22-
const targetEl = document.getElementById(targetId);
23-
if (targetEl) {
24-
window.scrollTo({
25-
top: targetEl.offsetTop - 40,
26-
behavior: 'smooth'
27-
});
28-
}
29-
});
30-
}
31-
32-
// 🌓 Переключение темы
33-
const themeToggle = document.getElementById('theme-toggle');
34-
const htmlEl = document.documentElement;
35-
36-
themeToggle.addEventListener('click', () => {
37-
const currentTheme = htmlEl.getAttribute('data-theme');
38-
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
39-
htmlEl.setAttribute('data-theme', newTheme);
40-
themeToggle.textContent = newTheme === 'dark' ? '🌙' : '☀️';
41-
});
42-
});
14+
// Year
15+
var y = document.getElementById('year'); if(y){ y.textContent = new Date().getFullYear(); }
4316

44-
45-
// ===== Reliable theme toggle =====
17+
// Theme toggle
4618
try {
47-
var htmlEl = document.documentElement;
4819
var btn = document.getElementById('theme-toggle');
49-
if(btn && htmlEl){
50-
// set initial icon based on theme
51-
var current = htmlEl.getAttribute('data-theme') || 'dark';
52-
btn.textContent = (current === 'dark') ? '🌙' : '☀️';
20+
if(btn){
21+
var cur = document.documentElement.getAttribute('data-theme') || 'dark';
22+
btn.textContent = (cur === 'dark') ? '🌙' : '☀️';
5323
btn.addEventListener('click', function(){
54-
var cur = htmlEl.getAttribute('data-theme') || 'dark';
55-
var next = (cur === 'dark') ? 'light' : 'dark';
56-
htmlEl.setAttribute('data-theme', next);
57-
try { localStorage.setItem('metridex.theme', next); } catch(e) {}
24+
var now = document.documentElement.getAttribute('data-theme') || 'dark';
25+
var next = (now === 'dark') ? 'light' : 'dark';
26+
document.documentElement.setAttribute('data-theme', next);
27+
try{ localStorage.setItem('metridex.theme', next); }catch(e){}
5828
btn.textContent = (next === 'dark') ? '🌙' : '☀️';
5929
}, {passive:true});
6030
}
61-
} catch(e){ console && console.warn && console.warn('Theme toggle init failed', e); }
31+
} catch(e){}
6232

63-
// ===== Bot CTA normalizer (no layout changes) =====
64-
try {
65-
var candidates = ['a[href="#bot"]','a[data-bot]','a#bot','#open-bot','#connect-bot'];
66-
for (var i=0;i<candidates.length;i++){
67-
var el = document.querySelector(candidates[i]);
33+
// Normalize a placeholder CTA (if present) to the bot link without moving layout
34+
try{
35+
var cands = ['a[href="#bot"]','a[data-bot]','a#bot','#open-bot','#connect-bot'];
36+
for (var i=0;i<cands.length;i++){
37+
var el = document.querySelector(cands[i]);
6838
if(el){
6939
el.setAttribute('href','https://t.me/MetridexBot');
7040
el.setAttribute('target','_blank');
7141
el.setAttribute('rel','noopener');
7242
break;
7343
}
7444
}
75-
} catch(e){}
45+
}catch(e){}
7646
});
7747
})();

0 commit comments

Comments
 (0)