-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquiz.html
More file actions
151 lines (139 loc) · 7.42 KB
/
Copy pathquiz.html
File metadata and controls
151 lines (139 loc) · 7.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ElectIQ Quiz — Test your knowledge of the Indian election process with AI-generated questions and instant personalised feedback.">
<meta http-equiv="Content-Security-Policy"
content="default-src 'self' https:; script-src 'self' https://www.googletagmanager.com https://translate.googleapis.com https://translate.google.com https://translate-pa.googleapis.com https://www.gstatic.com https://www.googleapis.com https://apis.google.com 'unsafe-inline'; style-src 'self' https://fonts.googleapis.com https://www.gstatic.com https://translate.googleapis.com 'unsafe-inline'; font-src 'self' https://fonts.gstatic.com; img-src 'self' https: data:; connect-src 'self' https: 'unsafe-inline';">
<style>body { opacity: 0; transition: opacity 200ms ease; }</style>
<title>Quiz — ElectIQ</title>
<link rel="stylesheet" href="css/base.css">
<link rel="stylesheet" href="css/auth.css">
<link rel="stylesheet" href="css/quiz.css">
<script async src="https://www.googletagmanager.com/gtag/js?id=REPLACE_GA4_ID"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js',new Date());</script>
</head>
<body>
<header class="site-header" role="banner">
<div class="header-inner">
<a href="index.html" class="logo-stamp" aria-label="ElectIQ Home">
<div class="logo-circle" aria-hidden="true">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<circle cx="12" cy="12" r="10" stroke="#7B5E3A" stroke-width="1.5" fill="none"/>
<circle cx="12" cy="12" r="3" stroke="#7B5E3A" stroke-width="1.5" fill="none"/>
<line x1="12" y1="2" x2="12" y2="9" stroke="#7B5E3A" stroke-width="1"/>
<line x1="12" y1="15" x2="12" y2="22" stroke="#7B5E3A" stroke-width="1"/>
<line x1="2" y1="12" x2="9" y2="12" stroke="#7B5E3A" stroke-width="1"/>
<line x1="15" y1="12" x2="22" y2="12" stroke="#7B5E3A" stroke-width="1"/>
<line x1="4.93" y1="4.93" x2="9.76" y2="9.76" stroke="#7B5E3A" stroke-width="1"/>
<line x1="14.24" y1="14.24" x2="19.07" y2="19.07" stroke="#7B5E3A" stroke-width="1"/>
<line x1="19.07" y1="4.93" x2="14.24" y2="9.76" stroke="#7B5E3A" stroke-width="1"/>
<line x1="9.76" y1="14.24" x2="4.93" y2="19.07" stroke="#7B5E3A" stroke-width="1"/>
</svg>
</div>
<span class="logo-text">Elect<span>IQ</span></span>
</a>
<nav aria-label="Main navigation">
<ul class="site-nav">
<li><a href="index.html">Home</a></li>
<li><a href="flowmap.html">Flow Map</a></li>
<li><a href="learn.html">Learn</a></li>
<li><a href="quiz.html" class="active">Quiz</a></li>
<li><a href="checklist.html">Checklist</a></li>
</ul>
</nav>
<div class="header-right">
<div id="translate-container">
<label for="custom-translate-select" class="translate-label">Translate:</label>
<select id="custom-translate-select" class="custom-translate-select" aria-label="Select Language">
<option value="en">English</option>
<option value="hi">Hindi (हिंदी)</option>
<option value="bn">Bengali (বাংলা)</option>
<option value="ta">Tamil (தமிழ்)</option>
<option value="te">Telugu (తెలుగు)</option>
<option value="mr">Marathi (मराठी)</option>
<option value="kn">Kannada (ಕನ್ನಡ)</option>
<option value="ml">Malayalam (മലയാളം)</option>
<option value="gu">Gujarati (ગુજરાતી)</option>
<option value="pa">Punjabi (ਪੰਜਾਬੀ)</option>
<option value="ur">Urdu (اردو)</option>
</select>
<div id="google_translate_element" style="display:none;"></div>
</div>
</div>
</div>
</header>
<main id="main-content">
<div class="quiz-page page-entry">
<header class="quiz-header">
<h1 id="quiz-page-title">Quiz</h1>
<div class="quiz-module-label" id="quiz-module-label" aria-live="polite">Loading…</div>
</header>
<!-- Questions rendered by JS -->
<div id="quiz-questions" aria-live="polite"></div>
<!-- Score Summary Card (hidden until all questions answered) -->
<section class="score-card" id="score-card" aria-labelledby="score-heading" aria-live="polite">
<div class="score-label">Your Score</div>
<div class="score-number">
<span id="score-num">0</span> / <span id="score-total">4</span>
</div>
<h2 id="score-heading" class="sr-only">Quiz Complete</h2>
<blockquote class="score-message" id="score-message" aria-live="polite">
Calculating your personalised feedback…
</blockquote>
<div class="score-actions">
<button class="btn btn-outline" id="btn-retry" type="button" aria-label="Retry this quiz with new questions">
Retry Quiz
</button>
<a href="learn.html" class="btn btn-primary" id="btn-score-next" aria-label="Continue to next module or checklist">
Next Module →
</a>
</div>
</section>
</div>
</main>
<footer class="site-footer" role="contentinfo">
<div class="footer-inner">
<p class="footer-tagline">ElectIQ — India's Interactive Election Education Platform</p>
<div class="footer-gemini-badge">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M12 2L9.1 9.1 2 12l7.1 2.9L12 22l2.9-7.1L22 12l-7.1-2.9z" fill="#4285F4"/></svg>
Powered by Google Gemini
</div>
<p class="footer-copy">© 2024 ElectIQ. MIT License.</p>
</div>
</footer>
<script type="module">
import { initializeApp } from 'https://www.gstatic.com/firebasejs/10.12.0/firebase-app.js';
import { getFirestore, doc, setDoc, getDoc, serverTimestamp } from 'https://www.gstatic.com/firebasejs/10.12.0/firebase-firestore.js';
import {
getAuth, onAuthStateChanged,
GoogleAuthProvider, signInWithPopup,
signInWithEmailAndPassword,
createUserWithEmailAndPassword,
updateProfile, sendEmailVerification,
signOut
} from 'https://www.gstatic.com/firebasejs/10.12.0/firebase-auth.js';
window.firebaseApp = { initializeApp };
window.firebaseFirestore = { getFirestore, doc, setDoc, getDoc, serverTimestamp };
window.firebaseAuth = {
getAuth, onAuthStateChanged,
GoogleAuthProvider, signInWithPopup,
signInWithEmailAndPassword,
createUserWithEmailAndPassword,
updateProfile, sendEmailVerification,
signOut
};
</script>
<script src="env.js"></script>
<script src="js/config.js"></script>
<script src="js/auth.js"></script>
<script src="js/header.js"></script>
<script src="js/gemini.js"></script>
<script src="js/firebase.js"></script>
<script src="js/translate.js"></script>
<script src="js/quiz.js"></script>
<script async src="https://translate.googleapis.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<script>(function(){const c=window.ELECTIQ_CONFIG;if(c&&c.ga4MeasurementId&&c.ga4MeasurementId!=='YOUR_GA4_MEASUREMENT_ID')gtag('config',c.ga4MeasurementId);})();</script>
</body>
</html>