modified: db.py modified: routes/journal_routes.py modified: static/css/style.css modified: static/js/main.js modified: templates/base.html modified: templates/day.html modified: templates/future.html modified: templates/index.html new file: templates/monat.html modified: templates/week.html
83 lines
3.6 KiB
HTML
83 lines
3.6 KiB
HTML
{% extends "base.html" %}
|
||
{% block title %}Monatsübersicht – Bullet Journal{% endblock %}
|
||
{% block content %}
|
||
<div class="page-head">
|
||
<div>
|
||
<h1>Monatsübersicht</h1>
|
||
<p class="muted">
|
||
<a href="{{ url_for('journal.month', month=prev_month.strftime('%Y-%m')) }}" class="btn btn-small">← Voriger</a>
|
||
{{ first.strftime('%B %Y') }}
|
||
<a href="{{ url_for('journal.month', month=next_month.strftime('%Y-%m')) }}" class="btn btn-small">Nächster →</a>
|
||
</p>
|
||
</div>
|
||
<div class="page-actions">
|
||
<a href="{{ url_for('journal.export_month', month=first.strftime('%Y-%m')) }}" class="btn btn-small">⬇ CSV</a>
|
||
<button class="btn btn-small" onclick="window.print()">🖨 Drucken/PDF</button>
|
||
</div>
|
||
</div>
|
||
|
||
<section class="card">
|
||
<h2>{{ first.strftime('%B %Y') }}</h2>
|
||
<div class="month-grid">
|
||
<div class="month-grid-head">
|
||
{% for wd in weekdays %}<span>{{ wd[:2] }}</span>{% endfor %}
|
||
</div>
|
||
{% for week in weeks %}
|
||
<div class="month-grid-row">
|
||
{% for cell in week %}
|
||
<div class="month-cell {{ '' if cell.in_month else 'outside' }} {{ 'today' if cell.today else '' }}"
|
||
{% if cell.in_month %}onclick="location.href='{{ url_for('journal.day', date_str=cell.date.strftime('%Y-%m-%d')) }}'"{% endif %}>
|
||
<span class="month-daynum">{{ cell.date.day }}</span>
|
||
{% for n in cell.notes[:4] %}
|
||
<div class="month-note {{ 'is-done' if n.status == 'done' else '' }}" title="{{ n.note_text }}">
|
||
<span class="bullet bullet-{{ n.bullet_type }}">{{ n.bullet_type }}</span>
|
||
<span class="month-note-text">{{ n.note_text|truncate(22) }}</span>
|
||
</div>
|
||
{% endfor %}
|
||
{% if cell.notes|length > 4 %}
|
||
<div class="month-more">+{{ cell.notes|length - 4 }} weitere</div>
|
||
{% endif %}
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
</section>
|
||
|
||
<section class="card">
|
||
<h2>Alle Einträge des Monats</h2>
|
||
{% if all_notes %}
|
||
<ul class="note-list">
|
||
{% for n in all_notes %}
|
||
{% if n.status != 'moved' %}
|
||
<li class="note-item {{ 'is-done' if n.status == 'done' else '' }}">
|
||
<span class="bullet bullet-{{ n.bullet_type }}">{{ n.bullet_type }}</span>
|
||
<span class="note-text">{{ n.note_text|linkify }}</span>
|
||
{% if n.refs|refs %}
|
||
<span class="refs">
|
||
{% for r in n.refs|refs %}
|
||
<a class="ref" href="{{ ref_href(r.type, r.value) }}" target="_blank" rel="noopener">
|
||
{{ ref_type_label(r.type) }} {{ r.value }}
|
||
</a>
|
||
{% endfor %}
|
||
</span>
|
||
{% endif %}
|
||
<span class="note-date">{{ n.note_date.strftime('%d.%m.') }}</span>
|
||
<span class="priority-badge priority-{{ n.priority }}">{{ ['Niedrig','Mittel','Hoch'][n.priority] if n.priority <= 2 else n.priority }}</span>
|
||
<span class="mini-actions no-print">
|
||
<form method="post" action="{{ url_for('journal.mark_done', note_id=n.id) }}" class="inline">
|
||
<button class="btn btn-small {{ 'btn-success' if n.status != 'done' else '' }}">
|
||
{{ 'Erledigt' if n.status != 'done' else 'Öffnen' }}
|
||
</button>
|
||
</form>
|
||
</span>
|
||
</li>
|
||
{% endif %}
|
||
{% endfor %}
|
||
</ul>
|
||
{% else %}
|
||
<p class="muted">Keine Einträge in diesem Monat.</p>
|
||
{% endif %}
|
||
</section>
|
||
{% endblock %}
|