Refactor: Flat directory structure, removed Docker files from git, updated DB connection path

This commit is contained in:
Gemini Agent
2025-12-05 02:44:11 +00:00
parent eab7de42a4
commit ae9ab01421
224 changed files with 785 additions and 575 deletions

188
help.php Executable file
View File

@@ -0,0 +1,188 @@
<?php
// help.php - Eine umfassende Anleitungs- und Hilfeseite für die Anwendung.
$page_title = "Hilfe & Anleitung";
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit;
}
require_once 'header.php';
?>
<style>
.accordion-button:not(.collapsed) {
color: var(--color-primary-dark);
background-color: #eef3eb;
}
.accordion-body ul {
padding-left: 20px;
}
.accordion-body li {
margin-bottom: 10px;
}
.card-header-topic {
background-color: var(--color-primary);
color: var(--color-text-light);
}
.topic-icon {
font-size: 1.5rem;
margin-right: 15px;
}
</style>
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2 class="h4 mb-0"><i class="fas fa-question-circle me-2"></i>Anleitung & Hilfe</h2>
</div>
<div class="card-body p-4">
<p class="lead">
Willkommen bei deiner Trekking-Packlisten-Anwendung! Diese Seite hilft dir, alle Funktionen zu verstehen und das Beste aus dem Tool herauszuholen.
</p>
<hr class="my-4">
<div class="card mb-4">
<div class="card-header card-header-topic d-flex align-items-center">
<i class="fas fa-box-open topic-icon"></i>
<h5 class="mb-0">1. Grundlagen: Dein Inventar verwalten</h5>
</div>
<div class="card-body">
<p>Das Herzstück der Anwendung sind deine <strong>Artikel</strong>. Dies ist deine persönliche Datenbank aller Ausrüstungsgegenstände. Je genauer du sie pflegst, desto präziser werden deine Packlisten.</p>
<div class="accordion" id="accordionInventory">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
<strong>Artikel anlegen und bearbeiten</strong>
</button>
</h2>
<div id="collapseOne" class="accordion-collapse collapse" aria-labelledby="headingOne" data-bs-parent="#accordionInventory">
<div class="accordion-body">
<ul>
<li><strong>Artikel anlegen:</strong> Gehe im Menü auf "Artikel" und klicke auf "Neuen Artikel hinzufügen". Fülle die Felder so detailliert wie möglich aus.</li>
<li><strong>Stammdaten:</strong> Gib den Namen, Hersteller und das genaue Modell an. Je spezifischer, desto besser.</li>
<li><strong>Gewicht:</strong> Das Gewicht in Gramm ist das wichtigste Feld für die spätere Analyse deiner Packliste.</li>
<li><strong>Komponenten:</strong> Ein grosser Vorteil! Du kannst Artikel als "Komponente" eines anderen Artikels definieren. Beispiel: Heringe sind eine Komponente des Zelts. So baust du logische Sets.</li>
<li><strong>Eigenschaften:</strong>
<ul>
<li><strong>Anzahl im Besitz:</strong> Wie oft besitzt du diesen Artikel? (z.B. 4x Wander-Socken).</li>
<li><strong>Verbrauchsartikel:</strong> Hake diese Box an für Dinge wie Gaskartuschen oder Müsliriegel. Sie werden anders im Gesamtgewicht berechnet.</li>
<li><strong>Für den Haushalt freigeben:</strong> Wenn du in einem Haushalt bist, kannst du diesen Artikel für alle Mitglieder sichtbar und nutzbar machen. Ideal für Zelte, Kocher etc.</li>
</ul>
</li>
<li><strong>Bild & Produktseite:</strong> Ein Bild hilft bei der visuellen Erkennung. Ein Link zur Produktseite kann nützlich sein, um Details nachzuschlagen.</li>
</ul>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="headingTwo">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
<strong>Kategorien, Hersteller & Lagerorte</strong>
</button>
</h2>
<div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#accordionInventory">
<div class="accordion-body">
Um dein Inventar übersichtlich zu halten, kannst du unter den entsprechenden Menüpunkten eigene Organisations-Strukturen anlegen:
<ul>
<li><strong>Kategorien:</strong> Definiere eigene Kategorien wie "Küche", "Schlafen", "Kleidung". Dies hilft beim Filtern und bei der Analyse der Packliste.</li>
<li><strong>Hersteller:</strong> Lege die Hersteller deiner Ausrüstung an, um sie schnell wiederzufinden.</li>
<li><strong>Lagerorte:</strong> Wo bewahrst du deine Ausrüstung auf? Definiere hier eine zweistufige Hierarchie (z.B. Ebene 1: "Keller", Ebene 2: "Regal 3, Box B"), um nie wieder etwas suchen zu müssen.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card mb-4">
<div class="card-header card-header-topic d-flex align-items-center">
<i class="fas fa-clipboard-list topic-icon"></i>
<h5 class="mb-0">2. Packlisten erstellen und nutzen</h5>
</div>
<div class="card-body">
<p>Sobald dein Inventar gepflegt ist, kannst du mit dem Packen beginnen.</p>
<div class="accordion" id="accordionPacking">
<div class="accordion-item">
<h2 class="accordion-header" id="headingThree">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
<strong>Die interaktive Pack-Ansicht (manage_packing_list_items.php)</strong>
</button>
</h2>
<div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree" data-bs-parent="#accordionPacking">
<div class="accordion-body">
Dies ist die zentrale Seite zur Zusammenstellung deiner Liste.
<ul>
<li><strong>Artikel hinzufügen:</strong> Ziehe einfach einen Artikel aus der linken Spalte ("Verfügbare Artikel") in eine der Träger-Boxen auf der rechten Seite.</li>
<li><strong>Position ändern:</strong> Du kannst die Artikel jederzeit per Drag-and-Drop neu anordnen, sowohl innerhalb einer Träger-Box als auch zwischen verschiedenen Trägern.</li>
<li><strong>Ebenen erstellen (Verschachteln):</strong> Klicke auf den <strong>Pfeil nach rechts</strong> bei einem Artikel, um ihn eine Ebene tiefer zu setzen. So wird er zum Kind-Element des Artikels direkt darüber. Das ist perfekt für Sets (z.B. "Kochset" mit Topf, Löffel, Brenner als Kinder). Mit dem <strong>Pfeil nach links</strong> hebst du die Verschachtelung wieder auf. Du kannst mehrere Ebenen tief verschachteln.</li>
<li><strong>Menge anpassen:</strong> Ändere die Zahl im Eingabefeld, um die Menge eines Artikels für diese spezifische Packliste anzupassen.</li>
<li><strong>Komponenten-Abfrage:</strong> Wenn du einen Artikel hinzufügst, der in deinem Inventar als Set mit Komponenten definiert ist, fragt dich das System, ob du die zugehörigen Komponenten ebenfalls hinzufügen möchtest.</li>
<li><strong>Träger (Carriers):</strong> Standardmässig bist du der einzige Träger. In einem Haushalt erscheinen hier alle Mitglieder. Du kannst die Ausrüstung per Drag-and-Drop auf verschiedene Personen verteilen, um das Gewicht fair aufzuteilen.</li>
</ul>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="headingFour">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFour" aria-expanded="false" aria-controls="collapseFour">
<strong>Packliste ansehen und analysieren</strong>
</button>
</h2>
<div id="collapseFour" class="accordion-collapse collapse" aria-labelledby="headingFour" data-bs-parent="#accordionPacking">
<div class="accordion-body">
Die Detailansicht einer Packliste gibt dir eine perfekte Übersicht:
<ul>
<li><strong>Statistiken:</strong> Auf der rechten Seite siehst du das Gesamtgewicht, aufgeteilt nach Trägern und Kategorien. So erkennst du sofort, wo das meiste Gewicht herkommt.</li>
<li><strong>Basisgewicht:</strong> Das System berechnet automatisch dein Basisgewicht (ohne Verbrauchsartikel), eine wichtige Kennzahl für jeden Wanderer.</li>
<li><strong>Druckansicht:</strong> Über den "Drucken"-Button kannst du eine saubere, minimalistische Checkliste für deine Tour ausdrucken.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card mb-4">
<div class="card-header card-header-topic d-flex align-items-center">
<i class="fas fa-users topic-icon"></i>
<h5 class="mb-0">3. Zusammenarbeit im Haushalt & Teilen</h5>
</div>
<div class="card-body">
<p>Teile deine Ausrüstung und Pläne mit anderen.</p>
<div class="accordion" id="accordionSharing">
<div class="accordion-item">
<h2 class="accordion-header" id="headingFive">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFive" aria-expanded="false" aria-controls="collapseFive">
<strong>Das Haushalts-System</strong>
</button>
</h2>
<div id="collapseFive" class="accordion-collapse collapse" aria-labelledby="headingFive" data-bs-parent="#accordionSharing">
<div class="accordion-body">
<ul>
<li><strong>Erstellen & Beitreten:</strong> Unter "Haushalt" kannst du einen neuen Haushalt gründen oder eine Einladung annehmen. Du kannst nur in einem Haushalt gleichzeitig sein.</li>
<li><strong>Geteilte Ressourcen:</strong> Artikel und Packlisten, die für den Haushalt freigegeben sind, können von allen Mitgliedern gesehen und verwendet werden.</li>
<li><strong>Admin-Rolle:</strong> Der Gründer eines Haushalts ist der Administrator und kann neue Mitglieder per Benutzername einladen.</li>
<li><strong>Aktivitäten-Log:</strong> Auf der Haushalts-Seite siehst du einen Verlauf der letzten Aktivitäten, z.B. wer einen neuen Artikel hinzugefügt oder eine Liste bearbeitet hat.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php require_once 'footer.php'; ?>