add tasks for dresden, steglitz and bode-museum
This commit is contained in:
@@ -1,26 +1,56 @@
|
||||
{
|
||||
"chapter": "🔍 Bode-Museum: Der Big Maple Leaf Raub",
|
||||
"description": "Am 27. März 2017 wurde aus dem Bode-Museum in Berlin eine der größten Goldmünzen der Welt gestohlen: die 'Big Maple Leaf' mit einem Gewicht von 100 kg. Die Täter drangen nachts in das Museum ein und entwendeten die wertvolle Münze. Die Polizei startete eine großangelegte Fahndung nach den Tätern und der gestohlenen Münze.",
|
||||
"description": "In der Nacht zum 27. März 2017 wurde aus dem Bode-Museum in Berlin die 100 kg schwere Goldmünze „Big Maple Leaf“ gestohlen. Drei Täter drangen während einer S-Bahn-Betriebspause über die Bahngleise ein, stiegen mit einer Leiter durch ein Fenster ein und zerschlugen die Panzerglasvitrine. Der Materialwert der Münze betrug etwa 3,75 Millionen Euro. Die Münze wurde vermutlich zersägt und eingeschmolzen; die Täter wurden später gefasst und verurteilt.",
|
||||
"data": {
|
||||
"gewicht_kg": { "value": 100, "description": "Gewicht der Goldmünze Big Maple Leaf in Kilogramm" },
|
||||
"materialwert_euro": { "value": 3750000, "description": "Materialwert der Münze zum Tatzeitpunkt in Euro (ca. 3,75 Mio €)" },
|
||||
"goldpreis_pro_kg_euro": { "value": 37500, "description": "Goldpreis pro Kilogramm zum Tatzeitpunkt in Euro" },
|
||||
"nennwert_dollar": { "value": 1000000, "description": "Nennwert der Münze in kanadischen Dollar" },
|
||||
"durchmesser_cm": { "value": 53, "description": "Durchmesser der Münze in Zentimetern" },
|
||||
"tatdatum": { "value": "2017-03-27", "description": "Datum des Diebstahls (27. März 2017)" },
|
||||
"tatzeit_von": { "value": "03:20", "description": "Beginn des Tatzeitfensters (Quelle: Polizei/Ermittlungen)" },
|
||||
"tatzeit_bis": { "value": "03:45", "description": "Ende des Tatzeitfensters (Quelle: Polizei/Ermittlungen)" },
|
||||
"tatzeitfenster_minuten": { "value": 25, "description": "Zeitfenster des Diebstahls in Minuten (03:20–03:45)" },
|
||||
"polizei_alarm_uhrzeit": { "value": "04:00", "description": "Uhrzeit der Alarmierung der Polizei (Quelle: Berichterstattung)" },
|
||||
"anzahl_taeter": { "value": 3, "description": "Anzahl der Täter (drei junge Männer)" },
|
||||
"entschaedigung_eigentuemer_euro": { "value": 2100000, "description": "Entschädigung an den privaten Eigentümer in Euro (Kammergericht)" },
|
||||
"entschaedigung_prozent": { "value": 50, "description": "Anteil des Versicherungswertes als Entschädigung in Prozent" },
|
||||
"versicherungswert_euro": { "value": 4200000, "description": "Versicherungswert in Euro (2,1 Mio € = 50 % davon)" },
|
||||
"wertersatz_gericht_euro": { "value": 3300000, "description": "Vom Gericht angeordneter Wertersatz durch die Verurteilten in Euro (gesamt)" },
|
||||
"haftstrafe_jahre_taeter_1_2": { "value": 4.5, "description": "Haftstrafe für zwei Täter in Jahren (viereinhalb Jahre)" },
|
||||
"haftstrafe_jahre_monate_taeter_3": { "value": 3.333, "description": "Haftstrafe für dritten Täter (3 Jahre und 4 Monate, gerundet)" },
|
||||
"timeline": [
|
||||
{ "date": "2017-03-27", "time": "03:20", "description": "Vermutlicher Beginn: Täter dringen über S-Bahngleise und Fenster ein (S-Bahn-Betriebspause)." },
|
||||
{ "date": "2017-03-27", "time": "03:20–03:45", "description": "Tatzeitfenster: Panzerglasvitrine zerschlagen, Münze (100 kg Big Maple Leaf) entwendet, Abtransport über Gleise." },
|
||||
{ "date": "2017-03-27", "time": "04:00", "description": "Polizei wird alarmiert (Quelle: Berichterstattung)." },
|
||||
{ "date": "2017-03-27", "description": "Tat entdeckt; Ermittlungen." },
|
||||
{ "date": "2017", "description": "Ermittlungen werden der Familie R. (Remmo) zugeordnet; vier Beschuldigte (u.a. zwei Cousins, Ex-Wachmann)." },
|
||||
{ "date": "2019", "description": "Verfahren vor dem Landgericht Berlin (Beginn etwa ein Jahr vor Urteil)." },
|
||||
{ "date": "2020-02-26", "description": "Urteil Landgericht Berlin: Wissam R. und Ahmad R. je 4,5 Jahre Jugendstrafe; Denis W. 3 Jahre und 4 Monate; Wayci R. Freispruch. Wertersatz 3,3 Mio € (Remmo-Cousins), Denis W. 100.000 €." },
|
||||
{ "date": "2021-06-24", "description": "Bundesgerichtshof weist Revision zurück; Urteile rechtskräftig." },
|
||||
{ "date": null, "description": "Kammergericht Berlin: Privateigentümer erhält 2,1 Mio € Entschädigung (50 % des Versicherungswertes) wegen Sicherheitsmängeln." }
|
||||
]
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "bode-museum-1",
|
||||
"question": "🕵️ AKTE: Bode-Museum Berlin, 27.03.2017\n\nGESTOHLEN: 1 Goldmünze (Big Maple Leaf)\nGEWICHT: 100 kg\nGOLDPREIS (Tatzeit): 37.500 €/kg\n\nBerechne den Versicherungsschaden in Euro.",
|
||||
"question": "📊 SCHADENSBERECHNUNG (Ermittler/Versicherung):\n\nDie gestohlene Goldmünze „Big Maple Leaf“ wiegt 100 kg. Der Goldpreis zum Tatzeitpunkt (27. März 2017) betrug 37.500 € pro Kilogramm.\n\nBerechne den materiellen Schaden in Euro, den die Ermittler für Anklage und Versicherung ansetzen.",
|
||||
"answer": 3750000,
|
||||
"points": 50,
|
||||
"points": 10,
|
||||
"type": "word-problem"
|
||||
},
|
||||
{
|
||||
"id": "bode-museum-2",
|
||||
"question": "Die drei Täter verkauften das Gold an einen Hehler. Der Hehler zahlte ihnen 3.200.000 €. Sie teilten das Geld so auf: Der Anführer bekam doppelt so viel wie die anderen beiden. Die anderen beiden bekamen gleich viel. Wie viel Euro bekam jeder der beiden anderen Täter?",
|
||||
"answer": 800000,
|
||||
"points": 55,
|
||||
"question": "📋 VERSICHERUNG (Rückrechnung):\n\nDer Eigentümer der Münze erhielt 2,1 Millionen Euro Entschädigung. Das war die Hälfte (50 %) des Versicherungswertes.\n\nWie hoch war der volle Versicherungswert in Euro? (Die Hälfte mal 2 = Ganzes.)",
|
||||
"answer": 4200000,
|
||||
"points": 10,
|
||||
"type": "word-problem"
|
||||
},
|
||||
{
|
||||
"id": "bode-museum-3",
|
||||
"question": "📹 ÜBERWACHUNGSVIDEO - Bode-Museum:\n\n03:27 Uhr - Täter betreten das Museum\n03:52 Uhr - Münze wird gestohlen\n04:18 Uhr - Täter verlassen das Gebäude\n05:47 Uhr - Nachtwächter entdeckt den Diebstahl\n\nFragen:\na) Wie viele Minuten waren die Täter im Museum? (von Eintritt bis Verlassen)\nb) Wie viele Minuten vergingen zwischen Diebstahl und Entdeckung?\n\nAntworte mit der Summe beider Zeiten in Minuten.",
|
||||
"answer": 166,
|
||||
"points": 50,
|
||||
"question": "⏱ EINSATZAUSWERTUNG (Reaktionszeit):\n\nDer Diebstahl erfolgte zwischen 03:20 und 03:45 Uhr. Die Polizei wurde um 04:00 Uhr alarmiert.\n\nWie viele Minuten vergingen vom spätesten Tatende (03:45) bis zur Alarmierung? (Relevanz für die Bewertung der Reaktionszeit.)",
|
||||
"answer": 15,
|
||||
"points": 5,
|
||||
"type": "word-problem"
|
||||
}
|
||||
]
|
||||
|
||||
51
cases/dresden-gruenes-gewoelbe.json
Normal file
51
cases/dresden-gruenes-gewoelbe.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"chapter": "💎 Dresden: Der Juwelendiebstahl im Grünen Gewölbe",
|
||||
"description": "Am 25. November 2019 drangen Täter in den frühen Morgenstunden in das Historische Grüne Gewölbe im Dresdner Residenzschloss ein. Sie nutzten einen Stromausfall (Brand an einem Stromkasten unter der Augustusbrücke), stahlen aus dem Juwelenzimmer 21 Schmuckstücke mit insgesamt 4.300 Diamanten und Brillanten. Der Versicherungswert betrug mindestens 113,8 Millionen Euro. Sechs Mitglieder der Berliner Remmo-Großfamilie wurden angeklagt; im Dezember 2022 gab der Clan einen großen Teil der Objekte zurück – teilweise beschädigt. Fünf Täter wurden 2023 verurteilt, einer freigesprochen.",
|
||||
"data": {
|
||||
"tatdatum": { "value": "2019-11-25", "description": "Datum des Einbruchs (25. November 2019)" },
|
||||
"tatzeit": { "value": "ca. 05:00", "description": "Frühe Morgenstunden, vermutlich gegen 5 Uhr" },
|
||||
"entdeckung_uhrzeit": { "value": "04:55", "description": "Sicherheitsdienst bemerkte Täter kurz vor 5 Uhr auf den Kameras" },
|
||||
"polizei_alarm_uhrzeit": { "value": "05:00", "description": "Polizei wurde gegen 5 Uhr informiert" },
|
||||
"streife_eintreffen_minuten": { "value": 5, "description": "Erste Funkstreife traf etwa 5 Minuten nach Alarm am Tatort ein" },
|
||||
"schmuckstuecke_gestohlen": { "value": 21, "description": "Anzahl der gestohlenen Schmuckstücke" },
|
||||
"diamanten_gesamt": { "value": 4300, "description": "Anzahl der Diamanten/Brillanten in den gestohlenen Stücken" },
|
||||
"versicherungswert_euro": { "value": 113800000, "description": "Versicherungswert der gestohlenen Objekte in Euro (mind. 113,8 Mio €)" },
|
||||
"angeklagte": { "value": 6, "description": "Anzahl der Angeklagten (Remmo-Großfamilie)" },
|
||||
"verurteilt": { "value": 5, "description": "Anzahl der Verurteilten (Mai 2023)" },
|
||||
"freigesprochen": { "value": 1, "description": "Anzahl der Freigesprochenen" },
|
||||
"schaden_beschaedigung_euro": { "value": 23500000, "description": "Geschätzter Schaden durch Beschädigung bei Rückgabe (22–25 Mio €, Mittelwert 23,5 Mio)" },
|
||||
"prozessbeginn": { "value": "2022-01-28", "description": "Beginn des Prozesses vor dem Landgericht Dresden" },
|
||||
"rueckgabe": { "value": "2022-12", "description": "Rückgabe eines großen Teils der Objekte durch den Clan (beschädigt)" },
|
||||
"urteil": { "value": "2023-05", "description": "Verurteilung von fünf Tätern" },
|
||||
"timeline": [
|
||||
{ "date": "2019-11-25", "time": "ca. 05:00", "description": "Einbruch: Täter nutzen Stromausfall (Brand Augustusbrücke), dringen ins Juwelenzimmer ein, stehlen 21 Schmuckstücke mit 4.300 Diamanten (Versicherungswert mind. 113,8 Mio €)." },
|
||||
{ "date": "2022-01", "description": "Sechs Mitglieder der Berliner Remmo-Großfamilie festgenommen und angeklagt." },
|
||||
{ "date": "2022-01-28", "description": "Prozessbeginn vor dem Landgericht Dresden." },
|
||||
{ "date": "2022-12", "description": "Clan gibt großen Teil der gestohlenen Objekte zurück – teilweise beschädigt; Schadensschätzung 22–25 Mio €." },
|
||||
{ "date": "2023-05", "description": "Fünf Täter verurteilt, einer freigesprochen." }
|
||||
]
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "dresden-1",
|
||||
"question": "📊 SCHADENSBERECHNUNG (Ermittler/Versicherung):\n\nDie gestohlenen 21 Schmuckstücke enthielten insgesamt 4.300 Diamanten und Brillanten. Der Versicherungswert betrug mindestens 113,8 Millionen Euro.\n\nWie viel Euro Versicherungswert entfielen durchschnittlich pro gestohlenes Schmuckstück? (Runde auf ganze Millionen Euro – gib die Zahl in Euro an, z. B. 5000000.)",
|
||||
"answer": 5000000,
|
||||
"points": 10,
|
||||
"type": "word-problem"
|
||||
},
|
||||
{
|
||||
"id": "dresden-2",
|
||||
"question": "⏱ EINSATZAUSWERTUNG (Zeitfenster):\n\nDer Sicherheitsdienst bemerkte die Täter um 04:55 Uhr auf den Überwachungskameras im Juwelenzimmer. Die erste Polizeistreife traf um 05:05 Uhr am Tatort ein.\n\nWie viele Minuten Vorsprung hatten die Täter zwischen der Entdeckung und dem Eintreffen der Polizei? (Relevanz für die Flucht.)",
|
||||
"answer": 10,
|
||||
"points": 5,
|
||||
"type": "word-problem"
|
||||
},
|
||||
{
|
||||
"id": "dresden-3",
|
||||
"question": "📐 DIAMANTEN PRO STÜCK (Ermittler-Kennzahl):\n\nEs wurden 21 Schmuckstücke mit insgesamt 4.300 Diamanten und Brillanten gestohlen.\n\nWie viele Diamanten/Brillanten entfielen durchschnittlich pro Schmuckstück? (Runde auf ganze Zahl.)",
|
||||
"answer": 205,
|
||||
"points": 10,
|
||||
"type": "word-problem"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +1,53 @@
|
||||
{
|
||||
"chapter": "🏦 Berlin-Steglitz: Der Bankeinbruch 2013",
|
||||
"description": "Im Januar 2013 gruben Täter einen unterirdischen Tunnel von einem leerstehenden Ladenlokal zur Sparkasse in Berlin-Steglitz. Über mehrere Tage arbeiteten sie sich durch den Boden, um unbemerkt in die Tresorräume der Bank zu gelangen. Der Einbruch wurde erst entdeckt, nachdem die Täter bereits mit der Beute geflohen waren.",
|
||||
"chapter": "🏦 Berlin-Steglitz: Der Tunnel-Bankraub 2013",
|
||||
"description": "In der Nacht zum 14. Januar 2013 drangen Täter in eine Filiale der Berliner Volksbank in Steglitz ein – über einen etwa 45 Meter langen Tunnel aus einer gemieteten Tiefgarage. Sie durchbrachen eine 80 cm dicke Stahlbetonwand zum Tresorraum und brachen 309 der rund 1600 Schließfächer auf (294 davon waren vermietet). Die Beute wurde auf etwa 10 Millionen Euro geschätzt. Die Täter legten ein Feuer zur Spurenvernichtung; die Bande wurde nie gefasst.",
|
||||
"data": {
|
||||
"tatdatum": { "value": "2013-01-14", "description": "Datum des Einbruchs (Nacht zum 14. Januar 2013)" },
|
||||
"tatzeit_hinweis": { "value": "Nacht zum 14.01., keine exakten Uhrzeiten öffentlich", "description": "Zum Einbruch selbst sind öffentlich keine genauen Uhrzeiten überliefert; nur die Entdeckungszeit ist bekannt." },
|
||||
"entdeckung_uhrzeit": { "value": "06:15", "description": "Entdeckung am Montagmorgen gegen 6:15 Uhr – Anwohner bemerkt Rauch in der Tiefgarage (Feuer zur Spurenvernichtung)." },
|
||||
"bank": { "value": "Berliner Volksbank", "description": "Betroffene Bank (Filiale Steglitz)" },
|
||||
"tunnel_laenge_m": { "value": 45, "description": "Länge des Tunnels von der Tiefgarage zum Tresorraum in Metern" },
|
||||
"tunnel_tiefe_m": { "value": 4, "description": "Tiefe des Tunnels unter der Erde in Metern" },
|
||||
"wand_tresor_cm": { "value": 80, "description": "Dicke der durchbrochenen Stahlbetonwand zum Tresorraum in Zentimetern" },
|
||||
"wand_tiefgarage_cm": { "value": 30, "description": "Dicke der durchbrochenen Betonwand der Tiefgarage in Zentimetern" },
|
||||
"schliessfaecher_gesamt": { "value": 1600, "description": "Anzahl der Schließfächer im Tresorraum insgesamt (rund)" },
|
||||
"schliessfaecher_aufgebrochen": { "value": 309, "description": "Anzahl der von den Tätern aufgebrochenen Schließfächer" },
|
||||
"schliessfaecher_vermietet": { "value": 294, "description": "Anzahl der vermieteten unter den aufgebrochenen Fächern" },
|
||||
"schliessfaecher_leer": { "value": 15, "description": "Anzahl der aufgebrochenen, aber nicht vermieteten (leeren) Fächer (309 − 294)" },
|
||||
"schliessfaecher_unangetastet": { "value": 1291, "description": "Anzahl der nicht aufgebrochenen Schließfächer (1600 − 309)" },
|
||||
"beute_euro": { "value": 10000000, "description": "Geschätzte Beute in Euro (Schmuck, Geld, Gold)" },
|
||||
"material_abtransport_tonnen": { "value": 120, "description": "Abtransportiertes Sand und Geröll aus dem Tunnel in Tonnen (über Monate)" },
|
||||
"parkplaetze_gemietet": { "value": 4, "description": "Anzahl der in der Tiefgarage gemieteten Parkplätze" },
|
||||
"vorbereitung_ab": { "value": "2011-Herbst", "description": "Beginn der Vorbereitung (Herbst 2011, u.a. Schließfach mit gefälschtem Pass gemietet)" },
|
||||
"timeline": [
|
||||
{ "date": "2011-Herbst", "description": "Ein Mann mietet mit gefälschtem niederländischen Pass (Name: Pavel Hatira) ein Schließfach in der Berliner Volksbank Filiale Steglitz." },
|
||||
{ "date": "2012-Anfang", "description": "Tiefgaragenstellplatz in der Wrangelstraße wird gemietet (unter falschem Namen); Rolltor ermöglicht ungestörtes Arbeiten." },
|
||||
{ "date": "2012–2013", "description": "Tunnelbau über viele Monate: ca. 45 m Tunnel, 4 m tief, von Tiefgarage zum Tresorraum; 120 t Sand und Geröll abtransportiert; Durchbruch 30 cm Betonwand (Tiefgarage), 80 cm Stahlbetonwand (Bank)." },
|
||||
{ "date": "2013-01-14", "time": "Nacht", "description": "Einbruch (keine exakten Uhrzeiten öffentlich): Täter dringen über Tunnel in Tresorraum ein, brechen 309 von rund 1600 Schließfächern auf (294 vermietet); Beute ca. 10 Mio €; Feuer zur Spurenvernichtung gelegt." },
|
||||
{ "date": "2013-01-14", "time": "06:15", "description": "Entdeckung: Anwohner bemerkt gegen 6:15 Uhr Rauch in der Tiefgarage; Polizei rückt aus." },
|
||||
{ "date": "2013", "description": "Ermittlungen; Bande wird nie gefasst." }
|
||||
]
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"id": "steglitz-1",
|
||||
"question": "💬 Chat-Protokoll der Täter (von Polizei abgefangen):\n\nNach dem Bankeinbruch in Berlin-Steglitz 2013:\n\nTäter1: 'Wie viel haben wir eigentlich aus den Tresoren geholt?'\nTäter2: 'Ich hab alle Geldscheine gezählt: 847.000 €'\nTäter3: 'Ne, das kann nicht stimmen. Ich komme auf 1.234.000 €'\nTäter1: 'Moment, lass mich nochmal nachzählen...'\n\nBei der späteren Polizeivernehmung stellte sich heraus: Täter2 hatte sich beim Zählen um 387.000 € verzählt.\n\nWie viel wurde tatsächlich aus der Bank gestohlen?",
|
||||
"answer": 1234000,
|
||||
"points": 45,
|
||||
"question": "📊 TATORT-STATISTIK (Betroffene Fächer):\n\nIm Tresorraum der Berliner Volksbank Steglitz gab es rund 1600 Schließfächer. Die Täter brachen 309 davon auf; 294 der aufgebrochenen Fächer waren vermietet.\n\nWie viele der aufgebrochenen Fächer waren nicht vermietet (also leer)? – Relevant für Schadensmeldungen und Anzahl der Geschädigten.",
|
||||
"answer": 15,
|
||||
"points": 5,
|
||||
"type": "word-problem"
|
||||
},
|
||||
{
|
||||
"id": "steglitz-2",
|
||||
"question": "Die Täter gruben einen Tunnel von einem leerstehenden Ladenlokal zur Sparkasse in Berlin-Steglitz. Der Tunnel sollte 47 Meter lang werden.\n\nDrei Täter gruben gemeinsam und schafften zusammen 8 Meter pro Tag.\nNach 2 Tagen kam ein vierter Täter dazu. An diesem Tag gruben alle vier zusammen weitere 15 Meter.\n\nWie viele Meter des Tunnels fehlten noch, bis sie die Bank erreichten?",
|
||||
"answer": 16,
|
||||
"points": 50,
|
||||
"question": "📐 SCHADENSPRO EINHEIT (Ermittler-Kennzahl):\n\nDie Beute aus dem Tunnel-Bankraub wurde auf etwa 10 Millionen Euro geschätzt. Es wurden 309 Schließfächer aufgebrochen.\n\nWie viel Euro Beute entfielen durchschnittlich pro aufgebrochenes Fach? (Runde auf ganze Euro.)",
|
||||
"answer": 32362,
|
||||
"points": 15,
|
||||
"type": "word-problem"
|
||||
},
|
||||
{
|
||||
"id": "steglitz-3",
|
||||
"question": "📊 POLIZEIBERICHT - Zeitleiste des Bankeinbruchs:\n\nBerlin-Steglitz, Januar 2013:\n\nTag 1, 14:30 Uhr: Täter beginnen Tunnelbau vom leerstehenden Laden\nTag 3, 18:45 Uhr: Tunnel ist fertig, sie erreichen die Bank\nTag 4, 02:15 Uhr: Täter brechen in die Tresorräume ein\nTag 4, 04:37 Uhr: Täter fliehen durch den Tunnel mit der Beute\nTag 5, 11:20 Uhr: Bankangestellte entdecken den Einbruch\n\nBerechne: Wie viele Stunden vergingen vom Beginn des Tunnelbaus bis zur Flucht der Täter? (Antwort in Stunden, runde auf ganze Stunden)",
|
||||
"answer": 84,
|
||||
"points": 55,
|
||||
"question": "📐 TATORT (Betroffene Fächer):\n\nIm Tresorraum der Berliner Volksbank Steglitz gab es rund 1600 Schließfächer. Die Täter brachen 309 davon auf.\n\nWie viele Schließfächer blieben unangetastet?",
|
||||
"answer": 1291,
|
||||
"points": 5,
|
||||
"type": "word-problem"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -63,6 +63,14 @@ function extractChapters() {
|
||||
}
|
||||
}
|
||||
|
||||
// Prüfe ob alle Aufgaben eines Kapitels gelöst sind
|
||||
function isChapterCompleted(chapter) {
|
||||
const chapterTasks = tasks.filter(task => task.chapter === chapter);
|
||||
if (chapterTasks.length === 0) return false;
|
||||
|
||||
return chapterTasks.every(task => task.isCorrect === true);
|
||||
}
|
||||
|
||||
// Rendere Sidebar für alle Chapters
|
||||
function renderSidebar() {
|
||||
const sidebar = document.getElementById('sidebar');
|
||||
@@ -86,12 +94,21 @@ function renderSidebar() {
|
||||
|
||||
chapters.forEach(chapter => {
|
||||
const sidebarItem = document.createElement('div');
|
||||
sidebarItem.className = `sidebar-item ${activeChapter === chapter ? 'active' : ''}`;
|
||||
const isCompleted = isChapterCompleted(chapter);
|
||||
let itemClasses = `sidebar-item ${activeChapter === chapter ? 'active' : ''}`;
|
||||
if (isCompleted) {
|
||||
itemClasses += ' completed';
|
||||
}
|
||||
sidebarItem.className = itemClasses;
|
||||
sidebarItem.onclick = () => switchChapter(chapter);
|
||||
|
||||
const title = document.createElement('div');
|
||||
title.className = 'sidebar-item-title';
|
||||
title.textContent = chapter;
|
||||
let titleText = chapter;
|
||||
if (isCompleted) {
|
||||
titleText = '✓ ' + titleText;
|
||||
}
|
||||
title.textContent = titleText;
|
||||
sidebarItem.appendChild(title);
|
||||
|
||||
sidebar.appendChild(sidebarItem);
|
||||
|
||||
@@ -66,6 +66,20 @@ body {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.sidebar-item.completed {
|
||||
background: #1e3a2e;
|
||||
border-left: 4px solid #27ae60;
|
||||
}
|
||||
|
||||
.sidebar-item.completed:hover {
|
||||
background: #2a4a3a;
|
||||
}
|
||||
|
||||
.sidebar-item.completed.active {
|
||||
background: #1a252f;
|
||||
border-left: 4px solid #27ae60;
|
||||
}
|
||||
|
||||
.sidebar-item-title {
|
||||
font-size: 0.95em;
|
||||
line-height: 1.4;
|
||||
|
||||
12
server.js
12
server.js
@@ -28,17 +28,18 @@ function loadTasks() {
|
||||
files.forEach(file => {
|
||||
if (file.endsWith('.json')) {
|
||||
const filePath = path.join(CASES_DIR, file);
|
||||
try {
|
||||
const data = fs.readFileSync(filePath, 'utf8');
|
||||
if (!data || !data.trim()) {
|
||||
console.warn('Leere Datei übersprungen:', file);
|
||||
return;
|
||||
}
|
||||
const caseData = JSON.parse(data);
|
||||
|
||||
// Unterstütze sowohl alte Struktur (Array) als auch neue Struktur (Objekt)
|
||||
if (Array.isArray(caseData)) {
|
||||
// Alte Struktur: direktes Array von Tasks
|
||||
allTasks.push(...caseData);
|
||||
} else if (caseData.tasks && Array.isArray(caseData.tasks)) {
|
||||
// Neue Struktur: Objekt mit chapter, description, tasks
|
||||
caseData.tasks.forEach(task => {
|
||||
// Füge chapter und chapterDescription zu jeder Task hinzu
|
||||
const taskWithChapter = {
|
||||
...task,
|
||||
chapter: caseData.chapter,
|
||||
@@ -47,6 +48,9 @@ function loadTasks() {
|
||||
allTasks.push(taskWithChapter);
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Fehler beim Laden von', file, ':', err.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user