From cf912ada91fe9f36424b21e149080519dbe2bec2 Mon Sep 17 00:00:00 2001 From: buna Date: Wed, 5 Jun 2024 13:24:43 +0900 Subject: [PATCH 1/6] =?UTF-8?q?refactor:=20=EB=AA=A8=EC=84=9C=EB=A6=AC?= =?UTF-8?q?=EA=B0=80=20=EB=91=A5=EA=B7=BC=20=EC=9D=B4=EB=AF=B8=EC=A7=80?= =?UTF-8?q?=EB=A5=BC=20RoundedImage=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8?= =?UTF-8?q?=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designsystem/component/RoundedImage.kt | 31 +++++++++++++++++++ .../app/feature/setting/SettingScreen.kt | 20 +++--------- 2 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt diff --git a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt new file mode 100644 index 00000000..69c75a52 --- /dev/null +++ b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt @@ -0,0 +1,31 @@ +package com.droidknights.app.core.designsystem.component + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.aspectRatio +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Surface +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp + +@Composable +fun RoundedImage( + modifier: Modifier = Modifier, + imageRes: Int, + onClick: () -> Unit = {}, + roundSize: Dp = 16.dp, +) { + Surface( + modifier = modifier, + shape = RoundedCornerShape(roundSize), + onClick = onClick, + ) { + Image( + painter = painterResource(id = imageRes), + contentDescription = null, + modifier = Modifier.aspectRatio(1f) + ) + } +} diff --git a/feature/setting/src/main/java/com/droidknights/app/feature/setting/SettingScreen.kt b/feature/setting/src/main/java/com/droidknights/app/feature/setting/SettingScreen.kt index e288d154..6bb28e2f 100644 --- a/feature/setting/src/main/java/com/droidknights/app/feature/setting/SettingScreen.kt +++ b/feature/setting/src/main/java/com/droidknights/app/feature/setting/SettingScreen.kt @@ -2,34 +2,30 @@ package com.droidknights.app.feature.setting import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme import androidx.compose.material3.RadioButton import androidx.compose.material3.RadioButtonDefaults -import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.droidknights.app.core.designsystem.component.KnightsCard +import com.droidknights.app.core.designsystem.component.RoundedImage import com.droidknights.app.core.designsystem.theme.KnightsTheme import com.droidknights.app.core.designsystem.theme.LocalDarkTheme import com.droidknights.app.feature.setting.component.OpenSourceCard @@ -109,16 +105,10 @@ private fun ThemeCard( modifier = modifier, horizontalAlignment = Alignment.CenterHorizontally, ) { - Surface( - shape = RoundedCornerShape(16.dp), - onClick = onClick, - ) { - Image( - painter = painterResource(id = imageRes), - contentDescription = null, - modifier = Modifier.aspectRatio(1f) - ) - } + RoundedImage( + imageRes = imageRes, + onClick = onClick + ) Text( text = stringResource(id = titleRes), From f049c2f8030e9157a6b106dfca0d1e057be48424 Mon Sep 17 00:00:00 2001 From: buna Date: Wed, 5 Jun 2024 13:26:44 +0900 Subject: [PATCH 2/6] =?UTF-8?q?refactor:=20=EC=95=84=EC=9D=B4=EC=BD=98=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=EC=9D=84=20RoundedToggleButton=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/IconToggleButton.kt | 32 +++++++++++++++++ .../feature/session/SessionDetailScreen.kt | 35 ++++--------------- 2 files changed, 38 insertions(+), 29 deletions(-) create mode 100644 core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/IconToggleButton.kt diff --git a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/IconToggleButton.kt b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/IconToggleButton.kt new file mode 100644 index 00000000..76bc8d86 --- /dev/null +++ b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/IconToggleButton.kt @@ -0,0 +1,32 @@ +package com.droidknights.app.core.designsystem.component + +import androidx.annotation.DrawableRes +import androidx.compose.material3.Icon +import androidx.compose.material3.IconToggleButton +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource + +@Composable +fun IconToggleButton( + modifier: Modifier = Modifier, + isChecked: Boolean, + onCheckedChange: (Boolean) -> Unit, + @DrawableRes checkedImageRes: Int, + @DrawableRes uncheckedImageRes: Int +) { + IconToggleButton( + modifier = modifier, + checked = isChecked, + onCheckedChange = onCheckedChange, + ) { + Icon( + painter = if (isChecked) { + painterResource(id = checkedImageRes) + } else { + painterResource(id = uncheckedImageRes) + }, + contentDescription = null + ) + } +} diff --git a/feature/session/src/main/java/com/droidknights/app/feature/session/SessionDetailScreen.kt b/feature/session/src/main/java/com/droidknights/app/feature/session/SessionDetailScreen.kt index 51af46ab..1d42ba22 100644 --- a/feature/session/src/main/java/com/droidknights/app/feature/session/SessionDetailScreen.kt +++ b/feature/session/src/main/java/com/droidknights/app/feature/session/SessionDetailScreen.kt @@ -16,8 +16,6 @@ import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.verticalScroll import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.HorizontalDivider -import androidx.compose.material3.Icon -import androidx.compose.material3.IconToggleButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -38,15 +36,14 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.droidknights.app.core.designsystem.component.IconToggleButton import com.droidknights.app.core.designsystem.component.KnightsTopAppBar import com.droidknights.app.core.designsystem.component.NetworkImage import com.droidknights.app.core.designsystem.component.TextChip import com.droidknights.app.core.designsystem.component.TopAppBarNavigationType import com.droidknights.app.core.designsystem.theme.DarkGray -import com.droidknights.app.core.designsystem.theme.Gray import com.droidknights.app.core.designsystem.theme.KnightsTheme import com.droidknights.app.core.designsystem.theme.LightGray -import com.droidknights.app.core.designsystem.theme.Purple01 import com.droidknights.app.core.model.Room import com.droidknights.app.core.model.Session import com.droidknights.app.core.model.Speaker @@ -124,9 +121,11 @@ private fun SessionDetailTopAppBar( navigationIconContentDescription = null, navigationType = TopAppBarNavigationType.Back, actionButtons = { - BookmarkToggleButton( - bookmarked = bookmarked, - onClickBookmark = onClickBookmark + IconToggleButton( + isChecked = bookmarked, + onCheckedChange = onClickBookmark, + checkedImageRes = R.drawable.ic_session_bookmark_filled, + uncheckedImageRes = R.drawable.ic_session_bookmark, ) }, onNavigationClick = onBackClick, @@ -271,28 +270,6 @@ private fun SessionOverview(content: String) { } } -@Composable -private fun BookmarkToggleButton( - bookmarked: Boolean, - onClickBookmark: (Boolean) -> Unit, -) { - IconToggleButton( - checked = bookmarked, - onCheckedChange = onClickBookmark - ) { - Icon( - painter = - if (bookmarked) { - painterResource(id = R.drawable.ic_session_bookmark_filled) - } else { - painterResource(id = R.drawable.ic_session_bookmark) - }, - contentDescription = null, - tint = if (bookmarked) Purple01 else Gray - ) - } -} - private val SampleSessionHasContent = Session( id = "2", title = "세션 제목은 세션 제목 - 개요 있음", From a8f20f7c5b6f65191cab91aaabf2476e18c7e897 Mon Sep 17 00:00:00 2001 From: buna Date: Wed, 5 Jun 2024 14:20:07 +0900 Subject: [PATCH 3/6] =?UTF-8?q?refactor:=20RoundedImage=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=EA=B0=80=20Modifier=EB=A5=BC=20=EC=A0=84=EB=8B=AC?= =?UTF-8?q?=EB=B0=9B=EC=A7=80=20=EC=95=8A=EB=8F=84=EB=A1=9D=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/core/designsystem/component/RoundedImage.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt index 69c75a52..9f0befb3 100644 --- a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt +++ b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt @@ -12,13 +12,11 @@ import androidx.compose.ui.unit.dp @Composable fun RoundedImage( - modifier: Modifier = Modifier, imageRes: Int, onClick: () -> Unit = {}, roundSize: Dp = 16.dp, ) { Surface( - modifier = modifier, shape = RoundedCornerShape(roundSize), onClick = onClick, ) { From b406031c2387d1678220b9e80c99f58a59c60c0a Mon Sep 17 00:00:00 2001 From: buna Date: Wed, 5 Jun 2024 14:21:00 +0900 Subject: [PATCH 4/6] =?UTF-8?q?refactor:=20RoundedImage=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=EC=97=90=20border=20=EC=9D=B8=EC=9E=90=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/core/designsystem/component/RoundedImage.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt index 9f0befb3..a57564f1 100644 --- a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt +++ b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt @@ -1,5 +1,6 @@ package com.droidknights.app.core.designsystem.component +import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.Image import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.shape.RoundedCornerShape @@ -15,15 +16,17 @@ fun RoundedImage( imageRes: Int, onClick: () -> Unit = {}, roundSize: Dp = 16.dp, + border: BorderStroke? = null, ) { Surface( - shape = RoundedCornerShape(roundSize), onClick = onClick, + shape = RoundedCornerShape(roundSize), + border = border, ) { Image( painter = painterResource(id = imageRes), contentDescription = null, - modifier = Modifier.aspectRatio(1f) + modifier = Modifier.aspectRatio(1f), ) } } From 0a824a210f9d39c7fe424e9c7a9b18f19abea752 Mon Sep 17 00:00:00 2001 From: buna Date: Wed, 5 Jun 2024 14:41:04 +0900 Subject: [PATCH 5/6] =?UTF-8?q?refactor:=20RoundedImage=EA=B0=80=20size?= =?UTF-8?q?=EB=A5=BC=20=EC=A0=84=EB=8B=AC=EB=B0=9B=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designsystem/component/RoundedImage.kt | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt index a57564f1..c3e49ec5 100644 --- a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt +++ b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt @@ -3,6 +3,7 @@ package com.droidknights.app.core.designsystem.component import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.Image import androidx.compose.foundation.layout.aspectRatio +import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Surface import androidx.compose.runtime.Composable @@ -15,18 +16,44 @@ import androidx.compose.ui.unit.dp fun RoundedImage( imageRes: Int, onClick: () -> Unit = {}, + size: Dp? = null, roundSize: Dp = 16.dp, border: BorderStroke? = null, ) { + RoundedImage( + imageRes = imageRes, + onClick = onClick, + width = size, + height = size, + roundSize = roundSize, + border = border, + ) +} + +@Composable +fun RoundedImage( + imageRes: Int, + onClick: () -> Unit = {}, + width: Dp? = null, + height: Dp? = null, + roundSize: Dp = 16.dp, + border: BorderStroke? = null, +) { + val modifier = if (width != null && height != null) { + Modifier.size(width, height) + } else { + Modifier.aspectRatio(1f) + } + Surface( onClick = onClick, shape = RoundedCornerShape(roundSize), border = border, + modifier = modifier ) { Image( painter = painterResource(id = imageRes), - contentDescription = null, - modifier = Modifier.aspectRatio(1f), + contentDescription = null ) } } From 1e07d29bf4210aa50c51dae215785efd8e62ada9 Mon Sep 17 00:00:00 2001 From: buna Date: Wed, 5 Jun 2024 21:37:54 +0900 Subject: [PATCH 6/6] =?UTF-8?q?refactor:=20RoundedImage,=20IconToggleButto?= =?UTF-8?q?n=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/IconToggleButton.kt | 32 ---------- .../designsystem/component/RoundedImage.kt | 59 ------------------- .../feature/session/SessionDetailScreen.kt | 34 +++++++++-- .../app/feature/setting/SettingScreen.kt | 20 +++++-- 4 files changed, 43 insertions(+), 102 deletions(-) delete mode 100644 core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/IconToggleButton.kt delete mode 100644 core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt diff --git a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/IconToggleButton.kt b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/IconToggleButton.kt deleted file mode 100644 index 76bc8d86..00000000 --- a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/IconToggleButton.kt +++ /dev/null @@ -1,32 +0,0 @@ -package com.droidknights.app.core.designsystem.component - -import androidx.annotation.DrawableRes -import androidx.compose.material3.Icon -import androidx.compose.material3.IconToggleButton -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource - -@Composable -fun IconToggleButton( - modifier: Modifier = Modifier, - isChecked: Boolean, - onCheckedChange: (Boolean) -> Unit, - @DrawableRes checkedImageRes: Int, - @DrawableRes uncheckedImageRes: Int -) { - IconToggleButton( - modifier = modifier, - checked = isChecked, - onCheckedChange = onCheckedChange, - ) { - Icon( - painter = if (isChecked) { - painterResource(id = checkedImageRes) - } else { - painterResource(id = uncheckedImageRes) - }, - contentDescription = null - ) - } -} diff --git a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt b/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt deleted file mode 100644 index c3e49ec5..00000000 --- a/core/designsystem/src/main/java/com/droidknights/app/core/designsystem/component/RoundedImage.kt +++ /dev/null @@ -1,59 +0,0 @@ -package com.droidknights.app.core.designsystem.component - -import androidx.compose.foundation.BorderStroke -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.aspectRatio -import androidx.compose.foundation.layout.size -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material3.Surface -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.dp - -@Composable -fun RoundedImage( - imageRes: Int, - onClick: () -> Unit = {}, - size: Dp? = null, - roundSize: Dp = 16.dp, - border: BorderStroke? = null, -) { - RoundedImage( - imageRes = imageRes, - onClick = onClick, - width = size, - height = size, - roundSize = roundSize, - border = border, - ) -} - -@Composable -fun RoundedImage( - imageRes: Int, - onClick: () -> Unit = {}, - width: Dp? = null, - height: Dp? = null, - roundSize: Dp = 16.dp, - border: BorderStroke? = null, -) { - val modifier = if (width != null && height != null) { - Modifier.size(width, height) - } else { - Modifier.aspectRatio(1f) - } - - Surface( - onClick = onClick, - shape = RoundedCornerShape(roundSize), - border = border, - modifier = modifier - ) { - Image( - painter = painterResource(id = imageRes), - contentDescription = null - ) - } -} diff --git a/feature/session/src/main/java/com/droidknights/app/feature/session/SessionDetailScreen.kt b/feature/session/src/main/java/com/droidknights/app/feature/session/SessionDetailScreen.kt index 1d42ba22..e5545f9c 100644 --- a/feature/session/src/main/java/com/droidknights/app/feature/session/SessionDetailScreen.kt +++ b/feature/session/src/main/java/com/droidknights/app/feature/session/SessionDetailScreen.kt @@ -16,6 +16,7 @@ import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.verticalScroll import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -36,14 +37,15 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.droidknights.app.core.designsystem.component.IconToggleButton import com.droidknights.app.core.designsystem.component.KnightsTopAppBar import com.droidknights.app.core.designsystem.component.NetworkImage import com.droidknights.app.core.designsystem.component.TextChip import com.droidknights.app.core.designsystem.component.TopAppBarNavigationType import com.droidknights.app.core.designsystem.theme.DarkGray +import com.droidknights.app.core.designsystem.theme.Gray import com.droidknights.app.core.designsystem.theme.KnightsTheme import com.droidknights.app.core.designsystem.theme.LightGray +import com.droidknights.app.core.designsystem.theme.Purple01 import com.droidknights.app.core.model.Room import com.droidknights.app.core.model.Session import com.droidknights.app.core.model.Speaker @@ -121,11 +123,9 @@ private fun SessionDetailTopAppBar( navigationIconContentDescription = null, navigationType = TopAppBarNavigationType.Back, actionButtons = { - IconToggleButton( - isChecked = bookmarked, - onCheckedChange = onClickBookmark, - checkedImageRes = R.drawable.ic_session_bookmark_filled, - uncheckedImageRes = R.drawable.ic_session_bookmark, + BookmarkToggleButton( + bookmarked = bookmarked, + onClickBookmark = onClickBookmark ) }, onNavigationClick = onBackClick, @@ -270,6 +270,28 @@ private fun SessionOverview(content: String) { } } +@Composable +private fun BookmarkToggleButton( + bookmarked: Boolean, + onClickBookmark: (Boolean) -> Unit, +) { + androidx.compose.material3.IconToggleButton( + checked = bookmarked, + onCheckedChange = onClickBookmark + ) { + Icon( + painter = + if (bookmarked) { + painterResource(id = R.drawable.ic_session_bookmark_filled) + } else { + painterResource(id = R.drawable.ic_session_bookmark) + }, + contentDescription = null, + tint = if (bookmarked) Purple01 else Gray + ) + } +} + private val SampleSessionHasContent = Session( id = "2", title = "세션 제목은 세션 제목 - 개요 있음", diff --git a/feature/setting/src/main/java/com/droidknights/app/feature/setting/SettingScreen.kt b/feature/setting/src/main/java/com/droidknights/app/feature/setting/SettingScreen.kt index 6bb28e2f..e288d154 100644 --- a/feature/setting/src/main/java/com/droidknights/app/feature/setting/SettingScreen.kt +++ b/feature/setting/src/main/java/com/droidknights/app/feature/setting/SettingScreen.kt @@ -2,30 +2,34 @@ package com.droidknights.app.feature.setting import androidx.annotation.DrawableRes import androidx.annotation.StringRes +import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme import androidx.compose.material3.RadioButton import androidx.compose.material3.RadioButtonDefaults +import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.droidknights.app.core.designsystem.component.KnightsCard -import com.droidknights.app.core.designsystem.component.RoundedImage import com.droidknights.app.core.designsystem.theme.KnightsTheme import com.droidknights.app.core.designsystem.theme.LocalDarkTheme import com.droidknights.app.feature.setting.component.OpenSourceCard @@ -105,10 +109,16 @@ private fun ThemeCard( modifier = modifier, horizontalAlignment = Alignment.CenterHorizontally, ) { - RoundedImage( - imageRes = imageRes, - onClick = onClick - ) + Surface( + shape = RoundedCornerShape(16.dp), + onClick = onClick, + ) { + Image( + painter = painterResource(id = imageRes), + contentDescription = null, + modifier = Modifier.aspectRatio(1f) + ) + } Text( text = stringResource(id = titleRes),