Wall06 commited on
Commit
3ff9928
·
verified ·
1 Parent(s): aef4d06

Upload 7 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ Racing[[:space:]]F1[[:space:]]GIF[[:space:]]by[[:space:]]Hello[[:space:]]Kitty.gif filter=lfs diff=lfs merge=lfs -text
37
+ Sticker[[:space:]]by[[:space:]]Hello[[:space:]]Kitty.gif filter=lfs diff=lfs merge=lfs -text
38
+ sys_asset_01.jpeg filter=lfs diff=lfs merge=lfs -text
Racing F1 GIF by Hello Kitty.gif ADDED

Git LFS Details

  • SHA256: dc9cdad535493d2b9ee7e7c82d0c119363ae6908830d92b0d2523839fb653dee
  • Pointer size: 131 Bytes
  • Size of remote file: 807 kB
Sticker by Hello Kitty.gif ADDED

Git LFS Details

  • SHA256: 05f3560423936c4c257ae7ad163fff3ffbd27aebde039e26a1641029b8ddebbc
  • Pointer size: 131 Bytes
  • Size of remote file: 142 kB
index.html CHANGED
@@ -1,19 +1,80 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Eesha's Vault </title>
7
+ <link rel="stylesheet" href="style.css">
8
+ </head>
9
+ <body>
10
+ <div id="app">
11
+ <section id="terminal" class="page active">
12
+ <div class="terminal-box">
13
+ <p id="typewriter"></p>
14
+ <button id="start-btn" class="hidden" onclick="nextSection('welcome')">Unlock the Magic ✨</button>
15
+ </div>
16
+ </section>
17
+
18
+ <section id="welcome" class="page hidden">
19
+ <div class="glass-card">
20
+ <h2 class="neon-text">TO MY BESTIE ❤️</h2>
21
+ <img src="sys_asset_01.jpeg" id="main-photo" alt="Special memory gallery for Eesha" class="profile-img" onclick="changePhoto()">
22
+ <p class="special-msg">"Eesha, you're the main character of this story!"</p>
23
+ <p class="tap-hint">Tap the photo to see our memories... ✨</p>
24
+ <button class="pink-btn" onclick="nextSection('game')">Ready to Play? →</button>
25
+ </div>
26
+ </section>
27
+
28
+ <section id="game" class="page hidden">
29
+ <div class="glass-card">
30
+ <h3 class="neon-text">Catch 10 Kitties!</h3>
31
+ <div class="score">Power Level: <span id="count">0</span>/10</div>
32
+ <div id="game-area">
33
+ <img src="Sticker by Hello Kitty.gif" id="target" alt="Floating kitty game target" onclick="catchKitty()">
34
+ </div>
35
+ </div>
36
+ </section>
37
+
38
+ <section id="gallery" class="page hidden">
39
+ <div class="glass-card">
40
+ <h2 class="neon-text">Achievement Unlocked!</h2>
41
+ <div class="photo-stack">
42
+ <img src="Racing F1 GIF by Hello Kitty.gif" alt="F1 Racing Kitty celebration" class="gallery-gif">
43
+ </div>
44
+ <button class="pink-btn" onclick="nextSection('stats')">View Bestie Stats →</button>
45
+ </div>
46
+ </section>
47
+
48
+ <section id="stats" class="page hidden">
49
+ <div class="glass-card">
50
+ <h2 class="neon-text">FRIENDSHIP ANALYTICS 📈</h2>
51
+ <div class="stats-grid">
52
+ <div class="stat-item"><span class="stat-label">Vibe Match</span><span class="stat-value">100%</span></div>
53
+ <div class="stat-item"><span class="stat-label">Secrets Kept</span><span class="stat-value">∞</span></div>
54
+ </div>
55
+ <button class="pink-btn" onclick="nextSection('cake-page')">Got a Surprise? 🎂</button>
56
+ </div>
57
+ </section>
58
+
59
+ <section id="cake-page" class="page hidden">
60
+ <div class="glass-card">
61
+ <h2 class="neon-text">A TREAT FOR YOU! 🎂</h2>
62
+ <div class="cake-container" onclick="cutCake()" role="button" aria-label="Click to cut the cake">
63
+ <div id="cake-left" class="cake-half left">
64
+ <div class="topping cherry"></div>
65
+ <div class="sprinkles"></div>
66
+ </div>
67
+ <div id="cake-right" class="cake-half right">
68
+ <div class="topping cherry"></div>
69
+ <div class="sprinkles"></div>
70
+ </div>
71
+ <div id="knife" class="knife"></div>
72
+ </div>
73
+ <p id="cake-msg" class="special-msg">Click the cake to cut a slice for Eesha!</p>
74
+ <button class="pink-btn hidden" id="final-btn" onclick="location.reload()">Best Friends Forever ❤️</button>
75
+ </div>
76
+ </section>
77
+ </div>
78
+ <script src="script.js"></script>
79
+ </body>
80
+ </html>
script.js ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Data Arrays - Filenames must match your folder exactly
2
+ const photos = ["sys_asset_01.jpeg", "sys_asset_02.jpeg"];
3
+ const messages = [
4
+ "Hey Eesha ✨",
5
+ "You’re something special.",
6
+ "Every memory hits different.",
7
+ "Pure vibes only.",
8
+ "You’re irreplaceable.",
9
+ "Ready for our world?"
10
+ ];
11
+
12
+ let currentPhotoIdx = 0, lineIdx = 0, charIdx = 0;
13
+
14
+ // Security: Disable right-click
15
+ document.addEventListener('contextmenu', event => event.preventDefault());
16
+
17
+ function typeWriter() {
18
+ const terminal = document.getElementById("typewriter");
19
+ if (lineIdx < messages.length) {
20
+ if (charIdx === 0) terminal.innerHTML += "> ";
21
+ if (charIdx < messages[lineIdx].length) {
22
+ terminal.innerHTML += messages[lineIdx].charAt(charIdx);
23
+ charIdx++;
24
+ setTimeout(typeWriter, 40);
25
+ } else {
26
+ terminal.innerHTML += "<br>";
27
+ lineIdx++; charIdx = 0; setTimeout(typeWriter, 600);
28
+ }
29
+ } else {
30
+ document.getElementById("start-btn").classList.remove("hidden");
31
+ }
32
+ }
33
+
34
+ function changePhoto() {
35
+ currentPhotoIdx = (currentPhotoIdx + 1) % photos.length;
36
+ document.getElementById("main-photo").src = photos[currentPhotoIdx];
37
+ }
38
+
39
+ function nextSection(id) {
40
+ document.querySelectorAll('.page').forEach(p => p.classList.add('hidden'));
41
+ document.getElementById(id).classList.remove('hidden');
42
+ if(id === 'game') moveTarget();
43
+ }
44
+
45
+ let score = 0;
46
+ function catchKitty() {
47
+ score++;
48
+ document.getElementById("count").innerText = score;
49
+ if (score >= 10) nextSection('gallery');
50
+ else moveTarget();
51
+ }
52
+
53
+ function moveTarget() {
54
+ const target = document.getElementById("target");
55
+ target.style.left = Math.random() * 240 + "px";
56
+ target.style.top = Math.random() * 190 + "px";
57
+ }
58
+
59
+ function cutCake() {
60
+ const knife = document.getElementById('knife');
61
+ knife.style.opacity = "1";
62
+ knife.style.top = "20px";
63
+ setTimeout(() => {
64
+ document.getElementById('cake-left').style.transform = "translateX(-35px) rotate(-10deg)";
65
+ document.getElementById('cake-right').style.transform = "translateX(35px) rotate(10deg)";
66
+ document.getElementById('cake-msg').innerText = "Perfectly cut for Eesha! 🍰";
67
+ document.getElementById('final-btn').classList.remove('hidden');
68
+ knife.style.opacity = "0";
69
+ }, 500);
70
+ }
71
+
72
+ // CRITICAL: Starts the animation when the window loads
73
+ window.onload = typeWriter;
style.css CHANGED
@@ -1,28 +1,58 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
- }
5
-
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
- }
10
-
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
- }
17
-
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
- }
25
-
26
- .card p:last-child {
27
- margin-bottom: 0;
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ --deep-purple: #1a1a2e;
3
+ --sunset-pink: #ff007f;
4
+ --midnight: #2d1b4e;
5
+ --neon-purple: #bc13fe;
6
+ }
7
+
8
+ body {
9
+ background: linear-gradient(135deg, var(--deep-purple) 0%, var(--midnight) 50%, var(--sunset-pink) 100%);
10
+ margin: 0; font-family: 'Segoe UI', sans-serif; color: white; height: 100vh; overflow: hidden;
11
+ }
12
+
13
+ .page { position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column; }
14
+ .hidden { display: none !important; }
15
+
16
+ /* Privacy & Interaction Fixes */
17
+ img {
18
+ -webkit-user-drag: none; /* Webkit drag prevention */
19
+ -webkit-user-select: none; /* Required for Safari - Fixes red error */
20
+ -ms-user-select: none;
21
+ user-select: none;
22
+ pointer-events: none;
23
+ }
24
+
25
+ #main-photo, #target, button, .cake-container {
26
+ pointer-events: auto !important;
27
+ }
28
+
29
+ /* Glassmorphism Fix for Safari */
30
+ .glass-card {
31
+ background: rgba(255, 255, 255, 0.05);
32
+ -webkit-backdrop-filter: blur(15px); /* Fixes Safari glass effect */
33
+ backdrop-filter: blur(15px);
34
+ border: 1px solid rgba(255, 255, 255, 0.1); padding: 30px; border-radius: 25px; text-align: center; width: 85%; max-width: 400px;
35
+ }
36
+
37
+ .neon-text { text-shadow: 0 0 10px var(--sunset-pink), 0 0 20px var(--neon-purple); }
38
+ .profile-img { width: 100%; max-height: 400px; object-fit: cover; border-radius: 15px; border: 3px solid var(--sunset-pink); margin: 20px 0; cursor: pointer; }
39
+
40
+ button { background: linear-gradient(45deg, var(--sunset-pink), var(--neon-purple)); color: white; border: none; padding: 14px 32px; border-radius: 50px; font-weight: bold; cursor: pointer; margin-top: 10px; }
41
+
42
+ /* Cake & Stats Styling */
43
+ .cake-container { position: relative; width: 200px; height: 150px; margin: 40px auto; display: flex; cursor: pointer; }
44
+ .cake-half { width: 100px; height: 100px; background: #ff69b4; border: 3px solid white; position: relative; transition: transform 0.8s ease; }
45
+ .left { border-radius: 100px 0 0 100px; }
46
+ .right { border-radius: 0 100px 100px 0; }
47
+ .topping.cherry { width: 20px; height: 20px; background: red; border-radius: 50%; position: absolute; top: -10px; left: 40px; border: 2px solid white; }
48
+ .sprinkles { width: 100%; height: 100%; position: absolute; background-image: radial-gradient(white 1px, transparent 1px), radial-gradient(#ffff00 1px, transparent 1px); background-size: 15px 15px; }
49
+ .knife { position: absolute; top: -50px; left: 45%; font-size: 2.5rem; transition: 0.5s; opacity: 0; z-index: 20; }
50
+ .knife::after { content: '🔪'; }
51
+
52
+ .terminal-box { font-family: 'Courier New', monospace; color: var(--sunset-pink); text-align: left; line-height: 1.6; }
53
+ #game-area { width: 100%; height: 250px; background: rgba(0,0,0,0.4); border-radius: 15px; position: relative; border: 2px solid var(--sunset-pink); overflow: hidden; }
54
+ #target { width: 50px; position: absolute; cursor: pointer; }
55
+ .stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin: 20px 0; }
56
+ .stat-item { background: rgba(255, 255, 255, 0.1); padding: 10px; border-radius: 10px; border: 1px solid var(--sunset-pink); }
57
+ .stat-label { font-size: 0.7rem; color: #ffcae3; display: block; }
58
+ .stat-value { font-size: 1.2rem; font-weight: bold; color: var(--sunset-pink); }
sys_asset_01.jpeg ADDED

Git LFS Details

  • SHA256: 0a46edd10873d355ed2ffdade2084a75c66e06543bdf03484cf3260af359ea3f
  • Pointer size: 131 Bytes
  • Size of remote file: 103 kB
sys_asset_02.jpeg ADDED