StudyAgent / templates /index.html
smlflg's picture
Initial public upload from Projekte/StudyAgent
c72a1e8 verified
Raw History Blame Contribute Delete
3.79 kB
{% extends "base.html" %}
{% block title %}Dashboard — Study Buddy{% endblock %}
{% block buddy_message %}
<div class="buddy-message">
{% if active_subjects %}
Hey! Du bist wieder da. {{ active_subjects|length }} Fach{% if active_subjects|length > 1 %}er{% endif %} aktiv.
{% if next_step %}
Dein naechster Schritt wartet schon.
{% else %}
Keine offenen Steps — vielleicht eine neue Deadline eintragen?
{% endif %}
{% else %}
Willkommen! Trag dein erstes Fach ein und leg los. Keine Hektik.
{% endif %}
</div>
<div hx-get="/session/current" hx-trigger="load" hx-swap="outerHTML"></div>
{% endblock %}
{% block content %}
<!-- WIP Warning placeholder -->
<div id="wip-warning"></div>
<!-- Active Subjects + Next Step -->
<section class="section">
<h2 class="section-title">Aktive Faecher <span class="wip-badge">{{ active_subjects|length }}/2</span></h2>
<div id="subjects-list" class="subjects-grid">
{% for subject in active_subjects %}
{% include "partials/subject_card.html" %}
{% endfor %}
</div>
<!-- Add Subject Form -->
{% if active_subjects|length < 2 %}
<form hx-post="/subjects"
hx-target="#subjects-list"
hx-swap="beforeend"
class="inline-form">
<input type="text" name="name" placeholder="Fach (z.B. Mathe, OS, BWL)" required class="input-field">
<input type="text" name="semester" placeholder="Semester (optional)" class="input-field input-small">
<button type="submit" class="btn btn-primary">+ Fach hinzufuegen</button>
</form>
{% else %}
<div class="buddy-warning">
WIP-Limit erreicht (2/2). Parkiere ein Fach um ein neues hinzuzufuegen.
</div>
{% endif %}
</section>
<!-- Next Micro-Step -->
{% if next_step %}
<section class="section">
<h2 class="section-title">Jetzt anfangen</h2>
<div id="current-step">
{% include "partials/micro_step_card.html" with context %}
</div>
</section>
{% endif %}
<!-- Plan Area (htmx target for elastic plan view) -->
<div id="plan-area"></div>
<!-- Upcoming Deadlines -->
<section class="section">
<h2 class="section-title">Naechste Deadlines</h2>
<div id="deadlines-list" class="deadlines-list">
{% for deadline in upcoming_deadlines %}
{% set dl = deadline %}
{% include "partials/deadline_item.html" %}
{% endfor %}
{% if not upcoming_deadlines %}
<p class="empty-hint">Noch keine Deadlines — trag eine ein bevor der Stress kommt.</p>
{% endif %}
</div>
<!-- Add Deadline Form -->
{% if active_subjects %}
<form hx-post="/deadlines"
hx-target="#deadlines-list"
hx-swap="beforeend"
class="inline-form deadline-form">
<select name="subject_id" required class="input-field">
<option value="">Fach waehlen...</option>
{% for subject in active_subjects %}
<option value="{{ subject.id }}">{{ subject.name }}</option>
{% endfor %}
</select>
<input type="text" name="title" placeholder="Aufgabe (z.B. Klausur, Abgabe)" required class="input-field">
<input type="datetime-local" name="due_date" required class="input-field">
<textarea name="description" placeholder="Details (optional)" class="input-field input-textarea"></textarea>
<button type="submit" class="btn btn-secondary">Deadline eintragen</button>
</form>
{% endif %}
</section>
<!-- Session History / Progress Journey -->
<section class="section">
<h2 class="section-title">Deine Lernreise</h2>
<div hx-get="/session/history" hx-trigger="load" hx-swap="innerHTML"></div>
</section>
{% endblock %}