/mocks
├── api # JSON-Dateien für editierbare Entwicklung
│ └── SERVICE/
│ ├── digitaleAusgaengeMockData.json
│ ├── kabelueberwachungMockData.json
│ └── ...
├── js-simulator # CPL-Verhalten (GETs/Antworten/Dateien simulieren)
│ ├── SERVICE/
│ ├── meldungen/
│ ├── TDM/
│ ├── TDR/
│ └── ...
/public
└── CPL/ # Nur CGI-Platzhalter wie auf dem echten Gerät

„Service-Layered State Management“
oder „Side Effect Isolation with Thunks“

Services → Thunks → Slices → UI

| Ebene       | Aufgabe                                                              |
| ----------- | -------------------------------------------------------------------- |
| **Service** | Macht den eigentlichen API-Aufruf (`fetch`, `axios`, etc.)           |
| **Thunk**   | Ruft den Service auf, behandelt `dispatch`, `loading/error`, etc.    |
| **Slice**   | Speichert den State (`data`, `loading`, `error`)                     |
| **UI**      | Liest den State über `useSelector`, ruft Aktionen per `dispatch` auf |
