Implemented cryptomining, although its extremely bad optimized.

This commit is contained in:
2025-12-03 18:20:02 +01:00
commit c2d6d0b096
308 changed files with 56964 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
import { useState, useEffect, useCallback } from 'react';
const KONAMI_CODE = [
'ArrowUp', 'ArrowUp',
'ArrowDown', 'ArrowDown',
'ArrowLeft', 'ArrowRight',
'ArrowLeft', 'ArrowRight',
'KeyB', 'KeyA'
];
interface UseKonamiCodeReturn {
activated: boolean;
reset: () => void;
}
export const useKonamiCode = (): UseKonamiCodeReturn => {
const [keysPressed, setKeysPressed] = useState<string[]>([]);
const [activated, setActivated] = useState(false);
const [lastKeyTime, setLastKeyTime] = useState(0);
const reset = useCallback(() => {
setActivated(false);
setKeysPressed([]);
}, []);
useEffect(() => {
const handleKeyDown = (e: KeyboardEvent) => {
const now = Date.now();
// Reset if more than 2 seconds between keys
if (now - lastKeyTime > 2000) {
setKeysPressed([]);
}
setLastKeyTime(now);
const key = e.code;
setKeysPressed(prev => {
const newKeys = [...prev, key];
// Check if the sequence matches so far
const expectedKey = KONAMI_CODE[newKeys.length - 1];
if (key !== expectedKey) {
// Wrong key, reset
return [];
}
// Check if complete
if (newKeys.length === KONAMI_CODE.length) {
setActivated(true);
return [];
}
return newKeys;
});
};
window.addEventListener('keydown', handleKeyDown);
return () => window.removeEventListener('keydown', handleKeyDown);
}, [lastKeyTime]);
return { activated, reset };
};