Files
js-quizz/public/index.html
T
2023-12-11 11:59:30 -05:00

55 lines
2.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JS Reading App</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<script src="https://unpkg.com/htmx.org@1.9.9"></script>
</head>
<body>
<nav class="navbar" role="navigation" aria-label="main navigation">
<div class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item" href="#" hx-post="/api/v1/logout">
<img src="images/js_logo.svg" alt="js logo" style="height: 100%">
<h2 class="title is-3 ml-1">Reading Exercices</h2>
</a>
</div>
</div>
</nav>
<div hx-get="/api/v1/random-questions/:seed/:defaultIndex"
hx-trigger="load"
id="question-body">
</div>
<script>
function getDefaultIndex(){
if(document.location.hash.length > 1){
return document.location.hash.substr(1)
}
return localStorage.getItem("defaultIndex") || '0';
}
document.body.addEventListener('htmx:configRequest', function(evt) {
evt.detail.headers.session = localStorage.getItem("seed");
evt.detail.path = evt.detail.path.replace(":seed", localStorage.getItem("seed"));
evt.detail.path = evt.detail.path.replace(":defaultIndex", getDefaultIndex());
});
document.body.addEventListener('logout', function (evt) {
window.localStorage.clear();
document.location.href = "/login.html";
});
document.body.addEventListener('set-question-id', function (evt) {
if(isNaN(evt.detail.value)){
return;
}
document.location.hash = evt.detail.value
localStorage.setItem("defaultIndex", evt.detail.value);
});
</script>
</body>
</html>