add: better css & milestone

This commit is contained in:
2025-07-29 17:19:42 +02:00
parent f0cd6ccc12
commit 66ded84720
3 changed files with 161 additions and 114 deletions

6
.gitignore vendored
View File

@ -1,2 +1,6 @@
.env
bozo
bozo
bin
lib
lib64
pyvenv.cfg

19
main.py
View File

@ -24,10 +24,25 @@ def update():
f.write(values)
return redirect('/')
def record():
global values
tmp = values.split(' ')
today = datetime.datetime.today()
longer = 0
if len(tmp) == 0:
return 0
if len(tmp) < 2:
return abs(datetime.datetime.strptime(tmp[0], "%Y-%m-%d") - today).days
for i in range(0, len(tmp) - 1):
if abs((datetime.datetime.strptime(tmp[i], "%Y-%m-%d").date() - datetime.datetime.strptime(tmp[i + 1], "%Y-%m-%d").date()).days) > longer:
longer = abs((datetime.datetime.strptime(tmp[i], "%Y-%m-%d").date() - datetime.datetime.strptime(tmp[i + 1], "%Y-%m-%d").date()).days)
if abs((today - datetime.datetime.strptime(tmp[-1], "%Y-%m-%d")).days) > longer:
longer = abs((today - datetime.datetime.strptime(tmp[-1], "%Y-%m-%d")).days)
return longer
@app.route("/", methods = ['GET'])
def normal():
print(values.split(" "))
return render_template('home.html', dates = wrap(values, 10), total = len(values.split(' ')), days = (datetime.datetime.today().date() - datetime.datetime.strptime(values.split(' ')[-1], "%Y-%m-%d").date()).days)
return render_template('home.html', longer = record(), dates = wrap(values, 10), total = len(values.split(' ')), days = (datetime.datetime.today().date() - datetime.datetime.strptime(values.split(' ')[-1], "%Y-%m-%d").date()).days)
if __name__ == '__main__':

View File

@ -1,116 +1,144 @@
<link rel="stylesheet" href="../styles.css">
<style>
body {
font-family: "Helvetica Neue", Helvetica, Arial;
font-weight: regular;
}
h1, h2 {
text-transform: uppercase;
}
header {
min-height: 100px;
background: #29AC51;
color: #fff;
text-align: center;
h1 {
padding: 30px;
margin: auto;
font-size: 50px;
}
}
#desc {
max-width: 550px;
text-align: center;
margin: auto;
padding: 50px 0px 25px 0px;
}
#counter {
max-width: 500px;
margin: auto;
padding: 25px 0 50px 0;
text-align: center;
}
h2 {
font-size: 50px;
font-family: 'Teko', sans-serif;
}
#days {
font-family: 'Aldrich', sans-serif;
font-size: 55px;
padding: 50px 0 50px 0;
color: red;
}
#record {
font-family: 'Teko', sans-serif;
font-size: 30px;
}
#incident-btn {
padding: 35px 45px 35px 45px;
max-width: 150px;
text-align: center;
margin: auto;
color: #fff;
text-transform: uppercase;
font-size: 30px;
background: #B00000;
border-bottom: solid #A20000 4px;
cursor: pointer;
user-select: none;
}
#incident-btn:hover {
background-color: #ff0000;
}
.btn-text {
text-align: center;
padding-top: 15px;
}
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>CA42 - Compteur</title>
</style>
<script>
// JavaScript function to handle button click
document.addEventListener("DOMContentLoaded", function () {
const incidentBtn = document.getElementById("incident-btn");
<link href="https://fonts.googleapis.com/css2?family=Aldrich&family=Roboto&family=Teko&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Roboto', Helvetica, Arial, sans-serif;
font-weight: 400;
}
h1, h2 {
text-transform: uppercase;
}
header {
min-height: 100px;
background: #29AC51;
color: #fff;
text-align: center;
}
header h1 {
padding: 30px;
margin: auto;
font-size: 50px;
}
#desc {
max-width: 550px;
text-align: center;
margin: auto;
padding: 10px 0 15px 0;
}
#counter {
max-width: 500px;
margin: auto;
padding: 10px 0 20px 0;
text-align: center;
}
h2 {
font-size: 50px;
font-family: 'Roboto', Helvetica, Arial, sans-serif;
}
#days {
font-family: 'Aldrich', sans-serif;
font-size: 55px;
padding: 10px 0 50px 0;
color: red;
}
#record {
font-family: 'Teko', sans-serif;
font-size: 30px;
}
#incident-btn {
padding: 35px 45px;
max-width: 150px;
text-align: center;
margin: auto;
color: #fff;
text-transform: uppercase;
font-size: 30px;
background: #B00000;
border-bottom: solid #A20000 4px;
cursor: pointer;
user-select: none;
}
#incident-btn:hover {
background-color: #ff0000;
}
.btn-text {
text-align: center;
padding-top: 15px;
}
</style>
</head>
<body>
incidentBtn.addEventListener("click", function () {
// Make a POST request to the /api/update route
fetch("/api/update", {
method: "POST",
headers: {
"Content-Type": "application/json"
}
})
.then(response => {
if (response.redirected) {
// If the request is successful and we are redirected
window.location.href = response.url;
} else {
alert("Error: Could not update the incident.");
}
})
.catch(error => {
console.error("Error:", error);
alert("An error occurred while updating the incident.");
});
});
});
</script>
<header>
<h1>ca42</h1>
</header>
<div id="desc">
<p>Nombres de jours sans problèmes sanitaires a 42 Angoulême.</p>
<h1>ca42</h1>
</header>
<div id="desc">
<p>
Nombres de jours sans problèmes sanitaires à 42 Angoulême.
</p>
</div>
<div id="counter">
<h2>Jours depuis le dernier problème:</h2>
<p id="days">{{days}}</p>
<div>
<p id="last-incident"></p>
</div>
<div id="counter">
<h1>Jours depuis le dernier problème:</h1>
<div>
<p id="days">{{days}}</p>
</div>
<div>
<p id="last-incident"></p>
</div>
<div>
<p id="record">Nombre total de problèmes : {{total}}<p>
</div>
<div>
<p id="record">
Nombre total de problèmes : {{total}}<br>
Record de jours sans problèmes: {{longer}}
</p>
</div>
<div id="incident-btn" form action>Incident</div>
<p class="btn-text">Note: Un accident par jour pour éviter la redondance</p>
</div>
<div id="incident-btn">Incident</div>
<p class="btn-text">Note: Un accident par jour pour éviter la redondance</p>
<script>
document.addEventListener("DOMContentLoaded", function () {
const incidentBtn = document.getElementById("incident-btn");
incidentBtn.addEventListener("click", function () {
fetch("/api/update", {
method: "POST",
headers: {
"Content-Type": "application/json"
}
})
.then(response => {
if (response.redirected) {
window.location.href = response.url;
} else {
alert("Error: Could not update the incident.");
}
})
.catch(error => {
console.error("Error:", error);
alert("An error occurred while updating the incident.");
});
});
});
</script>
</body>
</html>