feat(characters:presentation-compose): list renderer, Root/Screen split, previews (REDI-88)

- CharacterListRoot: koinViewModel(), ObserveAsEvents, forwards nav + shows snackbar via Context asString.
- CharacterListScreen: pure state+onAction; AppScaffold + LazyColumn (key=id), design-system
  NetworkImage (contentDescription)/AppCard, loading/error/empty states, snapshot-based
  scroll-to-end -> OnLoadNextPage (ViewModel guards duplicates).
- Loaded + error previews wrapped in AppTheme.
- feature:characters:presentation now exposes kotlinx-immutable as api (ImmutableList is in the state API).
This commit is contained in:
2026-06-10 12:48:21 +02:00
parent 2a419df43e
commit dd4576409d
3 changed files with 273 additions and 1 deletions

View File

@@ -0,0 +1,8 @@
<resources>
<string name="characters_title">Characters</string>
<string name="characters_empty">No characters to show.</string>
<string name="cd_character_avatar">Avatar of %1$s</string>
<string name="status_alive">Alive</string>
<string name="status_dead">Dead</string>
<string name="status_unknown">Unknown</string>
</resources>