From bfdb86d2e5a3c19331db4ec3d7124da51f7bbef3 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Fri, 22 Apr 2022 21:57:10 +0530 Subject: [PATCH] common: switch to generating icons code at build-time --- .../ui/decorations/ClawNavigationBar.kt | 6 +- ...ev.msfjarvis.claw.kotlin-common.gradle.kts | 3 +- .../dev.msfjarvis.claw.spotless.gradle.kts | 2 +- build.gradle.kts | 1 + common/build.gradle.kts | 14 ++++ .../claw/common/comments/CommentEntry.kt | 2 +- .../claw/common/posts/LobstersCard.kt | 4 +- .../msfjarvis/claw/common/res/ClawIcons.kt | 24 +++---- .../claw/common/res/clawicons/CommentIcon.kt | 63 ----------------- .../claw/common/res/clawicons/FlameIcon.kt | 52 -------------- .../common/res/clawicons/HeartBorderIcon.kt | 56 --------------- .../claw/common/res/clawicons/HeartIcon.kt | 45 ------------ .../claw/common/res/clawicons/NewIcon.kt | 69 ------------------- .../claw/common/res/clawicons/WebIcon.kt | 65 ----------------- .../commonMain/svgs/comment_black_24dp.svg | 1 + .../commonMain/svgs/favorite_black_24dp.svg | 1 + .../svgs/favorite_border_black_24dp.svg | 1 + .../svgs/new_releases_black_24dp.svg | 1 + .../src/commonMain/svgs/public_black_24dp.svg | 1 + .../commonMain/svgs/whatshot_black_24dp.svg | 1 + gradle/libs.versions.toml | 1 + 21 files changed, 43 insertions(+), 370 deletions(-) delete mode 100644 common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/CommentIcon.kt delete mode 100644 common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/FlameIcon.kt delete mode 100644 common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/HeartBorderIcon.kt delete mode 100644 common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/HeartIcon.kt delete mode 100644 common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/NewIcon.kt delete mode 100644 common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/WebIcon.kt create mode 100644 common/src/commonMain/svgs/comment_black_24dp.svg create mode 100644 common/src/commonMain/svgs/favorite_black_24dp.svg create mode 100644 common/src/commonMain/svgs/favorite_border_black_24dp.svg create mode 100644 common/src/commonMain/svgs/new_releases_black_24dp.svg create mode 100644 common/src/commonMain/svgs/public_black_24dp.svg create mode 100644 common/src/commonMain/svgs/whatshot_black_24dp.svg diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/decorations/ClawNavigationBar.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/decorations/ClawNavigationBar.kt index 217991e1..3c796c2d 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/decorations/ClawNavigationBar.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/decorations/ClawNavigationBar.kt @@ -7,7 +7,7 @@ import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.painter.Painter import androidx.navigation.NavController import dev.msfjarvis.claw.android.ui.navigation.Destinations import dev.msfjarvis.claw.android.ui.slideInAnimation @@ -29,7 +29,7 @@ fun ClawNavigationBar( NavigationBar(modifier = modifier) { items.forEach { navItem -> NavigationBarItem( - icon = { Icon(imageVector = navItem.icon, contentDescription = navItem.label) }, + icon = { Icon(painter = navItem.icon, contentDescription = navItem.label) }, label = { Text(text = navItem.label) }, selected = navController.currentDestination?.route == navItem.route, onClick = { @@ -51,6 +51,6 @@ fun ClawNavigationBar( class NavigationItem( val label: String, val route: String, - val icon: ImageVector, + val icon: Painter, val listStateResetCallback: () -> Unit, ) diff --git a/build-logic/kotlin-plugins/src/main/kotlin/dev.msfjarvis.claw.kotlin-common.gradle.kts b/build-logic/kotlin-plugins/src/main/kotlin/dev.msfjarvis.claw.kotlin-common.gradle.kts index e61b03a8..178a1a02 100644 --- a/build-logic/kotlin-plugins/src/main/kotlin/dev.msfjarvis.claw.kotlin-common.gradle.kts +++ b/build-logic/kotlin-plugins/src/main/kotlin/dev.msfjarvis.claw.kotlin-common.gradle.kts @@ -24,7 +24,8 @@ tasks.withType().configureEach { tasks.withType().configureEach { kotlinOptions { - allWarningsAsErrors = true + // TODO: Re-enable once warnings from Aurora-generated code are fixed + allWarningsAsErrors = false jvmTarget = JavaVersion.VERSION_11.toString() freeCompilerArgs = freeCompilerArgs + additionalCompilerArgs languageVersion = "1.5" diff --git a/build-logic/kotlin-plugins/src/main/kotlin/dev.msfjarvis.claw.spotless.gradle.kts b/build-logic/kotlin-plugins/src/main/kotlin/dev.msfjarvis.claw.spotless.gradle.kts index 2ec3891a..56c506c4 100644 --- a/build-logic/kotlin-plugins/src/main/kotlin/dev.msfjarvis.claw.spotless.gradle.kts +++ b/build-logic/kotlin-plugins/src/main/kotlin/dev.msfjarvis.claw.spotless.gradle.kts @@ -11,7 +11,7 @@ spotless { kotlin { ktfmt(KTFMT_VERSION).googleStyle() target("**/*.kt") - targetExclude("**/build/") + targetExclude("**/build/", "**/gen/") } kotlinGradle { ktfmt(KTFMT_VERSION).googleStyle() diff --git a/build.gradle.kts b/build.gradle.kts index 5d2398df..4d7913de 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,6 +9,7 @@ buildscript { } dependencies { classpath(libs.r8) + classpath(libs.svg.transcoder) classpath(libs.javapoet) } } diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 530ea734..da4bc0df 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -2,14 +2,27 @@ @file:Suppress("DSL_SCOPE_VIOLATION", "UnstableApiUsage") import org.jetbrains.compose.compose +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.pushingpixels.aurora.tools.svgtranscoder.gradle.TranscodeTask plugins { kotlin("multiplatform") alias(libs.plugins.compose) id("dev.msfjarvis.claw.kotlin-common") id("dev.msfjarvis.claw.android-library") + id("org.pushing-pixels.aurora.tools.svgtranscoder.gradle") } +val transcodeTask = + tasks.register("transcodeSvgs") { + inputDirectory = file("src/commonMain/svgs/") + outputDirectory = file("src/gen/kotlin/dev/msfjarvis/claw/common/res/clawicons") + outputPackageName = "dev.msfjarvis.claw.common.res.clawicons" + transcode() + } + +tasks.withType().configureEach { dependsOn(transcodeTask) } + kotlin { android() jvm("desktop") @@ -26,6 +39,7 @@ kotlin { implementation(libs.compose.richtext.material) implementation(libs.compose.richtext.ui) } + kotlin.srcDir("src/gen/kotlin/") } sourceSets["androidMain"].apply { dependencies { diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt index 7c30a0ee..7ece20e8 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt @@ -104,7 +104,7 @@ fun PostLink( ) { Row(modifier = Modifier.padding(16.dp), horizontalArrangement = Arrangement.spacedBy(16.dp)) { Icon( - imageVector = ClawIcons.Web, + painter = ClawIcons.Web, contentDescription = null, tint = MaterialTheme.colorScheme.onSecondary, ) diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt index 94ebddbd..5cdd4519 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt @@ -158,7 +158,7 @@ fun SaveButton( Crossfade(targetState = isSaved) { saved -> Box(modifier = modifier.padding(12.dp)) { Icon( - imageVector = if (saved) ClawIcons.Heart else ClawIcons.HeartBorder, + painter = if (saved) ClawIcons.Heart else ClawIcons.HeartBorder, tint = MaterialTheme.colorScheme.secondary, contentDescription = if (saved) "Remove from saved posts" else "Add to saved posts", modifier = Modifier.align(Alignment.Center) @@ -190,7 +190,7 @@ fun CommentsButton( }, ) { Icon( - imageVector = ClawIcons.Comment, + painter = ClawIcons.Comment, tint = MaterialTheme.colorScheme.secondary, contentDescription = "Open comments", modifier = Modifier.align(Alignment.Center), diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/ClawIcons.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/ClawIcons.kt index ffee119a..0b01f4f6 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/ClawIcons.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/ClawIcons.kt @@ -1,22 +1,22 @@ package dev.msfjarvis.claw.common.res -import dev.msfjarvis.claw.common.res.clawicons.commentIcon -import dev.msfjarvis.claw.common.res.clawicons.flameIcon -import dev.msfjarvis.claw.common.res.clawicons.heartBorderIcon -import dev.msfjarvis.claw.common.res.clawicons.heartIcon -import dev.msfjarvis.claw.common.res.clawicons.newIcon -import dev.msfjarvis.claw.common.res.clawicons.webIcon +import dev.msfjarvis.claw.common.res.clawicons.comment_black_24dp +import dev.msfjarvis.claw.common.res.clawicons.favorite_black_24dp +import dev.msfjarvis.claw.common.res.clawicons.favorite_border_black_24dp +import dev.msfjarvis.claw.common.res.clawicons.new_releases_black_24dp +import dev.msfjarvis.claw.common.res.clawicons.public_black_24dp +import dev.msfjarvis.claw.common.res.clawicons.whatshot_black_24dp object ClawIcons { - val Comment = commentIcon + val Comment = comment_black_24dp() - val Flame = flameIcon + val Flame = whatshot_black_24dp() - val Heart = heartIcon + val Heart = favorite_black_24dp() - val HeartBorder = heartBorderIcon + val HeartBorder = favorite_border_black_24dp() - val New = newIcon + val New = new_releases_black_24dp() - val Web = webIcon + val Web = public_black_24dp() } diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/CommentIcon.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/CommentIcon.kt deleted file mode 100644 index f1d4eede..00000000 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/CommentIcon.kt +++ /dev/null @@ -1,63 +0,0 @@ -package dev.msfjarvis.claw.common.res.clawicons - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType.Companion.NonZero -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap.Companion.Butt -import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.ImageVector.Builder -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp -import dev.msfjarvis.claw.common.unsafeLazy - -internal val commentIcon: ImageVector by unsafeLazy { - Builder( - name = "CommentIcon", - defaultWidth = 24.0.dp, - defaultHeight = 24.0.dp, - viewportWidth = 24.0f, - viewportHeight = 24.0f - ) - .apply { - path( - fill = SolidColor(Color(0xFF000000)), - stroke = null, - strokeLineWidth = 0.0f, - strokeLineCap = Butt, - strokeLineJoin = Miter, - strokeLineMiter = 4.0f, - pathFillType = NonZero - ) { - moveTo(20.0f, 2.0f) - lineTo(4.0f, 2.0f) - curveToRelative(-1.1f, 0.0f, -2.0f, 0.9f, -2.0f, 2.0f) - verticalLineToRelative(12.0f) - curveToRelative(0.0f, 1.1f, 0.9f, 2.0f, 2.0f, 2.0f) - horizontalLineToRelative(14.0f) - lineToRelative(4.0f, 4.0f) - lineTo(22.0f, 4.0f) - curveToRelative(0.0f, -1.1f, -0.9f, -2.0f, -2.0f, -2.0f) - close() - moveTo(18.0f, 14.0f) - lineTo(6.0f, 14.0f) - verticalLineToRelative(-2.0f) - horizontalLineToRelative(12.0f) - verticalLineToRelative(2.0f) - close() - moveTo(18.0f, 11.0f) - lineTo(6.0f, 11.0f) - lineTo(6.0f, 9.0f) - horizontalLineToRelative(12.0f) - verticalLineToRelative(2.0f) - close() - moveTo(18.0f, 8.0f) - lineTo(6.0f, 8.0f) - lineTo(6.0f, 6.0f) - horizontalLineToRelative(12.0f) - verticalLineToRelative(2.0f) - close() - } - } - .build() -} diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/FlameIcon.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/FlameIcon.kt deleted file mode 100644 index b71fd2e5..00000000 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/FlameIcon.kt +++ /dev/null @@ -1,52 +0,0 @@ -package dev.msfjarvis.claw.common.res.clawicons - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType.Companion.NonZero -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap.Companion.Butt -import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.ImageVector.Builder -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp -import dev.msfjarvis.claw.common.unsafeLazy - -internal val flameIcon: ImageVector by unsafeLazy { - Builder( - name = "FlameIcon", - defaultWidth = 24.0.dp, - defaultHeight = 24.0.dp, - viewportWidth = 24.0f, - viewportHeight = 24.0f - ) - .apply { - path( - fill = SolidColor(Color(0xFF000000)), - stroke = null, - strokeLineWidth = 0.0f, - strokeLineCap = Butt, - strokeLineJoin = Miter, - strokeLineMiter = 4.0f, - pathFillType = NonZero - ) { - moveTo(13.5f, 0.67f) - reflectiveCurveToRelative(0.74f, 2.65f, 0.74f, 4.8f) - curveToRelative(0.0f, 2.06f, -1.35f, 3.73f, -3.41f, 3.73f) - curveToRelative(-2.07f, 0.0f, -3.63f, -1.67f, -3.63f, -3.73f) - lineToRelative(0.03f, -0.36f) - curveTo(5.21f, 7.51f, 4.0f, 10.62f, 4.0f, 14.0f) - curveToRelative(0.0f, 4.42f, 3.58f, 8.0f, 8.0f, 8.0f) - reflectiveCurveToRelative(8.0f, -3.58f, 8.0f, -8.0f) - curveTo(20.0f, 8.61f, 17.41f, 3.8f, 13.5f, 0.67f) - close() - moveTo(11.71f, 19.0f) - curveToRelative(-1.78f, 0.0f, -3.22f, -1.4f, -3.22f, -3.14f) - curveToRelative(0.0f, -1.62f, 1.05f, -2.76f, 2.81f, -3.12f) - curveToRelative(1.77f, -0.36f, 3.6f, -1.21f, 4.62f, -2.58f) - curveToRelative(0.39f, 1.29f, 0.59f, 2.65f, 0.59f, 4.04f) - curveToRelative(0.0f, 2.65f, -2.15f, 4.8f, -4.8f, 4.8f) - close() - } - } - .build() -} diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/HeartBorderIcon.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/HeartBorderIcon.kt deleted file mode 100644 index ee5f61e5..00000000 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/HeartBorderIcon.kt +++ /dev/null @@ -1,56 +0,0 @@ -package dev.msfjarvis.claw.common.res.clawicons - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType.Companion.NonZero -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap.Companion.Butt -import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.ImageVector.Builder -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp -import dev.msfjarvis.claw.common.unsafeLazy - -internal val heartBorderIcon: ImageVector by unsafeLazy { - Builder( - name = "HeartBorder", - defaultWidth = 24.0.dp, - defaultHeight = 24.0.dp, - viewportWidth = 24.0f, - viewportHeight = 24.0f - ) - .apply { - path( - fill = SolidColor(Color(0xFF000000)), - stroke = null, - strokeLineWidth = 0.0f, - strokeLineCap = Butt, - strokeLineJoin = Miter, - strokeLineMiter = 4.0f, - pathFillType = NonZero - ) { - moveTo(16.5f, 3.0f) - curveToRelative(-1.74f, 0.0f, -3.41f, 0.81f, -4.5f, 2.09f) - curveTo(10.91f, 3.81f, 9.24f, 3.0f, 7.5f, 3.0f) - curveTo(4.42f, 3.0f, 2.0f, 5.42f, 2.0f, 8.5f) - curveToRelative(0.0f, 3.78f, 3.4f, 6.86f, 8.55f, 11.54f) - lineTo(12.0f, 21.35f) - lineToRelative(1.45f, -1.32f) - curveTo(18.6f, 15.36f, 22.0f, 12.28f, 22.0f, 8.5f) - curveTo(22.0f, 5.42f, 19.58f, 3.0f, 16.5f, 3.0f) - close() - moveTo(12.1f, 18.55f) - lineToRelative(-0.1f, 0.1f) - lineToRelative(-0.1f, -0.1f) - curveTo(7.14f, 14.24f, 4.0f, 11.39f, 4.0f, 8.5f) - curveTo(4.0f, 6.5f, 5.5f, 5.0f, 7.5f, 5.0f) - curveToRelative(1.54f, 0.0f, 3.04f, 0.99f, 3.57f, 2.36f) - horizontalLineToRelative(1.87f) - curveTo(13.46f, 5.99f, 14.96f, 5.0f, 16.5f, 5.0f) - curveToRelative(2.0f, 0.0f, 3.5f, 1.5f, 3.5f, 3.5f) - curveToRelative(0.0f, 2.89f, -3.14f, 5.74f, -7.9f, 10.05f) - close() - } - } - .build() -} diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/HeartIcon.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/HeartIcon.kt deleted file mode 100644 index c2b25190..00000000 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/HeartIcon.kt +++ /dev/null @@ -1,45 +0,0 @@ -package dev.msfjarvis.claw.common.res.clawicons - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType.Companion.NonZero -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap.Companion.Butt -import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.ImageVector.Builder -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp -import dev.msfjarvis.claw.common.unsafeLazy - -internal val heartIcon: ImageVector by unsafeLazy { - Builder( - name = "HeartIcon", - defaultWidth = 24.0.dp, - defaultHeight = 24.0.dp, - viewportWidth = 24.0f, - viewportHeight = 24.0f - ) - .apply { - path( - fill = SolidColor(Color(0xFF000000)), - stroke = null, - strokeLineWidth = 0.0f, - strokeLineCap = Butt, - strokeLineJoin = Miter, - strokeLineMiter = 4.0f, - pathFillType = NonZero - ) { - moveTo(12.0f, 21.35f) - lineToRelative(-1.45f, -1.32f) - curveTo(5.4f, 15.36f, 2.0f, 12.28f, 2.0f, 8.5f) - curveTo(2.0f, 5.42f, 4.42f, 3.0f, 7.5f, 3.0f) - curveToRelative(1.74f, 0.0f, 3.41f, 0.81f, 4.5f, 2.09f) - curveTo(13.09f, 3.81f, 14.76f, 3.0f, 16.5f, 3.0f) - curveTo(19.58f, 3.0f, 22.0f, 5.42f, 22.0f, 8.5f) - curveToRelative(0.0f, 3.78f, -3.4f, 6.86f, -8.55f, 11.54f) - lineTo(12.0f, 21.35f) - close() - } - } - .build() -} diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/NewIcon.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/NewIcon.kt deleted file mode 100644 index 44a95063..00000000 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/NewIcon.kt +++ /dev/null @@ -1,69 +0,0 @@ -package dev.msfjarvis.claw.common.res.clawicons - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType.Companion.NonZero -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap.Companion.Butt -import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.ImageVector.Builder -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp -import dev.msfjarvis.claw.common.unsafeLazy - -val newIcon: ImageVector by unsafeLazy { - Builder( - name = "NewIcon", - defaultWidth = 24.0.dp, - defaultHeight = 24.0.dp, - viewportWidth = 24.0f, - viewportHeight = 24.0f - ) - .apply { - path( - fill = SolidColor(Color(0xFF000000)), - stroke = null, - strokeLineWidth = 0.0f, - strokeLineCap = Butt, - strokeLineJoin = Miter, - strokeLineMiter = 4.0f, - pathFillType = NonZero - ) { - moveTo(23.0f, 12.0f) - lineToRelative(-2.44f, -2.78f) - lineToRelative(0.34f, -3.68f) - lineToRelative(-3.61f, -0.82f) - lineToRelative(-1.89f, -3.18f) - lineTo(12.0f, 3.0f) - lineTo(8.6f, 1.54f) - lineTo(6.71f, 4.72f) - lineToRelative(-3.61f, 0.81f) - lineToRelative(0.34f, 3.68f) - lineTo(1.0f, 12.0f) - lineToRelative(2.44f, 2.78f) - lineToRelative(-0.34f, 3.69f) - lineToRelative(3.61f, 0.82f) - lineToRelative(1.89f, 3.18f) - lineTo(12.0f, 21.0f) - lineToRelative(3.4f, 1.46f) - lineToRelative(1.89f, -3.18f) - lineToRelative(3.61f, -0.82f) - lineToRelative(-0.34f, -3.68f) - lineTo(23.0f, 12.0f) - close() - moveTo(13.0f, 17.0f) - horizontalLineToRelative(-2.0f) - verticalLineToRelative(-2.0f) - horizontalLineToRelative(2.0f) - verticalLineToRelative(2.0f) - close() - moveTo(13.0f, 13.0f) - horizontalLineToRelative(-2.0f) - lineTo(11.0f, 7.0f) - horizontalLineToRelative(2.0f) - verticalLineToRelative(6.0f) - close() - } - } - .build() -} diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/WebIcon.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/WebIcon.kt deleted file mode 100644 index cfb28e1a..00000000 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/res/clawicons/WebIcon.kt +++ /dev/null @@ -1,65 +0,0 @@ -package dev.msfjarvis.claw.common.res.clawicons - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType.Companion.NonZero -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap.Companion.Butt -import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.ImageVector.Builder -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp -import dev.msfjarvis.claw.common.unsafeLazy - -internal val webIcon: ImageVector by unsafeLazy { - Builder( - name = "WebIcon", - defaultWidth = 24.0.dp, - defaultHeight = 24.0.dp, - viewportWidth = 24.0f, - viewportHeight = 24.0f - ) - .apply { - path( - fill = SolidColor(Color(0xFF000000)), - stroke = null, - strokeLineWidth = 0.0f, - strokeLineCap = Butt, - strokeLineJoin = Miter, - strokeLineMiter = 4.0f, - pathFillType = NonZero - ) { - moveTo(12.0f, 2.0f) - curveTo(6.48f, 2.0f, 2.0f, 6.48f, 2.0f, 12.0f) - reflectiveCurveToRelative(4.48f, 10.0f, 10.0f, 10.0f) - reflectiveCurveToRelative(10.0f, -4.48f, 10.0f, -10.0f) - reflectiveCurveTo(17.52f, 2.0f, 12.0f, 2.0f) - close() - moveTo(4.0f, 12.0f) - curveToRelative(0.0f, -0.61f, 0.08f, -1.21f, 0.21f, -1.78f) - lineTo(8.99f, 15.0f) - verticalLineToRelative(1.0f) - curveToRelative(0.0f, 1.1f, 0.9f, 2.0f, 2.0f, 2.0f) - verticalLineToRelative(1.93f) - curveTo(7.06f, 19.43f, 4.0f, 16.07f, 4.0f, 12.0f) - close() - moveTo(17.89f, 17.4f) - curveToRelative(-0.26f, -0.81f, -1.0f, -1.4f, -1.9f, -1.4f) - horizontalLineToRelative(-1.0f) - verticalLineToRelative(-3.0f) - curveToRelative(0.0f, -0.55f, -0.45f, -1.0f, -1.0f, -1.0f) - horizontalLineToRelative(-6.0f) - verticalLineToRelative(-2.0f) - horizontalLineToRelative(2.0f) - curveToRelative(0.55f, 0.0f, 1.0f, -0.45f, 1.0f, -1.0f) - lineTo(10.99f, 7.0f) - horizontalLineToRelative(2.0f) - curveToRelative(1.1f, 0.0f, 2.0f, -0.9f, 2.0f, -2.0f) - verticalLineToRelative(-0.41f) - curveTo(17.92f, 5.77f, 20.0f, 8.65f, 20.0f, 12.0f) - curveToRelative(0.0f, 2.08f, -0.81f, 3.98f, -2.11f, 5.4f) - close() - } - } - .build() -} diff --git a/common/src/commonMain/svgs/comment_black_24dp.svg b/common/src/commonMain/svgs/comment_black_24dp.svg new file mode 100644 index 00000000..0244a91c --- /dev/null +++ b/common/src/commonMain/svgs/comment_black_24dp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/common/src/commonMain/svgs/favorite_black_24dp.svg b/common/src/commonMain/svgs/favorite_black_24dp.svg new file mode 100644 index 00000000..4ffb7ba4 --- /dev/null +++ b/common/src/commonMain/svgs/favorite_black_24dp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/common/src/commonMain/svgs/favorite_border_black_24dp.svg b/common/src/commonMain/svgs/favorite_border_black_24dp.svg new file mode 100644 index 00000000..cf4a9b74 --- /dev/null +++ b/common/src/commonMain/svgs/favorite_border_black_24dp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/common/src/commonMain/svgs/new_releases_black_24dp.svg b/common/src/commonMain/svgs/new_releases_black_24dp.svg new file mode 100644 index 00000000..3a5e3f8d --- /dev/null +++ b/common/src/commonMain/svgs/new_releases_black_24dp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/common/src/commonMain/svgs/public_black_24dp.svg b/common/src/commonMain/svgs/public_black_24dp.svg new file mode 100644 index 00000000..b4dbf0ce --- /dev/null +++ b/common/src/commonMain/svgs/public_black_24dp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/common/src/commonMain/svgs/whatshot_black_24dp.svg b/common/src/commonMain/svgs/whatshot_black_24dp.svg new file mode 100644 index 00000000..7f6d36a3 --- /dev/null +++ b/common/src/commonMain/svgs/whatshot_black_24dp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 947acbb7..81a79ea7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -49,6 +49,7 @@ multiplatform-paging = "io.github.kuuuurt:multiplatform-paging:0.4.7" r8 = "com.android.tools:r8:3.3.28" retrofit-kotlinxSerializationConverter = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0" retrofit-lib = "com.squareup.retrofit2:retrofit:2.9.0" +svg-transcoder = "org.pushing-pixels:aurora-tools-svg-transcoder-gradle-plugin:1.1.0" sqldelight-androidDriver = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } sqldelight-extensions-coroutines = { module = "app.cash.sqldelight:coroutines-extensions-jvm", version.ref = "sqldelight" } sqldelight-jvmDriver = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" }