## ScStone.js

Verantwortlichkeiten der ScStone-Klasse
Die ScStone-Klasse ist jetzt ein echtes Datenmodell. Ihre Methoden haben die richtige Rolle:

Daten-Validierung und -Verwaltung: Methoden wie set(), convertToNumber() und das allowedFields-Objekt stellen sicher, 
dass die Daten intern korrekt sind. Dies ist die Kernaufgabe eines Datenmodells.

Vorbereitung der Geschäftsdaten: Die Methoden updateCleaningStatus() und updateCaretakerStatus() bereiten das 
korrekte Datenobjekt (data) vor, das für die jeweilige Geschäftslogik notwendig ist. Sie kennen die Struktur des 
Stolpersteins und wissen, welche Daten für das Backend benötigt werden.

Delegation an den BackendService: Anstatt selbst fetch()-Aufrufe durchzuführen, delegieren diese Methoden die 
Netzwerkanfrage korrekt an die this.backendService-Instanz. 

Die Logik, die jetzt in ScStone verbleibt, ist die Domänenlogik oder Geschäftslogik – also alles, was mit der 
Repräsentation und dem Zustand eines Stolpersteins zu tun hat. Die Netzwerklogik wurde erfolgreich ausgelagert.

## app-ui-co.js
 app-ui-co.js
 Die app-ui-co koordiniert die Benutzeroberfläche der Anwendung und ist insbesondere dafür zuständig, 
  ständig sichtare UI-Elemente auf der top-ebene  wie zB das Such-trigger-feld mit den aktuellen Adressinformationen 
 (aus dem bottom sheet) zu synchronisieren und zu aktualisieren.

 Aktualisiert das Suchfeld mit der übergebenen Adresse oder setzt den Standardtext.
 @param {string|null} address - Die Adresse, die angezeigt werden soll.

## bs-cluster-co.js
 bs-cluster-co.js
 Aufgabe ist die Steuerung der Inhalte und Aktionen für das Bottom Sheet, falls ein Cluster geklickt wird
## bs-gen-co.js
 bs-gen-co.js
 Die Hauptaufgabe von bs-gen-co.js ist es, als zentrale Schaltzentrale für das Bottom Sheet zu fungieren. 
 Sie sollte die Verantwortung dafür übernehmen, welche Inhalte und Listener basierend auf dem aktuellen Zustand 
 (POI oder Cluster) geladen werden. Dadurch werden bs-poi-co.js und bs-cluster-co.js entlastet und können sich 
 ausschließlich auf die spezifische Geschäftslogik konzentrieren.
 bs-gen-co.js
## bs-gen-ui.js
 bs-gen-ui.js
## bs-poi-co.js
 bs-poi-co.js
 Hauptaufgabe ist die Koordination der Bottom-Sheet-Inhalte und -Aktionen
 für einen einzelnen Stolperstein (POI). Es generiert den dynamischen HTML-Code
 für das Sheet und verwaltet die Event-Listener für Buttons und Checkboxen.
 Dadurch werden die Daten des POI im bs visualisiert und die Aktionen mit der Anwendung
 verknüpft, ohne die Karten-UI direkt zu beeinflussen.
## insert-poi-co.js
 insert-poi-co.js
 Aufgabe von insert-poi-co ist es, die gesamte Logik für das Hinzufügen und Speichern neuer Stolpersteine zu koordinieren, 
 indem es die Benutzeroberfläche mit dem Backend-Dienst verbindet.
todo/nice to have: es wäre sinnvoll, dass der neu angelegte poi sofort in der map narkiert und im bs angezeigt wird

## insert-poi-ui.js
 insert-poi-ui.js
## gui-address-co.js
 gui-address-co.js
 Aufgabe: übergeordnete Verantwortung für die komplette Abwicklung einer Adresssuche auf der Karte.
 incl. öffnen des bottom sheet
 nice-to-have: und spiderfy bei cluster
## map-cluster-mgr.js
 map-cluster-mgr.js
## map-gen-mgr.js
 map-gen-mgr.js

 @fileoverview Hauptmodul für die Initialisierung der Karte und das Management der POIs (Points of Interest).

 Die Hauptaufgabe dieser Datei ist die grundlegende Einrichtung der Leaflet-Karte,
 der Marker-Cluster-Gruppe und der globalen Zustandsverwaltung (`mapState`).
 Sie dient als zentrale Schaltstelle für das Laden der POI-Daten vom Backend und
 die Erzeugung der entsprechenden Marker auf der Karte.

 Die Datei ist verantwortlich für:
 1.  **Initialisierung**: Erstellt die Karteninstanz und fügt die Karten-Layer und die Marker-Cluster-Gruppe hinzu.
 2.  **Datenbeschaffung**: Ruft die POI-Daten vom Backend ab.
 3.  **Marker-Erstellung**: Erzeugt für jeden POI einen Marker mit den korrekten Daten und dem passenden Icon.
 4.  **Event-Handling (POI-Klicks)**: Richtet Event-Listener für einzelne Marker-Klicks ein und delegiert
 die nachfolgenden Aktionen (visuelle Hervorhebung, Bottom-Sheet-Aktualisierung) an andere spezialisierte Module.
 5.  **Zustandsverwaltung**: Verwaltet den globalen `mapState`-Zustand, um den Status der UI-Elemente
 (wie aktive Marker, gehighlightete Cluster und den Bottom-Sheet-Inhalt) zu verfolgen.

 Im Kern ist `map-gen-mgr.js` die "Orchester-Leitung", die die Karte aufbaut und sicherstellt,
 dass alle anderen Module (wie `map-poi-mgr.js` und `bs-gen-co.js`) zur richtigen Zeit die richtigen Aufgaben übernehmen.

## map-poi-mgr.js
 map-poi-mgr.js
  verwalten von Darstellung und  Verhalten der POIs (= Stolpersteine)) auf der Karte .
 Das Modul kümmert sich um Folgendes:
 Marker-Interaktion: Es behandelt Klicks auf Marker oder Cluster.
 Karten-UI: Es aktualisiert die visuelle Darstellung der Marker (z. B. Farbwechsel nach einer
 Reinigung) und passt die Kartenzentrierung an.
  Kommunikation: Es fungiert als Schnittstelle zwischen der Kartenansicht und den
 Koordinatoren, die für die Inhalte des Bottom Sheets zuständig sind.
## marker-display-utils.js
 marker-display-utils.js
 Aufgabe: Liefert die grundlegende Logik zur Farbbestimmung und zum Icon-HTML für einzelne Marker, 
 basierend auf deren last_cleaned-Datum und Patenschaftsstatus. 
 Es sind reine Hilfsfunktionen für die visuelle Darstellung.

 Bestimmt den Farbcode und den Text für einen Stolperstein basierend auf dem letzten Reinigungsdatum.
 @param {string|null} lastCleanedTimestamp Das letzte Reinigungsdatum als ISO-String oder null.
 @returns {{colorCode: string, text: string}} Ein Objekt mit Farbcode (green, yellow, orange, red, gray) und Status-Text.

## addrs-co.js
 addrs-co.js
 Behalte die Imports bei
## addrs-ui.js
 addrs-ui.js

 Managt die Benutzeroberfläche für die Adresssuche (Eingabefeld, Schließen-Button, Ergebnis-Sheet).
 Diese Klasse ist für das DOM-Management zuständig und informiert andere Module über Benutzerinteraktionen
 mittels Callbacks. Sie führt KEINE Kartenoperationen oder AJAX-Anfragen selbst aus.

 Diese Version injiziert ihr HTML und findet ihre Elemente selbst, ähnlich wie SettingsUI.

## sc-admin-mode.js
 sc-admin-mode.js
## backend-poi.js
 backend-poi.js
 Dies ist ein Dienst, der für die Kommunikation mit dem Backend zuständig ist.
 Er sollte keine UI-Logik oder Domänenlogik enthalten, sondern nur Daten senden und empfangen.
## sc-close-button.js
 sc-close-button.js
## sc-settings-co.js
Keine Kommentare am Dateianfang gefunden.

---

## sc-settings-help.js
 sc-settings-help.js
 Kapselt die UI und Logik für den Hilfe-Bereich (Markdown-Inhalte und Akkordeons), inklusive HTML und CSS.
## sc-settings-location.js
 sc-settings-location.js
 Diese Datei vereint die UI-Logik und die Koordination
 für die Standortfreigabe-Einstellungen in einer Klasse: ScSettingsLocation.
## sc-settings-ui.js
 sc-settings-ui.js
 UI-Logik für das Einstellungs-Panel, inklusive HTML-Struktur und CSS-Styling
 Diese Datei orchestriert die verschiedenen UI-Komponenten.
 Importiere die ScCloseButton Komponente
## sc-user-location.js
 sc-user-location.js
## sc-utilities.js
 Dies ist die modul-globale Variable für das Toast-Element
## validate_address.js
Keine Kommentare am Dateianfang gefunden.

---

