gap for spacing and heatmap but unfinished
This commit is contained in:
parent
6143f44442
commit
ce0a6b588b
1
app.py
1
app.py
@ -136,6 +136,7 @@ def index():
|
||||
title=name,
|
||||
utc_dt=datetime.datetime.now().strftime("%d.%m.%Y %H:%M %A"),
|
||||
habit_lists=habit_lists,
|
||||
heatmap_values=current_user.get_heatmap(),
|
||||
errors={},
|
||||
)
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ class User(UserMixin):
|
||||
|
||||
def get_heatmap(self):
|
||||
heatmap = []
|
||||
for day in range (0, 27):
|
||||
for day in range(0, 28):
|
||||
value = get_heatmap_value(self.id, day)
|
||||
heatmap.append(value)
|
||||
return heatmap
|
||||
@ -1,11 +1,11 @@
|
||||
{% extends 'layouts/main.html' %}
|
||||
|
||||
{% block content %}
|
||||
<h1>{{ title }}</h1>
|
||||
<h3>{{ utc_dt }}</h3>
|
||||
<h1>{{ title }}</h1>
|
||||
<h3>{{ utc_dt }}</h3>
|
||||
|
||||
|
||||
<style>
|
||||
<style>
|
||||
#heatmap {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(7, 0fr); /* 7 Tage in einer Woche */
|
||||
@ -20,24 +20,21 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-5 col-12">
|
||||
<div class="d-flex flex-column gap-5">
|
||||
<div class="d-flex gap-3">
|
||||
<div class="flex-fill col-5 card bg-light mb-6">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Heatmap</h5>
|
||||
<div id="heatmap"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Funktion zur Rückgabe des Montagsdatums
|
||||
function getMonday(date) {
|
||||
const day = date.getDay();
|
||||
const diff = date.getDate() - day + (day === 0 ? -6 : 1); // Anpassung für Sonntag
|
||||
return new Date(date.setDate(diff));
|
||||
}
|
||||
|
||||
// Simulierte Aktivitätsdaten (ersetze dies durch deine echten Daten)
|
||||
const activityData = [5, 3, 10, 5, 24, 2, 10, 47, 32, 45, 9, 5, 11, 39, 24, 2, 10, 47, 32, 45];
|
||||
const activityData = {{heatmap_values}};
|
||||
|
||||
// Funktion zum Erstellen der Heatmap
|
||||
function createHeatmap(data) {
|
||||
@ -56,9 +53,9 @@
|
||||
|
||||
// Aktuelles Datum des Montags in der neuen linken Spalte
|
||||
for (let i = 0; i < 7; i++) {
|
||||
for (let j = 0; j < 7; j++) {
|
||||
for (let j = 0; j < 4; j++) {
|
||||
// console.log(i * 7 + j, data[i * 7 + j], Math.max(...data));
|
||||
const opacity = data[i * 7 + j] / Math.max(...data); // Berechne die Opazität basierend auf Aktivitätsanzahl
|
||||
const opacity = data[i * 7 + j] / (Math.max(...data) <= 0 ? 1 : Math.max(...data)); // Berechne die Opazität basierend auf Aktivitätsanzahl
|
||||
|
||||
if (data[i * 7 + j]) {
|
||||
const dayElement = document.createElement('div');
|
||||
@ -67,31 +64,34 @@
|
||||
heatmapContainer.appendChild(dayElement);
|
||||
} else {
|
||||
const dayElement = document.createElement('div');
|
||||
// dayElement.classList.add('day');
|
||||
// dayElement.style.backgroundColor = `rgba(0, 255, 0, ${opacity})`;
|
||||
dayElement.classList.add('day');
|
||||
dayElement.style.backgroundColor = `rgba(0, 255, 0, ${opacity})`;
|
||||
heatmapContainer.appendChild(dayElement);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var left = 7 - (new Date()).getDay();
|
||||
}
|
||||
|
||||
// Erstelle die Heatmap mit den simulierten Daten
|
||||
createHeatmap(activityData);
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<div class="col-md-7 col-12">
|
||||
<div class="row mb-3">
|
||||
|
||||
<div class="flex-fill col-7 card bg-light p-6 mb-6">
|
||||
<div class="row mb-3 ">
|
||||
<h2 class="col-9">Gewohnheiten</h2>
|
||||
<a class="col-3 btn btn-primary" role="button" href="/habit-list">Neue Liste erstellen</a>
|
||||
<a class="col-3 btn btn-primary p" role="button" href="/habit-list">Neue Liste erstellen</a>
|
||||
</div>
|
||||
|
||||
{% for habit_list in habit_lists %}
|
||||
|
||||
<div class="row mb-3">
|
||||
<h2 class="col-9">{{ habit_list.name }}</h2>
|
||||
<a class="col-3 btn btn-primary" role="button" href="/habit?list={{ habit_list.id }}">Gewohnheit erstellen</a>
|
||||
<a class="col-3 btn btn-primary" role="button" href="/habit?list={{ habit_list.id }}">Gewohnheit
|
||||
erstellen</a>
|
||||
</div>
|
||||
|
||||
<ul class="task-list row">
|
||||
@ -110,12 +110,16 @@
|
||||
{{ habit.name }}
|
||||
</div>
|
||||
|
||||
<div class="col-6" style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
|
||||
<div class="col-5 text-black text-opacity-50"
|
||||
style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
|
||||
{{ habit.note }}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-2" style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis">
|
||||
{% if habit %}
|
||||
|
||||
{% else %}
|
||||
5 🔥
|
||||
{% endif %}
|
||||
|
||||
@ -237,8 +241,9 @@
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var el = document.querySelector('.task-list');
|
||||
Sortable.create(el, {
|
||||
@ -262,5 +267,5 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
{% endblock %}
|
||||
Loading…
x
Reference in New Issue
Block a user