:feature:settings

This module handles user preferences and app settings. It provides a UI for configuring app behavior and managing user preferences.

Features

  • Theme Configuration (Light/Dark)

  • Dynamic Color Toggle

  • Open Source Licenses

  • User Profile Settings

  • Sign Out Option

  • Preferences Persistence

Dependencies Graph

Usage

dependencies {
implementation(project(":feature:settings"))
}

Settings Dialog

@Composable
fun SettingsDialog(
onDismiss: () -> Unit,
onShowSnackbar: suspend (String, SnackbarAction, Throwable?) -> Boolean
)

Key Features

  1. Theme Settings:

    @Composable
    fun ThemeSettings(
    darkThemeConfig: DarkThemeConfig,
    useDynamicColor: Boolean,
    onDarkThemeConfigChange: (DarkThemeConfig) -> Unit,
    onUseDynamicColorChange: (Boolean) -> Unit
    )
  2. Profile Settings:

    @Composable
    fun ProfileSettings(
    onSignOut: () -> Unit,
    onShowLicenses: () -> Unit
    )

The module uses DataStore Preferences for persistent storage of user settings.

Packages

Link copied to clipboard
Link copied to clipboard