- Paulina i PaweΕ Orzech -
- + +
+ ORZECH.ME Terminal v2.0
-
-
-
-
- Blog PawΕa
-
-
- Strona Pauliny
+
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+ −
+ □
+ ×
+
+
-
+
+
+ >
+
-
+ glitchTimer = setTimeout(doGlitch, 5000);
+}
+
+/* --- Easter Eggs --- */
+
+// Konami code
+const konamiSequence = ['ArrowUp','ArrowUp','ArrowDown','ArrowDown','ArrowLeft','ArrowRight','ArrowLeft','ArrowRight','KeyB','KeyA'];
+let konamiIndex = 0;
+
+function initKonamiCode() {
+ document.addEventListener('keydown', (e) => {
+ if (e.code === konamiSequence[konamiIndex]) {
+ konamiIndex++;
+ if (konamiIndex === konamiSequence.length) {
+ konamiIndex = 0;
+ triggerKonamiEasterEgg();
+ }
+ } else {
+ konamiIndex = 0;
+ }
+ });
+}
+
+function triggerKonamiEasterEgg() {
+ const flash = document.createElement('div');
+ flash.style.cssText = 'position:fixed;inset:0;z-index:10003;pointer-events:none;animation:konami-flash 1.5s ease forwards;';
+ document.body.appendChild(flash);
+ setTimeout(() => flash.remove(), 1500);
+
+ // Show a secret message
+ const msg = document.createElement('div');
+ msg.style.cssText = `position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10004;
+ font-family:'Press Start 2P',monospace;font-size:1.2rem;color:#ff00ff;text-align:center;
+ text-shadow:0 0 20px #ff00ff,0 0 40px #ff00ff;pointer-events:none;`;
+ msg.innerHTML = 'β
KONAMI CODE ACTIVATED β
YOU FOUND THE SECRET!
π°π°π°'; + document.body.appendChild(msg); + setTimeout(() => msg.remove(), 3000); +} + +// Nut easter egg +function initNutEasterEgg() { + const nutBtn = document.getElementById('nut-btn'); + const nutOverlay = document.getElementById('nut-overlay'); + const nutClose = document.getElementById('nut-close'); + + nutBtn.addEventListener('click', () => nutOverlay.classList.remove('hidden')); + nutBtn.addEventListener('keydown', (e) => { + if (e.key === 'Enter' || e.key === ' ') nutOverlay.classList.remove('hidden'); + }); + + nutClose.addEventListener('click', () => nutOverlay.classList.add('hidden')); + nutOverlay.addEventListener('click', (e) => { + if (e.target === nutOverlay) nutOverlay.classList.add('hidden'); + }); + document.addEventListener('keydown', (e) => { + if (e.key === 'Escape') nutOverlay.classList.add('hidden'); + }); +} + +/* --- Resize handler for matrix rain --- */ +function handleResize() { + const canvas = document.getElementById('matrix-canvas'); + if (!canvas.classList.contains('hidden')) { + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; + } +} + +/* --- Initialize Everything --- */ +window.addEventListener('load', async () => { + // Run boot sequence (handles skip logic internally) + await runBootSequence(); + + // Init theme + const savedTheme = localStorage.getItem('theme') || 'green'; + document.documentElement.setAttribute('data-theme', savedTheme); + document.querySelectorAll('.theme-btn').forEach(btn => { + btn.classList.toggle('active', btn.dataset.theme === savedTheme); + }); + if (savedTheme === 'hacker') { + document.getElementById('matrix-canvas').classList.remove('hidden'); + startMatrixRain(); + } + + // Init language + const savedLang = localStorage.getItem('language') || 'pl'; + setLanguage(savedLang); + + // Init clock + updateTimeDisplay(); + setInterval(updateTimeDisplay, 1000); + + // Init visitor counter + initVisitorCounter(); + + // Fetch Mastodon feed + fetchMastodonFeed(); + + // Theme buttons + document.querySelectorAll('.theme-btn').forEach(btn => { + btn.addEventListener('click', () => setTheme(btn.dataset.theme)); + }); + + // Language buttons + document.querySelectorAll('.lang-btn').forEach(btn => { + btn.addEventListener('click', () => setLanguage(btn.dataset.lang)); + }); + + // Easter eggs + initKonamiCode(); + initNutEasterEgg(); + + // Glitch effect + startGlitchEffect(); + + // Resize + window.addEventListener('resize', handleResize); +}); + - \ No newline at end of file +
Paulina i PaweΕ Orzech
+ █ +YOU FOUND THE SECRET!
π°π°π°'; + document.body.appendChild(msg); + setTimeout(() => msg.remove(), 3000); +} + +// Nut easter egg +function initNutEasterEgg() { + const nutBtn = document.getElementById('nut-btn'); + const nutOverlay = document.getElementById('nut-overlay'); + const nutClose = document.getElementById('nut-close'); + + nutBtn.addEventListener('click', () => nutOverlay.classList.remove('hidden')); + nutBtn.addEventListener('keydown', (e) => { + if (e.key === 'Enter' || e.key === ' ') nutOverlay.classList.remove('hidden'); + }); + + nutClose.addEventListener('click', () => nutOverlay.classList.add('hidden')); + nutOverlay.addEventListener('click', (e) => { + if (e.target === nutOverlay) nutOverlay.classList.add('hidden'); + }); + document.addEventListener('keydown', (e) => { + if (e.key === 'Escape') nutOverlay.classList.add('hidden'); + }); +} + +/* --- Resize handler for matrix rain --- */ +function handleResize() { + const canvas = document.getElementById('matrix-canvas'); + if (!canvas.classList.contains('hidden')) { + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; + } +} + +/* --- Initialize Everything --- */ +window.addEventListener('load', async () => { + // Run boot sequence (handles skip logic internally) + await runBootSequence(); + + // Init theme + const savedTheme = localStorage.getItem('theme') || 'green'; + document.documentElement.setAttribute('data-theme', savedTheme); + document.querySelectorAll('.theme-btn').forEach(btn => { + btn.classList.toggle('active', btn.dataset.theme === savedTheme); + }); + if (savedTheme === 'hacker') { + document.getElementById('matrix-canvas').classList.remove('hidden'); + startMatrixRain(); + } + + // Init language + const savedLang = localStorage.getItem('language') || 'pl'; + setLanguage(savedLang); + + // Init clock + updateTimeDisplay(); + setInterval(updateTimeDisplay, 1000); + + // Init visitor counter + initVisitorCounter(); + + // Fetch Mastodon feed + fetchMastodonFeed(); + + // Theme buttons + document.querySelectorAll('.theme-btn').forEach(btn => { + btn.addEventListener('click', () => setTheme(btn.dataset.theme)); + }); + + // Language buttons + document.querySelectorAll('.lang-btn').forEach(btn => { + btn.addEventListener('click', () => setLanguage(btn.dataset.lang)); + }); + + // Easter eggs + initKonamiCode(); + initNutEasterEgg(); + + // Glitch effect + startGlitchEffect(); + + // Resize + window.addEventListener('resize', handleResize); +}); + - \ No newline at end of file +