Update event management system by adding Uhrzeit to Termine; enhance data handling in API and CSV exports to accommodate new fields. Refactor Termine component for improved date and time formatting, ensuring accurate display of events. Clean up unused code in MannschaftenUebersicht and streamline layout in Mannschaften index page for better user experience.
This commit is contained in:
@@ -37,9 +37,10 @@ async function readTermine() {
|
||||
id: randomUUID(),
|
||||
// Generate ID on-the-fly for editing
|
||||
datum: values[0],
|
||||
titel: values[1],
|
||||
beschreibung: values[2],
|
||||
kategorie: values[3]
|
||||
uhrzeit: values[1] || "",
|
||||
titel: values[2] || "",
|
||||
beschreibung: values[3] || "",
|
||||
kategorie: values[4] || "Sonstiges"
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -54,17 +55,19 @@ async function readTermine() {
|
||||
}
|
||||
async function writeTermine(termine) {
|
||||
try {
|
||||
let csv = '"datum","titel","beschreibung","kategorie"\n';
|
||||
let csv = '"datum","uhrzeit","titel","beschreibung","kategorie"\n';
|
||||
for (const termin of termine) {
|
||||
const datum = termin.datum || "";
|
||||
const uhrzeit = termin.uhrzeit || "";
|
||||
const titel = termin.titel || "";
|
||||
const beschreibung = termin.beschreibung || "";
|
||||
const kategorie = termin.kategorie || "";
|
||||
const escapedDatum = datum.replace(/"/g, '""');
|
||||
const escapedUhrzeit = uhrzeit.replace(/"/g, '""');
|
||||
const escapedTitel = titel.replace(/"/g, '""');
|
||||
const escapedBeschreibung = beschreibung.replace(/"/g, '""');
|
||||
const escapedKategorie = kategorie.replace(/"/g, '""');
|
||||
csv += `"${escapedDatum}","${escapedTitel}","${escapedBeschreibung}","${escapedKategorie}"
|
||||
csv += `"${escapedDatum}","${escapedUhrzeit}","${escapedTitel}","${escapedBeschreibung}","${escapedKategorie}"
|
||||
`;
|
||||
}
|
||||
await promises.writeFile(TERMINE_FILE, csv, "utf-8");
|
||||
@@ -78,6 +81,7 @@ async function saveTermin(terminData) {
|
||||
const termine = await readTermine();
|
||||
const newTermin = {
|
||||
datum: terminData.datum,
|
||||
uhrzeit: terminData.uhrzeit || "",
|
||||
titel: terminData.titel,
|
||||
beschreibung: terminData.beschreibung || "",
|
||||
kategorie: terminData.kategorie || "Sonstiges"
|
||||
@@ -90,7 +94,7 @@ async function saveTermin(terminData) {
|
||||
async function deleteTermin(terminData) {
|
||||
let termine = await readTermine();
|
||||
termine = termine.filter(
|
||||
(t) => !(t.datum === terminData.datum && t.titel === terminData.titel && t.beschreibung === terminData.beschreibung && t.kategorie === terminData.kategorie)
|
||||
(t) => !(t.datum === terminData.datum && (t.uhrzeit || "") === (terminData.uhrzeit || "") && t.titel === terminData.titel && t.beschreibung === terminData.beschreibung && t.kategorie === terminData.kategorie)
|
||||
);
|
||||
await writeTermine(termine);
|
||||
return true;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"termine.mjs","sources":["../../../../server/utils/termine.js"],"sourcesContent":null,"names":["fs"],"mappings":"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"}
|
||||
{"version":3,"file":"termine.mjs","sources":["../../../../server/utils/termine.js"],"sourcesContent":null,"names":["fs"],"mappings":"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"}
|
||||
Reference in New Issue
Block a user