Skip to content

Commit 24def92

Browse files
committed
FileKrypt First Commit
1 parent 84689d0 commit 24def92

32 files changed

Lines changed: 11702 additions & 0 deletions

app.js

Lines changed: 1240 additions & 0 deletions
Large diffs are not rendered by default.

assets/KryptLogo.svg

Lines changed: 1 addition & 0 deletions
Loading

background/bgchecker.css

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
/* ── Background Grid & Interactive Spotlights ── */
2+
.bg-grid {
3+
position: fixed;
4+
inset: 0;
5+
z-index: 0;
6+
pointer-events: none;
7+
/* Premium Checker Design: One Fade (0.02), One Normal (0.1) */
8+
background-image:
9+
conic-gradient(rgba(142, 182, 155, 0.1) 0deg 90deg,
10+
rgba(142, 182, 155, 0.02) 90deg 180deg,
11+
rgba(142, 182, 155, 0.1) 180deg 270deg,
12+
rgba(142, 182, 155, 0.02) 270deg);
13+
background-size: 100px 100px;
14+
background-position: 0 0;
15+
/* Mask image creates the mouse-following spotlight effect */
16+
-webkit-mask-image: radial-gradient(circle 500px at var(--mouseX, 50vw) var(--mouseY, 50vh), black 0%, transparent 100%);
17+
mask-image: radial-gradient(circle 500px at var(--mouseX, 50vw) var(--mouseY, 50vh), black 0%, transparent 100%);
18+
transition: opacity var(--trans);
19+
}
20+
21+
/* ── Decrypt Mode Background Variation ── */
22+
body.decrypt-mode .bg-grid {
23+
background-image:
24+
conic-gradient(rgba(232, 220, 196, 0.08) 0deg 90deg,
25+
rgba(232, 220, 196, 0.02) 90deg 180deg,
26+
rgba(232, 220, 196, 0.08) 180deg 270deg,
27+
rgba(232, 220, 196, 0.02) 270deg);
28+
}
29+
30+
/* ── Why Section Title Hover Effect ── */
31+
.why-title-wrapper {
32+
position: relative;
33+
display: inline-block;
34+
cursor: default;
35+
--mouse-x: -999px;
36+
--mouse-y: -999px;
37+
}
38+
39+
.why-title {
40+
font-size: 58px;
41+
margin-bottom: 24px;
42+
letter-spacing: -1.5px;
43+
font-weight: 800;
44+
margin: 0;
45+
white-space: nowrap;
46+
}
47+
48+
/* Static text layer */
49+
.main-layer {
50+
position: relative;
51+
z-index: 1;
52+
}
53+
54+
/* Hover reveal layer (flashlight effect) */
55+
.hover-layer {
56+
position: absolute;
57+
top: 0;
58+
left: 0;
59+
width: 100%;
60+
height: 100%;
61+
z-index: 2;
62+
pointer-events: none;
63+
/* Flashlight Mask Effect - 80px Soft Feathered Circle */
64+
-webkit-mask-image: radial-gradient(circle at var(--mouse-x) var(--mouse-y), black 0%, black 40px, transparent 80px);
65+
mask-image: radial-gradient(circle at var(--mouse-x) var(--mouse-y), black 0%, black 40px, transparent 80px);
66+
transition: none;
67+
}
68+
69+
/* ── Typography Colors ── */
70+
.why-accent {
71+
color: var(--accent);
72+
}
73+
74+
.why-white {
75+
color: #fff;
76+
}
77+
78+
/* ── Decrypt Mode Color Overrides for Why Section ── */
79+
body.decrypt-mode .why-accent {
80+
color: #E8DCC4;
81+
/* Base 'Why' and 'Krypt' turn beige */
82+
}
83+
84+
body.decrypt-mode .hover-layer .why-accent {
85+
color: #E8DCC4;
86+
/* 'File' turns beige when hovered */
87+
}
88+
89+
body.decrypt-mode .hover-layer .why-white {
90+
color: #fff;
91+
/* 'Why' and 'Krypt' turn white when hovered */
92+
}
93+
94+
/* ── Mobile & Tablet Responsiveness ── */
95+
@media (max-width: 1024px) {
96+
.bg-grid {
97+
animation: none !important;
98+
}
99+
100+
.water-ripple {
101+
display: none !important;
102+
}
103+
104+
/* Disable interactive background effects on mobile for stability */
105+
.bg-grid {
106+
-webkit-mask-image: none !important;
107+
mask-image: none !important;
108+
opacity: 0.08 !important;
109+
/* Static, subtle grid */
110+
}
111+
112+
.hover-layer {
113+
display: none !important;
114+
}
115+
116+
.bg-grid::after {
117+
display: none !important;
118+
}
119+
}

background/bgchecker.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// ─── Cursor Spotlight ─────────────────────────────────────
2+
const updateBgGridPos = (e) => {
3+
const bgGrid = document.querySelector('.bg-grid');
4+
if (bgGrid) {
5+
const x = e.clientX || (e.touches && e.touches[0].clientX);
6+
const y = e.clientY || (e.touches && e.touches[0].clientY);
7+
if (x !== undefined && y !== undefined) {
8+
bgGrid.style.setProperty('--mouseX', `${x}px`);
9+
bgGrid.style.setProperty('--mouseY', `${y}px`);
10+
}
11+
}
12+
};
13+
document.addEventListener('mousemove', updateBgGridPos);
14+
document.addEventListener('touchstart', updateBgGridPos, { passive: true });
15+
document.addEventListener('touchmove', updateBgGridPos, { passive: true });

0 commit comments

Comments
 (0)