refactor: introduce base.html template and update index.html to inherit from it

This commit is contained in:
Mariano Riefolo 2024-09-15 13:48:21 +02:00
parent b1f6c6cdd5
commit a200a934ea
2 changed files with 115 additions and 125 deletions

26
templates/base.html Normal file
View File

@ -0,0 +1,26 @@
<!doctype html>
<html lang="it">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{% block title %}{{title}}{% endblock %}</title>
<link
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css"
rel="stylesheet"
/>
{% block head %}{% endblock %}
</head>
<body>
<main class="container">{% block content %}{% endblock %}</main>
<footer class="container">
<p>
Codice rilasciato sotto licenza
<a
href="https://git.riefolo.me/mariano/orario-scolastico-itet/src/branch/master/LICENSE"
target="_blank"
>MPL 2.0</a
>
</p>
</footer>
</body>
</html>

View File

@ -1,130 +1,94 @@
<!doctype html> {% extends "base.html" %} {% block title %}Orario Scolastico{% endblock %} {%
<html lang="it"> block head %}
<head> <script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.5/dist/js.cookie.min.js"></script>
<meta charset="UTF-8" /> <script src="/static/index.js" defer></script>
<meta name="viewport" content="width=device-width, initial-scale=1" /> <style>
<title>Orario scolastico</title> @media (max-width: 1279px) {
<link table thead tr {
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css" display: none;
rel="stylesheet" }
/>
<script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.5/dist/js.cookie.min.js"></script>
<script src="/static/index.js" defer></script>
<style>
@media (max-width: 1279px) {
table thead tr {
display: none;
}
table td { table td {
display: block; display: block;
} }
table tr { table tr {
counter-set: column; counter-set: column;
} }
table tr td { table tr td {
counter-increment: column; counter-increment: column;
} }
table td::before { table td::before {
content: counter(column) " ora: "; content: counter(column) " ora: ";
} }
} }
#table-title { #table-title {
text-align: center; text-align: center;
} }
</style> </style>
</head> {% endblock %} {%block content %}
<body> <noscript>
<main class="container"> <h1>Per utilizzare questa applicazione è necessario abilitare JavaScript.</h1>
<noscript> </noscript>
<h1> <div id="forms" hidden>
Per utilizzare questa applicazione è necessario abilitare JavaScript. <form id="form-pdf">
</h1> <fieldset>
</noscript> <label id="pdf-label" aria-busy="true">Seleziona il calendario</label>
<div id="forms" hidden> <select id="pdf" onchange="select_pdf()" required>
<form id="form-pdf"> <option selected disabled value="none">Seleziona un'opzione</option>
<fieldset> </select>
<label id="pdf-label" aria-busy="true" </fieldset>
>Seleziona il calendario</label </form>
> <form id="form-type" hidden>
<select id="pdf" onchange="select_pdf()" required> <formfield>
<option selected disabled value="none"> <label>Seleziona cosa visualizzare</label>
Seleziona un'opzione <select id="type" onchange="select_type()">
</option> <option selected disabled value="none">Seleziona un'opzione</option>
</select> <option value="teacher">Orario docente</option>
</fieldset> <option value="student">Orario classe</option>
</form> </select>
<form id="form-type" hidden> </formfield>
<formfield> </form>
<label>Seleziona cosa visualizzare</label> <form id="form-teacher" onsubmit="return select_teacher()" hidden>
<select id="type" onchange="select_type()"> <formfield>
<option selected disabled value="none"> <label id="teacher-label" aria-busy="true">Seleziona docente</label>
Seleziona un'opzione <input
</option> id="teacher"
<option value="teacher">Orario docente</option> type="text"
<option value="student">Orario classe</option> oninput="filter_teachers()"
</select> placeholder="Filtra"
</formfield> />
</form> <select id="teachers"></select>
<form id="form-teacher" onsubmit="return select_teacher()" hidden> </formfield>
<formfield> <input type="submit" value="Continua" />
<label id="teacher-label" aria-busy="true">Seleziona docente</label> </form>
<input <form id="form-classes" hidden>
id="teacher" <formfield>
type="text" <label id="class-label" aria-busy="true">Seleziona la tua classe</label>
oninput="filter_teachers()" <select id="year" onchange="load_section()">
placeholder="Filtra" <option selected disabled value="none">Seleziona l'anno</option>
/> </select>
<select id="teachers"></select> <select id="section" onchange="load_major()">
</formfield> <option selected disabled value="none">Seleziona la sezione</option>
<input type="submit" value="Continua" /> </select>
</form> <select id="major" onchange="select_class()">
<form id="form-classes" hidden> <option selected disabled value="none">Seleziona l'indirizzo</option>
<formfield> </select>
<label id="class-label" aria-busy="true" <input type="submit" value="Continua" />
>Seleziona la tua classe</label </formfield>
> </form>
<select id="year" onchange="load_section()"> </div>
<option selected disabled value="none">Seleziona l'anno</option> <div id="dashboard" hidden>
</select> <h1 id="table-title"></h1>
<select id="section" onchange="load_major()"> <table id="table" class="striped" aria-busy="true"></table>
<option selected disabled value="none"> <form>
Seleziona la sezione <input type="submit" onclick="delete_cookies()" value="Reimposta" />
</option> </form>
</select> </div>
<select id="major" onchange="select_class()"> <dialog id="error-dialog">
<option selected disabled value="none"> <p id="error">Errore: non è stato possibile caricare l'orario.</p>
Seleziona l'indirizzo </dialog>
</option> {% endblock %}
</select>
<input type="submit" value="Continua" />
</formfield>
</form>
</div>
<div id="dashboard" hidden>
<h1 id="table-title"></h1>
<table id="table" class="striped" aria-busy="true"></table>
<form>
<input type="submit" onclick="delete_cookies()" value="Reimposta" />
</form>
</div>
<dialog id="error-dialog">
<p id="error">Errore: non è stato possibile caricare l'orario.</p>
</dialog>
</main>
<footer class="container">
<p>
Codice rilasciato sotto licenza
<a
href="https://git.riefolo.me/mariano/orario-scolastico-itet/src/branch/master/LICENSE"
target="_blank"
>MPL 2.0</a
>
</p>
</footer>
</body>
</html>