user search - shedowe19/routely GitHub Wiki
Ermöglicht die Suche nach anderen Träwelling-Nutzern anhand ihres Benutzernamens.
Aufgerufen vom Feed-Screen über die Suchen-Schaltfläche. Navigiert nach Auswahl eines Nutzers zum UserProfileScreen.
app/src/main/kotlin/de/traewelling/app/ui/screens/UserSearchScreen.ktapp/src/main/kotlin/de/traewelling/app/viewmodel/UserSearchViewModel.kt
- Nutzer gibt Benutzername ein
- Nach 350ms Debounce wird
repo.searchUsers(query)aufgerufen - Ergebnisse werden als LazyColumn mit kartenartigen UserListItems angezeigt
Jede neue Eingabe beendet den bisherigen Suchauftrag, leert alte Treffer und erhöht die Suchgeneration. Selbst eine verspätete API-Antwort darf nur zur weiterhin aktuellen Eingabe veröffentlicht werden. Leere Eingabe startet keine Anfrage; Sitzungwechsel beendet das ViewModel über den Auth-Store.
- Suchzustände, leere Ergebnisse und Ladezustände werden via
StateMessageangezeigt - Treffer werden als abgerundete Cards mit Avatar, Anzeigename, Benutzername und Chevron dargestellt
| Feld | Typ | Beschreibung |
|---|---|---|
query |
String | Aktueller Suchbegriff |
searchResults |
List | Suchergebnisse |
isLoading |
Boolean | Ladezustand |
error |
String? | Fehlermeldung |
-
TraewellingRepository:
searchUsers(query)für API-Aufruf - StateMessage: Einheitliche UI für Such-, Lade- und Empty-States
- Keine spezifischen aktuell.