add: better css & milestone
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,2 +1,6 @@
|
||||
.env
|
||||
bozo
|
||||
bozo
|
||||
bin
|
||||
lib
|
||||
lib64
|
||||
pyvenv.cfg
|
19
main.py
19
main.py
@ -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__':
|
||||
|
@ -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>
|
||||
|
Reference in New Issue
Block a user