From 1fcab8ae1411dd9fc88aeb8fd62d6ae5e5f0929c Mon Sep 17 00:00:00 2001 From: sathwikcs <85106054+sathwikcs@users.noreply.github.com> Date: Tue, 15 Oct 2024 18:40:33 +0530 Subject: [PATCH] new icons --- .../components/subSetting/AboutCard.kt | 78 ++++++++++++++++ .../components/subSetting/AppearenceCard.kt | 90 +++++++++++++++++++ .../main/res/drawable/round_auto_mode_24.xml | 15 ++++ .../main/res/drawable/round_color_lens_24.xml | 5 ++ .../main/res/drawable/round_contrast_24.xml | 5 ++ .../res/drawable/round_delete_sweep_24.xml | 5 ++ .../res/drawable/round_developer_mode_24.xml | 5 ++ app/src/main/res/drawable/round_info_24.xml | 5 ++ .../main/res/drawable/round_logo_dev_24.xml | 7 ++ .../main/res/drawable/round_translate_24.xml | 5 ++ 10 files changed, 220 insertions(+) create mode 100644 app/src/main/java/in/sminnovations/attendanceapp/screens/settings/components/subSetting/AboutCard.kt create mode 100644 app/src/main/java/in/sminnovations/attendanceapp/screens/settings/components/subSetting/AppearenceCard.kt create mode 100644 app/src/main/res/drawable/round_auto_mode_24.xml create mode 100644 app/src/main/res/drawable/round_color_lens_24.xml create mode 100644 app/src/main/res/drawable/round_contrast_24.xml create mode 100644 app/src/main/res/drawable/round_delete_sweep_24.xml create mode 100644 app/src/main/res/drawable/round_developer_mode_24.xml create mode 100644 app/src/main/res/drawable/round_info_24.xml create mode 100644 app/src/main/res/drawable/round_logo_dev_24.xml create mode 100644 app/src/main/res/drawable/round_translate_24.xml diff --git a/app/src/main/java/in/sminnovations/attendanceapp/screens/settings/components/subSetting/AboutCard.kt b/app/src/main/java/in/sminnovations/attendanceapp/screens/settings/components/subSetting/AboutCard.kt new file mode 100644 index 0000000..0701f4a --- /dev/null +++ b/app/src/main/java/in/sminnovations/attendanceapp/screens/settings/components/subSetting/AboutCard.kt @@ -0,0 +1,78 @@ +package `in`.sminnovations.attendanceapp.screens.settings.components.subSetting + +import android.annotation.SuppressLint +import android.content.Context +import android.widget.Toast +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedCard +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.vectorResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import `in`.sminnovations.attendanceapp.R +import `in`.sminnovations.attendanceapp.data.dataStore.SettingsData +import `in`.sminnovations.attendanceapp.screens.settings.components.settingsComponents.ClickableCard +import `in`.sminnovations.attendanceapp.screens.settings.components.settingsComponents.CombinedClickableCard +import kotlinx.coroutines.launch + + +@SuppressLint("CoroutineCreationDuringComposition") +@Composable +fun AboutSettings(context: Context) +{ + val scope = rememberCoroutineScope() + val dataStore = SettingsData(context) + var clickCount by remember { mutableIntStateOf(0) } + if (clickCount > 5) { + scope.launch { + dataStore.setDevMode(true) + } + clickCount = 0 + Toast.makeText(context, "Developer mode is On : Scroll Down", Toast.LENGTH_SHORT).show() + } + Column(modifier = Modifier.padding(10.dp,0.dp,10.dp,10.dp)) { + Text( + text = "About", + style = MaterialTheme.typography.labelLarge, + fontWeight = FontWeight.Bold, + modifier = Modifier + .align(Alignment.Start) + .padding(14.dp), + color = MaterialTheme.colorScheme.primary + ) + OutlinedCard{ + ClickableCard( + title = "Version", + subtitle = "1.0.04", + onClick = { + clickCount++ + }, + icon = ImageVector.vectorResource(id = R.drawable.round_info_24) + + ) + CombinedClickableCard( + title = "Developer", + subtitle = "SM Innovations Pvt Ltd", + onClick = { + }, onDoubleClick={ + + }, + icon = ImageVector.vectorResource(id = R.drawable.round_logo_dev_24) + ) + } + } + + +} + diff --git a/app/src/main/java/in/sminnovations/attendanceapp/screens/settings/components/subSetting/AppearenceCard.kt b/app/src/main/java/in/sminnovations/attendanceapp/screens/settings/components/subSetting/AppearenceCard.kt new file mode 100644 index 0000000..f698520 --- /dev/null +++ b/app/src/main/java/in/sminnovations/attendanceapp/screens/settings/components/subSetting/AppearenceCard.kt @@ -0,0 +1,90 @@ +package `in`.sminnovations.attendanceapp.screens.settings.components.subSetting + +import android.content.Context +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedCard +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import `in`.sminnovations.attendanceapp.R +import `in`.sminnovations.attendanceapp.data.dataStore.SettingsData +import `in`.sminnovations.attendanceapp.screens.settings.components.settingsComponents.RadioCard +import `in`.sminnovations.attendanceapp.screens.settings.components.settingsComponents.SwitchCard +import kotlinx.coroutines.launch + + +@Composable +fun Appearance (context: Context) { + val scope = rememberCoroutineScope() + val dataStore = SettingsData(context) + val dynamicColorsThemeValue = dataStore.getDynamicColorThemeValue.collectAsState(true) + val blackThemeValue = dataStore.getBlackThemeValue.collectAsState(initial = false) + val theme = dataStore.getThemeMode.collectAsState(initial = "System default") + Column(modifier = Modifier.padding(10.dp, 0.dp, 10.dp, 0.dp)) { + Text( + text = stringResource(R.string.appearance), + style = MaterialTheme.typography.labelLarge, + fontWeight = FontWeight.Bold, + modifier = Modifier + .align(Alignment.Start) + .padding(14.dp), + color = MaterialTheme.colorScheme.primary + ) + + OutlinedCard{ + RadioCard( + title = stringResource(R.string.theme), + subtitle =theme.value , + icon = ImageVector.vectorResource(id = R.drawable.round_color_lens_24), + radioHeader = stringResource(R.string.select_theme_mode) , + gotOption = { + scope.launch { + dataStore.saveThemeMode(it) + } + }, + listOptions = listOf("Light", "Dark", "System default"), + selectedOption =theme.value + ) + + SwitchCard( + checkedValue = dynamicColorsThemeValue.value!!, + title = stringResource(R.string.dynamic_theme), + subtitle = stringResource(R.string.theme_based_on_wallpaper_color), + onSwitchChange = + { + scope.launch { + dataStore.setDynamicColorThemeValue(it) + } + }, + icon = ImageVector.vectorResource(id = R.drawable.round_auto_mode_24) + ) + SwitchCard( + checkedValue = blackThemeValue.value!!, + title = stringResource(R.string.black_theme), + subtitle = stringResource(R.string.black_theme_description), + onSwitchChange = + { + scope.launch { + dataStore.setBlackThemeValue(it) + } + }, + icon = ImageVector.vectorResource(id = R.drawable.round_contrast_24) + ) + + } + } + +} + + + diff --git a/app/src/main/res/drawable/round_auto_mode_24.xml b/app/src/main/res/drawable/round_auto_mode_24.xml new file mode 100644 index 0000000..ded3ee5 --- /dev/null +++ b/app/src/main/res/drawable/round_auto_mode_24.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/round_color_lens_24.xml b/app/src/main/res/drawable/round_color_lens_24.xml new file mode 100644 index 0000000..2f0ecdf --- /dev/null +++ b/app/src/main/res/drawable/round_color_lens_24.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/round_contrast_24.xml b/app/src/main/res/drawable/round_contrast_24.xml new file mode 100644 index 0000000..fe34a64 --- /dev/null +++ b/app/src/main/res/drawable/round_contrast_24.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/round_delete_sweep_24.xml b/app/src/main/res/drawable/round_delete_sweep_24.xml new file mode 100644 index 0000000..0b63d04 --- /dev/null +++ b/app/src/main/res/drawable/round_delete_sweep_24.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/round_developer_mode_24.xml b/app/src/main/res/drawable/round_developer_mode_24.xml new file mode 100644 index 0000000..2b7442f --- /dev/null +++ b/app/src/main/res/drawable/round_developer_mode_24.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/round_info_24.xml b/app/src/main/res/drawable/round_info_24.xml new file mode 100644 index 0000000..3218106 --- /dev/null +++ b/app/src/main/res/drawable/round_info_24.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/round_logo_dev_24.xml b/app/src/main/res/drawable/round_logo_dev_24.xml new file mode 100644 index 0000000..a65322b --- /dev/null +++ b/app/src/main/res/drawable/round_logo_dev_24.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app/src/main/res/drawable/round_translate_24.xml b/app/src/main/res/drawable/round_translate_24.xml new file mode 100644 index 0000000..23fbbb0 --- /dev/null +++ b/app/src/main/res/drawable/round_translate_24.xml @@ -0,0 +1,5 @@ + + + + +