Muskan10sharma commited on
Commit
39b4cde
Β·
verified Β·
1 Parent(s): 59319a1

Create templates/index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +209 -0
templates/index.html ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>DistractIQ – Focus Intelligence</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com"/>
8
+ <link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Syne:wght@400;600;800&display=swap" rel="stylesheet"/>
9
+ <link rel="stylesheet" href="/static/style.css"/>
10
+ </head>
11
+ <body>
12
+ <canvas id="galaxy"></canvas>
13
+ <div id="toast" class="toast"></div>
14
+
15
+ <!-- ── SCREEN 1: LOGIN ── -->
16
+ <div id="s-login" class="screen active">
17
+ <div class="login-wrap">
18
+ <div class="logo-block">
19
+ <div class="logo-icon">🧠</div>
20
+ <h1 class="logo-text">DistractIQ</h1>
21
+ <p class="logo-sub">AI-Powered Focus Intelligence</p>
22
+ </div>
23
+ <div class="glass login-card">
24
+ <h2>Enter the Zone</h2>
25
+ <p class="muted">What should we call you, warrior?</p>
26
+ <input id="name-in" class="neon-input" type="text" placeholder="Your name…" maxlength="20"/>
27
+ <button class="btn-neon" onclick="doLogin()">Launch Dashboard <span class="arr">β†’</span></button>
28
+ </div>
29
+ <p class="ver">v2.0 Β· Galaxy Edition</p>
30
+ </div>
31
+ </div>
32
+
33
+ <!-- ── SCREEN 2: QUIZ ── -->
34
+ <div id="s-quiz" class="screen">
35
+ <div class="quiz-wrap">
36
+ <div class="quiz-top">
37
+ <div class="qprog-bar"><div id="qprog" class="qprog-fill"></div></div>
38
+ <p id="qlabel" class="qlabel">Question 1 of 4</p>
39
+ </div>
40
+ <div id="qcard" class="glass quiz-card">
41
+ <div id="qemoji" class="qemoji">πŸ•</div>
42
+ <h2 id="qtext">Loading…</h2>
43
+ <div id="qopts" class="qopts"></div>
44
+ </div>
45
+ </div>
46
+ </div>
47
+
48
+ <!-- ── SCREEN 3: INPUTS ── -->
49
+ <div id="s-input" class="screen">
50
+ <div class="inp-wrap">
51
+ <div id="inp-card" class="glass inp-card">
52
+ <div id="inp-icon" class="inp-icon">πŸ“š</div>
53
+ <h2 id="inp-title">Study Hours Today</h2>
54
+ <p id="inp-desc" class="muted">How many hours did you study?</p>
55
+ <div class="slider-block">
56
+ <input id="inp-slider" type="range" min="0" max="16" step="0.5" value="4"
57
+ oninput="onSlide(this.value)"/>
58
+ <div class="slider-display">
59
+ <span id="slid-val" class="slid-val">4</span>
60
+ <span id="slid-unit" class="slid-unit">hrs</span>
61
+ </div>
62
+ </div>
63
+ <button class="btn-neon" onclick="nextInp()">Confirm <span class="arr">βœ“</span></button>
64
+ </div>
65
+ <div id="inp-dots" class="inp-dots"></div>
66
+ </div>
67
+ </div>
68
+
69
+ <!-- ── SCREEN 4: DASHBOARD ── -->
70
+ <div id="s-dash" class="screen">
71
+
72
+ <div class="topbar">
73
+ <span id="greeting" class="greeting">Hey! πŸ‘‹</span>
74
+ <div class="topbar-r">
75
+ <button class="ico-btn" onclick="toggleTheme()" title="Theme">πŸŒ™</button>
76
+ <div class="streak-chip" onclick="showTab('streaks')">πŸ”₯ <span id="streak-ct">0</span></div>
77
+ <div class="xp-chip">⚑ <span id="xp-ct">0</span> XP</div>
78
+ </div>
79
+ </div>
80
+
81
+ <div id="sarcasm" class="glass sarcasm-bar"></div>
82
+
83
+ <div class="score-row">
84
+ <div class="glass scard" id="sc-dist">
85
+ <div class="sc-lbl">Distraction</div>
86
+ <div class="cring" id="cr-dist">
87
+ <svg viewBox="0 0 100 100"><circle class="cr-bg" cx="50" cy="50" r="42"/>
88
+ <circle class="cr-fg" id="rg-dist" cx="50" cy="50" r="42"/></svg>
89
+ <span class="cr-num" id="n-dist">0</span>
90
+ </div>
91
+ </div>
92
+ <div class="glass scard" id="sc-risk">
93
+ <div class="sc-lbl">Risk Level</div>
94
+ <div class="cring" id="cr-risk">
95
+ <svg viewBox="0 0 100 100"><circle class="cr-bg" cx="50" cy="50" r="42"/>
96
+ <circle class="cr-fg" id="rg-risk" cx="50" cy="50" r="42"/></svg>
97
+ <span class="cr-num" id="n-risk">0</span>
98
+ </div>
99
+ </div>
100
+ <div class="glass scard" id="sc-prod">
101
+ <div class="sc-lbl">Productivity</div>
102
+ <div class="cring" id="cr-prod">
103
+ <svg viewBox="0 0 100 100"><circle class="cr-bg" cx="50" cy="50" r="42"/>
104
+ <circle class="cr-fg" id="rg-prod" cx="50" cy="50" r="42"/></svg>
105
+ <span class="cr-num" id="n-prod">0</span>
106
+ </div>
107
+ </div>
108
+ </div>
109
+
110
+ <!-- HOME TAB -->
111
+ <div id="tab-home" class="tab active">
112
+ <div class="glass sec">
113
+ <div class="sec-ttl">🧬 Focus Persona</div>
114
+ <div class="persona-row">
115
+ <div id="p-icon" class="p-icon">πŸ₯·</div>
116
+ <div>
117
+ <div id="p-name" class="p-name">Deep Work Ninja</div>
118
+ <div id="p-desc" class="p-desc muted">Loading persona…</div>
119
+ </div>
120
+ </div>
121
+ <div class="lvl-block">
122
+ <div class="lvl-top"><span class="muted">Level:</span> <span id="lvl-name" class="lvl-name">Beginner</span></div>
123
+ <div class="lvl-bar"><div id="lvl-fill" class="lvl-fill"></div></div>
124
+ <div class="muted tiny"><span id="xp-ct2">0</span> / <span id="xp-max">500</span> XP</div>
125
+ </div>
126
+ </div>
127
+
128
+ <div class="glass sec">
129
+ <div class="sec-ttl">πŸ”₯ Distraction Drivers</div>
130
+ <div id="drivers" class="drivers"></div>
131
+ </div>
132
+
133
+ <div class="glass sec">
134
+ <div class="sec-ttl">⚑ Focus Optimizer</div>
135
+ <div id="optimizer" class="optimizer"></div>
136
+ </div>
137
+
138
+ <div class="glass sec quote-sec">
139
+ <div class="sec-ttl">πŸ’¬ Today's Fuel</div>
140
+ <div id="quote-txt" class="quote-txt"></div>
141
+ </div>
142
+
143
+ <button class="btn-neon btn-full" onclick="rerun()">πŸ“Š Re-run Analysis</button>
144
+ </div>
145
+
146
+ <!-- STREAKS TAB -->
147
+ <div id="tab-streaks" class="tab">
148
+ <div class="glass sec">
149
+ <div class="sec-ttl">πŸ”₯ Your Streak</div>
150
+ <div class="streak-hero">
151
+ <div class="s-fire">πŸ”₯</div>
152
+ <div id="s-big" class="s-big">0</div>
153
+ <div class="muted">Day Streak</div>
154
+ </div>
155
+ <div id="s-cal" class="s-cal"></div>
156
+ </div>
157
+ <div class="glass sec">
158
+ <div class="sec-ttl">πŸ† Achievements</div>
159
+ <div id="ach-list" class="ach-list"></div>
160
+ </div>
161
+ </div>
162
+
163
+ <!-- BOARD TAB -->
164
+ <div id="tab-distraction" class="tab">
165
+ <div class="glass sec">
166
+ <div class="sec-ttl">πŸ“‰ History</div>
167
+ <div id="hist-list" class="hist-list"></div>
168
+ </div>
169
+ <div class="glass sec">
170
+ <div class="sec-ttl">πŸ“Š Score Breakdown</div>
171
+ <div id="breakdown" class="breakdown"></div>
172
+ </div>
173
+ </div>
174
+
175
+ <!-- PROFILE TAB -->
176
+ <div id="tab-profile" class="tab">
177
+ <div class="glass sec prof-hero">
178
+ <div class="prof-av">🧠</div>
179
+ <div id="prof-name" class="prof-name">Warrior</div>
180
+ <div id="prof-persona" class="muted">Focus Persona</div>
181
+ </div>
182
+ <div class="glass sec">
183
+ <div class="sec-ttl">πŸ“ˆ Stats</div>
184
+ <div id="prof-stats" class="prof-stats"></div>
185
+ </div>
186
+ <div class="glass sec">
187
+ <div class="sec-ttl">βš™οΈ Settings</div>
188
+ <div class="srow"><span>Dark Mode</span>
189
+ <label class="tog"><input type="checkbox" id="dark-tog" checked onchange="toggleThemeCheck(this)"/><span class="tog-sl"></span></label>
190
+ </div>
191
+ <div class="srow"><span>Notifications</span>
192
+ <label class="tog"><input type="checkbox" id="notif-tog" checked/><span class="tog-sl"></span></label>
193
+ </div>
194
+ <button class="btn-sec" onclick="clearAll()">πŸ—‘ Reset All Data</button>
195
+ </div>
196
+ </div>
197
+
198
+ <!-- BOTTOM NAV -->
199
+ <nav class="bnav">
200
+ <button class="nb active" id="nb-home" onclick="showTab('home')"> <span>🏠</span><span>Home</span></button>
201
+ <button class="nb" id="nb-streaks" onclick="showTab('streaks')"> <span>πŸ”₯</span><span>Streaks</span></button>
202
+ <button class="nb" id="nb-distraction" onclick="showTab('distraction')"><span>πŸ“Š</span><span>Board</span></button>
203
+ <button class="nb" id="nb-profile" onclick="showTab('profile')"> <span>πŸ‘€</span><span>Profile</span></button>
204
+ </nav>
205
+ </div>
206
+
207
+ <script src="/static/script.js"></script>
208
+ </body>
209
+ </html>