Skip to content

Commit 18a291a

Browse files
committed
Migrate to compose catalog definitions
1 parent e524132 commit 18a291a

10 files changed

Lines changed: 253 additions & 40 deletions

File tree

android/build.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ group = "com.inspiredandroid.linuxcommandbibliotheca"
99
dependencies {
1010
implementation(project(":common"))
1111
implementation(project(":composeApp"))
12+
implementation(platform(libs.androidx.compose.bom))
1213
implementation(libs.androidx.activity.compose)
1314
implementation(libs.accompanist.appcompat.theme)
1415
implementation(libs.accompanist.systemuicontroller)
15-
implementation(libs.androidx.material)
1616

1717
implementation(libs.koin.core)
1818
implementation(libs.koin.android)
1919
implementation(libs.koin.androidx.compose)
2020

21-
androidTestImplementation(libs.androidx.ui.test.junit4)
21+
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
2222
androidTestImplementation(libs.androidx.preference)
23-
debugImplementation(libs.androidx.ui.test.manifest)
24-
debugImplementation(libs.androidx.ui.tooling)
23+
debugImplementation(libs.androidx.compose.ui.test.manifest)
24+
debugImplementation(libs.androidx.compose.ui.tooling)
2525
}
2626

2727
android {

composeApp/build.gradle.kts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,11 @@ kotlin {
3838
commonMain {
3939
dependencies {
4040
implementation(project(":common"))
41-
implementation(compose.runtime)
42-
implementation(compose.foundation)
43-
implementation(compose.material3)
44-
implementation(compose.materialIconsExtended)
45-
implementation(compose.ui)
46-
implementation(compose.components.resources)
41+
implementation(libs.compose.runtime)
42+
implementation(libs.compose.foundation)
43+
implementation(libs.compose.material3)
44+
implementation(libs.compose.ui)
45+
implementation(libs.compose.components.resources)
4746
implementation(libs.kotlinx.coroutines.core)
4847
implementation(libs.kotlinx.collections.immutable)
4948
implementation(libs.koin.core)

composeApp/src/androidMain/kotlin/com/linuxcommandlibrary/app/platform/Platform.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,16 @@ package com.linuxcommandlibrary.app.platform
33
import android.content.Intent
44
import android.os.Build
55
import android.provider.Settings
6-
import androidx.compose.material.icons.Icons
7-
import androidx.compose.material.icons.automirrored.filled.ArrowBack
8-
import androidx.compose.material.icons.filled.Share
96
import androidx.compose.runtime.Composable
107
import androidx.compose.runtime.remember
118
import androidx.compose.ui.graphics.vector.ImageVector
129
import androidx.compose.ui.platform.LocalContext
10+
import com.linuxcommandlibrary.app.ui.AppIcons
1311

1412
actual val showRateAppButton: Boolean = true
1513
actual val showAndroidTerminalTip: Boolean = Build.VERSION.SDK_INT >= 35
16-
actual val backIcon: ImageVector = Icons.AutoMirrored.Filled.ArrowBack
17-
actual val shareButtonIcon: ImageVector = Icons.Filled.Share
14+
actual val backIcon: ImageVector = AppIcons.ArrowBack
15+
actual val shareButtonIcon: ImageVector = AppIcons.Share
1816
actual val shareButtonDescription: String = "Share"
1917

2018
@Composable
Lines changed: 218 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
package com.linuxcommandlibrary.app.ui
2+
3+
import androidx.compose.ui.graphics.Color
4+
import androidx.compose.ui.graphics.SolidColor
5+
import androidx.compose.ui.graphics.vector.ImageVector
6+
import androidx.compose.ui.graphics.vector.path
7+
import androidx.compose.ui.unit.dp
8+
9+
object AppIcons {
10+
val ArrowBack: ImageVector by lazy {
11+
ImageVector.Builder(
12+
name = "ArrowBack",
13+
defaultWidth = 24.dp,
14+
defaultHeight = 24.dp,
15+
viewportWidth = 24f,
16+
viewportHeight = 24f,
17+
autoMirror = true,
18+
).apply {
19+
path(fill = SolidColor(Color.Black)) {
20+
moveTo(20.0f, 11.0f)
21+
horizontalLineTo(7.83f)
22+
lineToRelative(5.59f, -5.59f)
23+
lineTo(12.0f, 4.0f)
24+
lineToRelative(-8.0f, 8.0f)
25+
lineToRelative(8.0f, 8.0f)
26+
lineToRelative(1.41f, -1.41f)
27+
lineTo(7.83f, 13.0f)
28+
horizontalLineTo(20.0f)
29+
verticalLineToRelative(-2.0f)
30+
close()
31+
}
32+
}.build()
33+
}
34+
35+
val ArrowBackIos: ImageVector by lazy {
36+
ImageVector.Builder(
37+
name = "ArrowBackIos",
38+
defaultWidth = 24.dp,
39+
defaultHeight = 24.dp,
40+
viewportWidth = 24f,
41+
viewportHeight = 24f,
42+
autoMirror = true,
43+
).apply {
44+
path(fill = SolidColor(Color.Black)) {
45+
moveTo(11.67f, 3.87f)
46+
lineTo(9.9f, 2.1f)
47+
lineTo(0.0f, 12.0f)
48+
lineToRelative(9.9f, 9.9f)
49+
lineToRelative(1.77f, -1.77f)
50+
lineTo(3.54f, 12.0f)
51+
close()
52+
}
53+
}.build()
54+
}
55+
56+
val Close: ImageVector by lazy {
57+
ImageVector.Builder(
58+
name = "Close",
59+
defaultWidth = 24.dp,
60+
defaultHeight = 24.dp,
61+
viewportWidth = 24f,
62+
viewportHeight = 24f,
63+
).apply {
64+
path(fill = SolidColor(Color.Black)) {
65+
moveTo(19.0f, 6.41f)
66+
lineTo(17.59f, 5.0f)
67+
lineTo(12.0f, 10.59f)
68+
lineTo(6.41f, 5.0f)
69+
lineTo(5.0f, 6.41f)
70+
lineTo(10.59f, 12.0f)
71+
lineTo(5.0f, 17.59f)
72+
lineTo(6.41f, 19.0f)
73+
lineTo(12.0f, 13.41f)
74+
lineTo(17.59f, 19.0f)
75+
lineTo(19.0f, 17.59f)
76+
lineTo(13.41f, 12.0f)
77+
close()
78+
}
79+
}.build()
80+
}
81+
82+
val ContentCopy: ImageVector by lazy {
83+
ImageVector.Builder(
84+
name = "ContentCopy",
85+
defaultWidth = 24.dp,
86+
defaultHeight = 24.dp,
87+
viewportWidth = 24f,
88+
viewportHeight = 24f,
89+
).apply {
90+
path(fill = SolidColor(Color.Black)) {
91+
moveTo(16.0f, 1.0f)
92+
lineTo(4.0f, 1.0f)
93+
curveToRelative(-1.1f, 0.0f, -2.0f, 0.9f, -2.0f, 2.0f)
94+
verticalLineToRelative(14.0f)
95+
horizontalLineToRelative(2.0f)
96+
lineTo(4.0f, 3.0f)
97+
horizontalLineToRelative(12.0f)
98+
lineTo(16.0f, 1.0f)
99+
close()
100+
moveTo(19.0f, 5.0f)
101+
lineTo(8.0f, 5.0f)
102+
curveToRelative(-1.1f, 0.0f, -2.0f, 0.9f, -2.0f, 2.0f)
103+
verticalLineToRelative(14.0f)
104+
curveToRelative(0.0f, 1.1f, 0.9f, 2.0f, 2.0f, 2.0f)
105+
horizontalLineToRelative(11.0f)
106+
curveToRelative(1.1f, 0.0f, 2.0f, -0.9f, 2.0f, -2.0f)
107+
lineTo(21.0f, 7.0f)
108+
curveToRelative(0.0f, -1.1f, -0.9f, -2.0f, -2.0f, -2.0f)
109+
close()
110+
moveTo(19.0f, 21.0f)
111+
lineTo(8.0f, 21.0f)
112+
lineTo(8.0f, 7.0f)
113+
horizontalLineToRelative(11.0f)
114+
verticalLineToRelative(14.0f)
115+
close()
116+
}
117+
}.build()
118+
}
119+
120+
val Info: ImageVector by lazy {
121+
ImageVector.Builder(
122+
name = "Info",
123+
defaultWidth = 24.dp,
124+
defaultHeight = 24.dp,
125+
viewportWidth = 24f,
126+
viewportHeight = 24f,
127+
).apply {
128+
path(fill = SolidColor(Color.Black)) {
129+
moveTo(12.0f, 2.0f)
130+
curveTo(6.48f, 2.0f, 2.0f, 6.48f, 2.0f, 12.0f)
131+
reflectiveCurveToRelative(4.48f, 10.0f, 10.0f, 10.0f)
132+
reflectiveCurveToRelative(10.0f, -4.48f, 10.0f, -10.0f)
133+
reflectiveCurveTo(17.52f, 2.0f, 12.0f, 2.0f)
134+
close()
135+
moveTo(13.0f, 17.0f)
136+
horizontalLineToRelative(-2.0f)
137+
verticalLineToRelative(-6.0f)
138+
horizontalLineToRelative(2.0f)
139+
verticalLineToRelative(6.0f)
140+
close()
141+
moveTo(13.0f, 9.0f)
142+
horizontalLineToRelative(-2.0f)
143+
lineTo(11.0f, 7.0f)
144+
horizontalLineToRelative(2.0f)
145+
verticalLineToRelative(2.0f)
146+
close()
147+
}
148+
}.build()
149+
}
150+
151+
val Search: ImageVector by lazy {
152+
ImageVector.Builder(
153+
name = "Search",
154+
defaultWidth = 24.dp,
155+
defaultHeight = 24.dp,
156+
viewportWidth = 24f,
157+
viewportHeight = 24f,
158+
).apply {
159+
path(fill = SolidColor(Color.Black)) {
160+
moveTo(15.5f, 14.0f)
161+
horizontalLineToRelative(-0.79f)
162+
lineToRelative(-0.28f, -0.27f)
163+
curveTo(15.41f, 12.59f, 16.0f, 11.11f, 16.0f, 9.5f)
164+
curveTo(16.0f, 5.91f, 13.09f, 3.0f, 9.5f, 3.0f)
165+
reflectiveCurveTo(3.0f, 5.91f, 3.0f, 9.5f)
166+
reflectiveCurveTo(5.91f, 16.0f, 9.5f, 16.0f)
167+
curveToRelative(1.61f, 0.0f, 3.09f, -0.59f, 4.23f, -1.57f)
168+
lineToRelative(0.27f, 0.28f)
169+
verticalLineToRelative(0.79f)
170+
lineToRelative(5.0f, 4.99f)
171+
lineTo(20.49f, 19.0f)
172+
lineToRelative(-4.99f, -5.0f)
173+
close()
174+
moveTo(9.5f, 14.0f)
175+
curveTo(7.01f, 14.0f, 5.0f, 11.99f, 5.0f, 9.5f)
176+
reflectiveCurveTo(7.01f, 5.0f, 9.5f, 5.0f)
177+
reflectiveCurveTo(14.0f, 7.01f, 14.0f, 9.5f)
178+
reflectiveCurveTo(11.99f, 14.0f, 9.5f, 14.0f)
179+
close()
180+
}
181+
}.build()
182+
}
183+
184+
val Share: ImageVector by lazy {
185+
ImageVector.Builder(
186+
name = "Share",
187+
defaultWidth = 24.dp,
188+
defaultHeight = 24.dp,
189+
viewportWidth = 24f,
190+
viewportHeight = 24f,
191+
).apply {
192+
path(fill = SolidColor(Color.Black)) {
193+
moveTo(18.0f, 16.08f)
194+
curveToRelative(-0.76f, 0.0f, -1.44f, 0.3f, -1.96f, 0.77f)
195+
lineTo(8.91f, 12.7f)
196+
curveToRelative(0.05f, -0.23f, 0.09f, -0.46f, 0.09f, -0.7f)
197+
reflectiveCurveToRelative(-0.04f, -0.47f, -0.09f, -0.7f)
198+
lineToRelative(7.05f, -4.11f)
199+
curveToRelative(0.54f, 0.5f, 1.25f, 0.81f, 2.04f, 0.81f)
200+
curveToRelative(1.66f, 0.0f, 3.0f, -1.34f, 3.0f, -3.0f)
201+
reflectiveCurveToRelative(-1.34f, -3.0f, -3.0f, -3.0f)
202+
reflectiveCurveToRelative(-3.0f, 1.34f, -3.0f, 3.0f)
203+
curveToRelative(0.0f, 0.24f, 0.04f, 0.47f, 0.09f, 0.7f)
204+
lineTo(8.04f, 9.81f)
205+
curveTo(7.5f, 9.31f, 6.79f, 9.0f, 6.0f, 9.0f)
206+
curveToRelative(-1.66f, 0.0f, -3.0f, 1.34f, -3.0f, 3.0f)
207+
reflectiveCurveToRelative(1.34f, 3.0f, 3.0f, 3.0f)
208+
curveToRelative(0.79f, 0.0f, 1.5f, -0.31f, 2.04f, -0.81f)
209+
lineToRelative(7.12f, 4.16f)
210+
curveToRelative(-0.05f, 0.21f, -0.08f, 0.43f, -0.08f, 0.65f)
211+
curveToRelative(0.0f, 1.61f, 1.31f, 2.92f, 2.92f, 2.92f)
212+
curveToRelative(1.61f, 0.0f, 2.92f, -1.31f, 2.92f, -2.92f)
213+
reflectiveCurveToRelative(-1.31f, -2.92f, -2.92f, -2.92f)
214+
close()
215+
}
216+
}.build()
217+
}
218+
}

composeApp/src/commonMain/kotlin/com/linuxcommandlibrary/app/ui/composables/GenericTopBar.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.linuxcommandlibrary.app.ui.composables
22

3-
import androidx.compose.material.icons.Icons
4-
import androidx.compose.material.icons.filled.Info
53
import androidx.compose.material3.ExperimentalMaterial3Api
64
import androidx.compose.material3.Icon
75
import androidx.compose.material3.IconButton
@@ -22,6 +20,7 @@ import androidx.compose.ui.semantics.semantics
2220
import androidx.compose.ui.text.style.TextOverflow
2321
import androidx.compose.ui.unit.dp
2422
import com.linuxcommandlibrary.app.platform.backIcon
23+
import com.linuxcommandlibrary.app.ui.AppIcons
2524
import com.linuxcommandlibrary.app.ui.screens.AppInfoDialog
2625
import com.linuxcommandlibrary.app.ui.theme.LocalCustomColors
2726

@@ -75,7 +74,7 @@ fun GenericTopBar(
7574
onClick = { showDialog = true },
7675
) {
7776
Icon(
78-
imageVector = Icons.Filled.Info,
77+
imageVector = AppIcons.Info,
7978
contentDescription = "Info",
8079
)
8180
}

composeApp/src/commonMain/kotlin/com/linuxcommandlibrary/app/ui/composables/SearchTopBar.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@ package com.linuxcommandlibrary.app.ui.composables
33
import androidx.compose.foundation.layout.Box
44
import androidx.compose.foundation.layout.fillMaxWidth
55
import androidx.compose.foundation.text.BasicTextField
6-
import androidx.compose.material.icons.Icons
7-
import androidx.compose.material.icons.filled.Close
8-
import androidx.compose.material.icons.filled.Search
96
import androidx.compose.material3.ExperimentalMaterial3Api
107
import androidx.compose.material3.Icon
118
import androidx.compose.material3.IconButton
@@ -31,6 +28,7 @@ import androidx.compose.ui.text.input.TextFieldValue
3128
import androidx.compose.ui.text.style.TextOverflow
3229
import androidx.compose.ui.unit.dp
3330
import com.linuxcommandlibrary.app.platform.backIcon
31+
import com.linuxcommandlibrary.app.ui.AppIcons
3432
import com.linuxcommandlibrary.app.ui.theme.LocalCustomColors
3533

3634
class SearchState(
@@ -132,7 +130,7 @@ fun SearchTopBar(
132130
onClick = { searchState.clearText() },
133131
) {
134132
Icon(
135-
imageVector = Icons.Filled.Close,
133+
imageVector = AppIcons.Close,
136134
contentDescription = "Clear",
137135
)
138136
}
@@ -143,7 +141,7 @@ fun SearchTopBar(
143141
onClick = { searchState.show() },
144142
) {
145143
Icon(
146-
imageVector = Icons.Filled.Search,
144+
imageVector = AppIcons.Search,
147145
contentDescription = "Search",
148146
)
149147
}

composeApp/src/commonMain/kotlin/com/linuxcommandlibrary/app/ui/screens/basicgroups/BasicEditorScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ fun BasicEditorContent(
4949
.background(MaterialTheme.colorScheme.background)
5050
.fillMaxSize(),
5151
columns = StaggeredGridCells.Adaptive(minSize = 300.dp),
52-
contentPadding = PaddingValues(horizontal = 4.dp),
52+
contentPadding = PaddingValues(horizontal = 4.dp, vertical = 4.dp),
5353
) {
5454
items(
5555
items = groups,

composeApp/src/desktopMain/kotlin/com/linuxcommandlibrary/app/platform/Platform.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
package com.linuxcommandlibrary.app.platform
22

3-
import androidx.compose.material.icons.Icons
4-
import androidx.compose.material.icons.automirrored.filled.ArrowBack
5-
import androidx.compose.material.icons.filled.ContentCopy
63
import androidx.compose.runtime.Composable
74
import androidx.compose.ui.graphics.vector.ImageVector
5+
import com.linuxcommandlibrary.app.ui.AppIcons
86

97
actual val showRateAppButton: Boolean = false
108
actual val showAndroidTerminalTip: Boolean = false
11-
actual val backIcon: ImageVector = Icons.AutoMirrored.Filled.ArrowBack
12-
actual val shareButtonIcon: ImageVector = Icons.Filled.ContentCopy
9+
actual val backIcon: ImageVector = AppIcons.ArrowBack
10+
actual val shareButtonIcon: ImageVector = AppIcons.ContentCopy
1311
actual val shareButtonDescription: String = "Copy to clipboard"
1412

1513
@Composable

composeApp/src/iosMain/kotlin/com/linuxcommandlibrary/app/platform/Platform.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
package com.linuxcommandlibrary.app.platform
22

3-
import androidx.compose.material.icons.Icons
4-
import androidx.compose.material.icons.automirrored.filled.ArrowBackIos
5-
import androidx.compose.material.icons.filled.Share
63
import androidx.compose.runtime.Composable
74
import androidx.compose.ui.graphics.vector.ImageVector
5+
import com.linuxcommandlibrary.app.ui.AppIcons
86

97
actual val showRateAppButton: Boolean = false
108
actual val showAndroidTerminalTip: Boolean = false
11-
actual val backIcon: ImageVector = Icons.AutoMirrored.Filled.ArrowBackIos
12-
actual val shareButtonIcon: ImageVector = Icons.Filled.Share
9+
actual val backIcon: ImageVector = AppIcons.ArrowBackIos
10+
actual val shareButtonIcon: ImageVector = AppIcons.Share
1311
actual val shareButtonDescription: String = "Share"
1412

1513
@Composable

0 commit comments

Comments
 (0)