mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 03:37:05 +05:30
common: switch to generating icons code at build-time
This commit is contained in:
parent
d4f09b98e4
commit
bfdb86d2e5
21 changed files with 43 additions and 370 deletions
|
@ -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,
|
||||
)
|
||||
|
|
|
@ -24,7 +24,8 @@ tasks.withType<JavaCompile>().configureEach {
|
|||
|
||||
tasks.withType<KotlinCompile>().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"
|
||||
|
|
|
@ -11,7 +11,7 @@ spotless {
|
|||
kotlin {
|
||||
ktfmt(KTFMT_VERSION).googleStyle()
|
||||
target("**/*.kt")
|
||||
targetExclude("**/build/")
|
||||
targetExclude("**/build/", "**/gen/")
|
||||
}
|
||||
kotlinGradle {
|
||||
ktfmt(KTFMT_VERSION).googleStyle()
|
||||
|
|
|
@ -9,6 +9,7 @@ buildscript {
|
|||
}
|
||||
dependencies {
|
||||
classpath(libs.r8)
|
||||
classpath(libs.svg.transcoder)
|
||||
classpath(libs.javapoet)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<TranscodeTask>("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<KotlinCompile>().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 {
|
||||
|
|
|
@ -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,
|
||||
)
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
}
|
|
@ -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()
|
||||
}
|
|
@ -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()
|
||||
}
|
|
@ -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()
|
||||
}
|
|
@ -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()
|
||||
}
|
|
@ -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()
|
||||
}
|
1
common/src/commonMain/svgs/comment_black_24dp.svg
Normal file
1
common/src/commonMain/svgs/comment_black_24dp.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18zM20 4v13.17L18.83 16H4V4h16zM6 12h12v2H6zm0-3h12v2H6zm0-3h12v2H6z"/></svg>
|
After Width: | Height: | Size: 301 B |
1
common/src/commonMain/svgs/favorite_black_24dp.svg
Normal file
1
common/src/commonMain/svgs/favorite_black_24dp.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>
|
After Width: | Height: | Size: 333 B |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z"/></svg>
|
After Width: | Height: | Size: 502 B |
1
common/src/commonMain/svgs/new_releases_black_24dp.svg
Normal file
1
common/src/commonMain/svgs/new_releases_black_24dp.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M23 12l-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68L23 12zm-4.51 2.11l.26 2.79-2.74.62-1.43 2.41L12 18.82l-2.58 1.11-1.43-2.41-2.74-.62.26-2.8L3.66 12l1.85-2.12-.26-2.78 2.74-.61 1.43-2.41L12 5.18l2.58-1.11 1.43 2.41 2.74.62-.26 2.79L20.34 12l-1.85 2.11zM11 15h2v2h-2zm0-8h2v6h-2z"/></svg>
|
After Width: | Height: | Size: 558 B |
1
common/src/commonMain/svgs/public_black_24dp.svg
Normal file
1
common/src/commonMain/svgs/public_black_24dp.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-.61.08-1.21.21-1.78L8.99 15v1c0 1.1.9 2 2 2v1.93C7.06 19.43 4 16.07 4 12zm13.89 5.4c-.26-.81-1-1.4-1.9-1.4h-1v-3c0-.55-.45-1-1-1h-6v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41C17.92 5.77 20 8.65 20 12c0 2.08-.81 3.98-2.11 5.4z"/></svg>
|
After Width: | Height: | Size: 460 B |
1
common/src/commonMain/svgs/whatshot_black_24dp.svg
Normal file
1
common/src/commonMain/svgs/whatshot_black_24dp.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11.57 13.16c-1.36.28-2.17 1.16-2.17 2.41 0 1.34 1.11 2.42 2.49 2.42 2.05 0 3.71-1.66 3.71-3.71 0-1.07-.15-2.12-.46-3.12-.79 1.07-2.2 1.72-3.57 2zM13.5.67s.74 2.65.74 4.8c0 2.06-1.35 3.73-3.41 3.73-2.07 0-3.63-1.67-3.63-3.73l.03-.36C5.21 7.51 4 10.62 4 14c0 4.42 3.58 8 8 8s8-3.58 8-8C20 8.61 17.41 3.8 13.5.67zM12 20c-3.31 0-6-2.69-6-6 0-1.53.3-3.04.86-4.43 1.01 1.01 2.41 1.63 3.97 1.63 2.66 0 4.75-1.83 5.28-4.43C17.34 8.97 18 11.44 18 14c0 3.31-2.69 6-6 6z"/></svg>
|
After Width: | Height: | Size: 619 B |
|
@ -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" }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue