Package-level declarations

Types

Link copied to clipboard

Theme modes that match AppCompatDelegate constants for cross-platform use.

Functions

Link copied to clipboard
fun AppearanceSection(onShowLanguagePicker: () -> Unit, onShowThemePicker: () -> Unit)

Section for app appearance settings like language and theme.

Link copied to clipboard
@Preview(showBackground = true)
fun AppearanceSectionPreview()
Link copied to clipboard
fun AppInfoSection(appVersionName: String, excludedModulesUnlocked: Boolean, onUnlockExcludedModules: () -> Unit, onShowAppIntro: () -> Unit, onNavigateToAbout: () -> Unit)

Section displaying application information and related actions.

Link copied to clipboard
@Preview(showBackground = true)
fun AppInfoSectionPreview()
Link copied to clipboard
fun ExpressiveSection(title: String, modifier: Modifier = Modifier, titleColor: Color = MaterialTheme.colorScheme.primary, content: @Composable ColumnScope.() -> Unit)

A styled section container for settings screens.

Link copied to clipboard
fun HomoglyphSetting(homoglyphEncodingEnabled: Boolean, onToggle: () -> Unit)
Link copied to clipboard
fun NodeLayoutSettings(state: NodeListSettingsState, onDensityChange: (NodeListDensity) -> Unit, onShowPowerChange: (Boolean) -> Unit, onShowLastHeardChange: (Boolean) -> Unit, onLastHeardIsRelativeChange: (Boolean) -> Unit, onShowLocationChange: (Boolean) -> Unit, onShowHopsChange: (Boolean) -> Unit, onShowSignalChange: (Boolean) -> Unit, onShowChannelChange: (Boolean) -> Unit, onShowRoleChange: (Boolean) -> Unit, onShowTelemetryChange: (Boolean) -> Unit, modifier: Modifier = Modifier)

Node layout density picker and compact field toggles for the Settings screen.

Link copied to clipboard
fun NotificationSection(messagesEnabled: Boolean, onToggleMessages: (Boolean) -> Unit, nodeEventsEnabled: Boolean, onToggleNodeEvents: (Boolean) -> Unit, lowBatteryEnabled: Boolean, onToggleLowBattery: (Boolean) -> Unit)

Notification settings section with in-app toggles. Primarily used on platforms without system notification channels.

Link copied to clipboard
fun PersistenceSection(cacheLimit: Int, onSetCacheLimit: (Int) -> Unit, nodeShortName: String, onExportData: (Uri) -> Unit)

Section for settings related to data persistence and exports.

Link copied to clipboard
@Preview(showBackground = true)
fun PersistenceSectionPreview()
Link copied to clipboard
fun PrivacySection(analyticsAvailable: Boolean, analyticsEnabled: Boolean, onToggleAnalytics: () -> Unit, provideLocation: Boolean, onToggleLocation: (Boolean) -> Unit, homoglyphEnabled: Boolean, onToggleHomoglyph: () -> Unit, startProvideLocation: () -> Unit, stopProvideLocation: () -> Unit)

Section managing privacy settings like analytics and location sharing.

Link copied to clipboard

Sample node rendered in Compact density with all fields enabled.

Link copied to clipboard

Sample node in Compact with no optional fields — name row only.

Link copied to clipboard

Sample node in Compact with only signal + last heard (absolute time).

Link copied to clipboard

Matrix view showing compact node item in various toggle states. Each row: label describing active toggles → rendered node item.

Link copied to clipboard

Sample node in Complete density with Fahrenheit temperature.

Link copied to clipboard

Sample node in Complete density with Imperial units.

Link copied to clipboard

Sample node rendered in Complete density (all fields visible).

Link copied to clipboard

Matrix view showing complete node item with/without metrics toggle.

Link copied to clipboard
fun ThemePickerDialog(onClickTheme: (Int) -> Unit, onDismiss: () -> Unit)

Shared dialog for picking a theme option. Used by both Android and Desktop settings screens.