:feature:profile
Purpose: Read-only profile display and sign-out, backed by :data's local-only ProfileRepositoryImpl (DataStore + Firebase Auth, no Room).
Key APIs
| API | What it does |
|---|---|
ProfileScreen / ProfileViewModel | Displays profile info; signOut() signs out of Firebase Auth, then resets preferences if that succeeds |
Destination signature excerpt; imports and function body are omitted.
// feature/profile/src/main/kotlin/dev/atick/feature/profile/ui/ProfileScreen.kt
@Composable
internal fun ProfileScreen(
onShowSnackbar: suspend (String, SnackbarAction, Throwable?) -> Boolean,
profileViewModel: ProfileViewModel = hiltViewModel(),
)Content copied to clipboard
Sign-out returns Result<Unit> through ProfileRepository; it does not erase Room or remote records. Profile is read-only here: there is no avatar upload or profile-editing UI.
Related Documentation
Guide — the canonical feature walkthrough to follow when adding a new screen
State Management —
UiState/StatefulComposablepattern used hereNavigation — how this module's entry is registered with
NavigatorCredential Manager guide — the auth source used by
ProfileRepository