digraph UseCaseDiagram {
    rankdir=LR;
    User [shape=ellipse, label="User"];
    
    subgraph cluster_0 {
        label="Redux Toolkit";
        style=dashed;
        
        UC1 [label="Modul auswählen", shape=box];
        UC2 [label="Daten abrufen", shape=box];
        UC3 [label="Thunk verarbeitet Anfrage", shape=box];
        UC4 [label="Service ruft Daten ab", shape=box];
        UC5 [label="Redux speichert Daten", shape=box];
        UC6 [label="UI rendert mit neuen Daten", shape=box];
    }

    User -> UC1 [label="Wählt Modul aus"];
    User -> UC2 [label="Lädt Daten"];

    UC2 -> UC3 [label="Thunk dispatchen"];
    UC3 -> UC4 [label="Service anfragen"];
    UC4 -> UC5 [label="Antwort an Redux"];
    UC5 -> UC6 [label="Redux State aktualisieren"];
    UC6 -> User [label="UI aktualisiert sich"];
}
