IMPORTANT: The file content has been truncated. Status: Showing lines 480-520 of 758 total lines. Action: To read more of the file, you can use the 'start_line' and 'end_line' parameters in a subsequent 'read_file' call. For example, to read the next section of the file, use start_line: 521. --- FILE CONTENT (truncated) --- }, modifier = Modifier.clickable { viewModel.onEvent(SettingsEvent.RequestUpgrade) }, ) } } Spacer(Modifier.height(2.dp)) Card( modifier = Modifier.fillMaxWidth(), shape = RoundedCornerShape(topStart = 4.dp, topEnd = 4.dp, bottomStart = 24.dp, bottomEnd = 24.dp), colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceContainerLow), ) { ListItem( headlineContent = { Text(stringResource(R.string.restore_button)) }, leadingContent = { SettingIcon( icon = Icons.Default.Info, containerColor = MaterialTheme.colorScheme.surfaceVariant, tint = MaterialTheme.colorScheme.onSurfaceVariant, ) }, trailingContent = { if (state.isRestoringPurchases) { CircularProgressIndicator(modifier = Modifier.size(24.dp)) } }, modifier = Modifier.clickable(enabled = !state.isRestoringPurchases) { viewModel.onEvent(SettingsEvent.RestorePurchases) }, ) } Spacer(Modifier.height(8.dp)) // ── Developer ────────────────────────────────────────────────── if (BuildConfig.DEBUG) { SectionHeader(stringResource(R.string.settings_developer_title)) Card( modifier = Modifier.fillMaxWidth(), shape = RoundedCornerShape(24.dp),