:feature:profile

Purpose: Read-only profile display and sign-out, backed by :data's local-only ProfileRepositoryImpl (DataStore + Firebase Auth, no Room).

Key APIs

APIWhat it does
ProfileScreen / ProfileViewModelDisplays 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(),
)

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/StatefulComposable pattern used here

  • Navigation — how this module's entry is registered with Navigator

  • Credential Manager guide — the auth source used by ProfileRepository

Packages

Link copied to clipboard
Link copied to clipboard