Compose->build150

This commit is contained in:
shabinder 2021-02-12 02:21:11 +05:30
parent 3752f77d39
commit b5de14ae75
31 changed files with 440 additions and 121 deletions

114
.gitignore vendored Normal file
View File

@ -0,0 +1,114 @@
/fuzzywuzzy/app/build/
/desktop/build/classes/kotlin/jvm/main/META-INF/desktop.kotlin_module
/desktop/build/classes/kotlin/jvm/main/ComposableSingletons$MainKt$lambda-1$1$1.class
/desktop/build/classes/kotlin/jvm/main/ComposableSingletons$MainKt$lambda-1$1.class
/desktop/build/classes/kotlin/jvm/main/ComposableSingletons$MainKt$lambda-2$1.class
/desktop/build/classes/kotlin/jvm/main/ComposableSingletons$MainKt$lambda-3$1.class
/desktop/build/classes/kotlin/jvm/main/ComposableSingletons$MainKt.class
/desktop/build/classes/kotlin/jvm/main/MainKt$spotiFlyerRoot$1.class
/desktop/build/classes/kotlin/jvm/main/MainKt.class
/desktop/build/processedResources/jvm/main/drawable/ic_arrow.xml
/desktop/build/processedResources/jvm/main/drawable/ic_download_arrow.xml
/desktop/build/processedResources/jvm/main/drawable/ic_error.xml
/desktop/build/processedResources/jvm/main/drawable/ic_gaana.xml
/desktop/build/processedResources/jvm/main/drawable/ic_github.xml
/desktop/build/processedResources/jvm/main/drawable/ic_heart.xml
/desktop/build/processedResources/jvm/main/drawable/ic_history.xml
/desktop/build/processedResources/jvm/main/drawable/ic_instagram.xml
/desktop/build/processedResources/jvm/main/drawable/ic_linkedin.xml
/desktop/build/processedResources/jvm/main/drawable/ic_mug.xml
/desktop/build/processedResources/jvm/main/drawable/ic_musicplaceholder.xml
/desktop/build/processedResources/jvm/main/drawable/ic_refreshgradient.xml
/desktop/build/processedResources/jvm/main/drawable/ic_round_cancel_24.xml
/desktop/build/processedResources/jvm/main/drawable/ic_share_open.xml
/desktop/build/processedResources/jvm/main/drawable/ic_song_placeholder.xml
/desktop/build/processedResources/jvm/main/drawable/ic_spotiflyer_logo.xml
/desktop/build/processedResources/jvm/main/drawable/ic_spotify_logo.xml
/desktop/build/processedResources/jvm/main/drawable/ic_tick.xml
/desktop/build/processedResources/jvm/main/drawable/ic_youtube.xml
/desktop/build/processedResources/jvm/main/drawable/ic_youtube_music_logo.xml
/desktop/build/processedResources/jvm/main/drawable/music.xml
/desktop/build/compose/tmp/createRuntimeImage.args.txt
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/inputs/source-to-output.tab
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/inputs/source-to-output.tab.keystream
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/inputs/source-to-output.tab.keystream.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/inputs/source-to-output.tab.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/inputs/source-to-output.tab.values.at
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/inputs/source-to-output.tab_i
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/inputs/source-to-output.tab_i.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/internal-name-to-source.tab
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/package-parts.tab
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/package-parts.tab.keystream
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/package-parts.tab.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/package-parts.tab.values.at
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/package-parts.tab_i
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/package-parts.tab_i.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/proto.tab
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/proto.tab.keystream
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/proto.tab.keystream.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/proto.tab.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/proto.tab.values.at
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/proto.tab_i
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/proto.tab_i.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/source-to-classes.tab
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/source-to-classes.tab.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/source-to-classes.tab_i
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/counters.tab
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/file-to-id.tab
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/file-to-id.tab.keystream
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/file-to-id.tab.keystream.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/file-to-id.tab.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/file-to-id.tab.values.at
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/file-to-id.tab_i
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/file-to-id.tab_i.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/id-to-file.tab
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/id-to-file.tab.keystream
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/id-to-file.tab.keystream.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/id-to-file.tab.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/id-to-file.tab.values.at
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/lookups.tab
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/lookups.tab.keystream
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/lookups.tab.keystream.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/lookups.tab.len
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/lookups.tab.values.at
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/lookups.tab_i
/desktop/build/kotlin/compileKotlinJvm/caches-jvm/lookups/lookups.tab_i.len
/desktop/build/kotlin/compileKotlinJvm/build-history.bin
/desktop/build/kotlin/compileKotlinJvm/last-build.bin
/desktop/build/libs/desktop-jvm-2.2.jar
/desktop/build/libs/desktop-metadata-2.2.jar
/desktop/build/libs/desktop-metadata-2.2-sources.jar
/desktop/build/tmp/jvmJar/MANIFEST.MF
/desktop/build/tmp/metadataJar/MANIFEST.MF
/desktop/build/tmp/metadataSourcesJar/MANIFEST.MF
/desktop/build/tmp/packageUberJarForCurrentOS/MANIFEST.MF
/common/dependency-injection/build/classes/kotlin/desktop/main/
/common/dependency-injection/build/
/common/database/build/generated/sqldelight/code/Database/com/shabinder/
/.gradle/
/.idea/
/local.properties
/android/build/
/buildSrc/build/pluginUnderTestMetadata/
/common/compose-ui/build/classes/kotlin/desktop/main/
/common/data-models/build/classes/kotlin/desktop/main/
/common/data-models/build/
/common/database/build/classes/kotlin/desktop/main/
/common/database/build/
/build/
/common/compose-ui/build/
/buildSrc/.gradle/
/buildSrc/build/
/buildSrc/buildSrc/.gradle/
/buildSrc/buildSrc/build/

View File

@ -46,20 +46,10 @@ android {
exclude(group = "androidx.compose.ui") exclude(group = "androidx.compose.ui")
} }
} }
// Remove After upgrading dependency
configurations.all {
resolutionStrategy.eachDependency {
if (requested.group.contains("org.jetbrains.compose")) {
useVersion("0.3.0-build146")
because("wait for decompose to upgrade too")
}
}
}
packagingOptions { packagingOptions {
exclude("META-INF/*") exclude("META-INF/*")
} }
/* /*buildFeatures {
buildFeatures {
compose = true compose = true
} }
kotlinOptions { kotlinOptions {
@ -70,15 +60,12 @@ android {
dependencies { dependencies {
implementation(compose.material) implementation(compose.material)
implementation(compose.materialIconsExtended) implementation(compose.materialIconsExtended)
implementation(Androidx.androidxActivity)
implementation(project(":common:database")) implementation(project(":common:database"))
implementation(project(":common:compose-ui")) implementation(project(":common:compose-ui"))
implementation(project(":common:dependency-injection")) implementation(project(":common:dependency-injection"))
implementation(project(":common:data-models")) implementation(project(":common:data-models"))
implementation(Androidx.appCompat)
//Compose-Navigation
//implementation(Androidx.composeNavigation)
implementation(Koin.android) implementation(Koin.android)
implementation(Koin.androidViewModel) implementation(Koin.androidViewModel)
@ -87,10 +74,6 @@ dependencies {
implementation(Decompose.decompose) implementation(Decompose.decompose)
implementation(Decompose.extensionsCompose) implementation(Decompose.extensionsCompose)
/* /*
implementation(Androidx.coroutines)
implementation(Androidx.core)
implementation(Androidx.palette)
//Lifecycle //Lifecycle
Versions.androidLifecycle.let{ Versions.androidLifecycle.let{
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$it") implementation("androidx.lifecycle:lifecycle-runtime-ktx:$it")

View File

@ -7,8 +7,8 @@ import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.PowerManager import android.os.PowerManager
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import com.arkivanov.decompose.ComponentContext import com.arkivanov.decompose.ComponentContext
import androidx.compose.ui.platform.setContent
import com.arkivanov.decompose.extensions.compose.jetbrains.rootComponent import com.arkivanov.decompose.extensions.compose.jetbrains.rootComponent
import com.arkivanov.mvikotlin.logging.store.LoggingStoreFactory import com.arkivanov.mvikotlin.logging.store.LoggingStoreFactory
import com.arkivanov.mvikotlin.main.store.DefaultStoreFactory import com.arkivanov.mvikotlin.main.store.DefaultStoreFactory

View File

@ -2,10 +2,11 @@
object Versions { object Versions {
const val versionName = "2.2" const val versionName = "2.2"
const val kotlinVersion = "1.4.21-2" const val kotlinVersion = "1.4.30"
const val coroutinesVersion = "1.4.2" const val coroutinesVersion = "1.4.2"
//const val compose = "1.0.0-alpha11" //const val compose = "1.0.0-alpha12"
const val coilVersion = "0.4.1" const val coilVersion = "0.4.1"
//DI //DI
const val koin = "3.0.0-alpha-4" const val koin = "3.0.0-alpha-4"
@ -16,7 +17,7 @@ object Versions {
//Internet //Internet
const val ktor = "1.5.1" const val ktor = "1.5.1"
const val kotlinxSerialization = "1.0.1" const val kotlinxSerialization = "1.1.0-RC"
//Database //Database
const val sqlDelight = "1.4.4" const val sqlDelight = "1.4.4"
@ -37,10 +38,9 @@ object Koin {
val androidViewModel = "org.koin:koin-androidx-viewmodel:${Versions.koin}" val androidViewModel = "org.koin:koin-androidx-viewmodel:${Versions.koin}"
} }
object Androidx{ object Androidx{
const val appCompat = "androidx.appcompat:appcompat:1.2.0" const val androidxActivity = "androidx.activity:activity-compose:1.3.0-alpha02"
const val core = "androidx.core:core-ktx:1.3.2" const val core = "androidx.core:core-ktx:1.3.2"
const val palette = "androidx.palette:palette-ktx:1.0.0" const val palette = "androidx.palette:palette-ktx:1.0.0"
const val composeNavigation = "androidx.navigation:navigation-compose:1.0.0-alpha06"
const val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutinesVersion}" const val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutinesVersion}"
const val junit = "androidx.test.ext:junit:1.1.2" const val junit = "androidx.test.ext:junit:1.1.2"
@ -67,12 +67,12 @@ object JetBrains {
object Compose { object Compose {
// __LATEST_COMPOSE_RELEASE_VERSION__ // __LATEST_COMPOSE_RELEASE_VERSION__
private const val VERSION = "0.3.0-build146" const val VERSION = "0.3.0-build150"
const val gradlePlugin = "org.jetbrains.compose:compose-gradle-plugin:$VERSION" const val gradlePlugin = "org.jetbrains.compose:compose-gradle-plugin:$VERSION"
} }
} }
object Decompose { object Decompose {
private const val VERSION = "0.1.7" private const val VERSION = "0.1.8"
const val decompose = "com.arkivanov.decompose:decompose:$VERSION" const val decompose = "com.arkivanov.decompose:decompose:$VERSION"
const val decomposeIosX64 = "com.arkivanov.decompose:decompose-iosx64:$VERSION" const val decomposeIosX64 = "com.arkivanov.decompose:decompose-iosx64:$VERSION"
const val decomposeIosArm64 = "com.arkivanov.decompose:decompose-iosarm64:$VERSION" const val decomposeIosArm64 = "com.arkivanov.decompose:decompose-iosarm64:$VERSION"
@ -117,10 +117,9 @@ object Ktor {
} }
object Extras { object Extras {
const val youtubeDownloader = "com.github.sealedtx:java-youtube-downloader:2.4.6" const val youtubeDownloader = "com.github.sealedtx:java-youtube-downloader:2.5.0"
const val fuzzyWuzzy = "me.xdrop:fuzzywuzzy:1.3.1" const val fuzzyWuzzy = "me.xdrop:fuzzywuzzy:1.3.1"
const val mp3agic = "com.mpatric:mp3agic:0.9.1" const val mp3agic = "com.mpatric:mp3agic:0.9.1"
const val jsonKlaxon = "com.beust:klaxon:5.4"
const val kermit = "co.touchlab:kermit:${Versions.kermit}" const val kermit = "co.touchlab:kermit:${Versions.kermit}"
object Android { object Android {
val razorpay = "com.razorpay:checkout:1.6.4" val razorpay = "com.razorpay:checkout:1.6.4"

View File

@ -9,26 +9,36 @@ plugins {
kotlin { kotlin {
jvm("desktop") jvm("desktop")
android() android()
// Remove After upgrading dependency
/*configurations.all {
resolutionStrategy.eachDependency {
if (requested.group.contains("org.jetbrains.compose")) {
useVersion(JetBrains.Compose.VERSION)
}
if (requested.group.contains("androidx.compose")) {
useVersion(Versions.compose)
}
}
}*/
sourceSets { sourceSets {
named("commonMain") { named("commonMain") {
dependencies { dependencies {
implementation(compose.runtime) api(compose.runtime)
implementation(compose.foundation) api(compose.foundation)
implementation(compose.material) api(compose.material)
} }
} }
named("androidMain") { named("androidMain") {
dependencies { dependencies {
implementation(Androidx.appCompat) api("androidx.appcompat:appcompat:1.2.0")
implementation(Androidx.core) api(Androidx.core)
} }
} }
named("desktopMain") { named("desktopMain") {
dependencies { dependencies {
implementation(compose.desktop.common) api(compose.desktop.common)
} }
} }
} }

View File

@ -11,9 +11,8 @@ kotlin {
commonMain { commonMain {
dependencies { dependencies {
implementation(compose.materialIconsExtended) implementation(compose.materialIconsExtended)
//implementation("org.jetbrains.compose.material:material-icons-extended:0.3.0-build150")
implementation(project(":common:dependency-injection")) implementation(project(":common:dependency-injection"))
//implementation("com.alialbaali.kamel:kamel-image:0.0.7") implementation("com.alialbaali.kamel:kamel-image:0.0.7")
implementation(project(":common:data-models")) implementation(project(":common:data-models"))
implementation(project(":common:database")) implementation(project(":common:database"))
implementation(SqlDelight.coroutineExtensions) implementation(SqlDelight.coroutineExtensions)
@ -21,12 +20,6 @@ kotlin {
implementation(MVIKotlin.mvikotlin) implementation(MVIKotlin.mvikotlin)
implementation(Decompose.decompose) implementation(Decompose.decompose)
implementation(Decompose.extensionsCompose) implementation(Decompose.extensionsCompose)
//Coil-Image Loading
/*Versions.coilVersion.let{
implementation("dev.chrisbanes.accompanist:accompanist-coil:$it")
implementation("dev.chrisbanes.accompanist:accompanist-insets:$it")
}*/
} }
} }
} }

View File

@ -7,6 +7,21 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.vectorResource import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
actual fun montserratFont() = FontFamily(
Font(R.font.montserrat_light, FontWeight.Light),
Font(R.font.montserrat_regular, FontWeight.Normal),
Font(R.font.montserrat_medium, FontWeight.Medium),
Font(R.font.montserrat_semibold, FontWeight.SemiBold),
)
actual fun pristineFont() = FontFamily(
Font(R.font.pristine_script, FontWeight.Bold)
)
@Composable @Composable
actual fun DownloadImageTick(){ actual fun DownloadImageTick(){

View File

@ -59,7 +59,7 @@ fun AppBar(
Image( Image(
imageVector = SpotiFlyerLogo(), imageVector = SpotiFlyerLogo(),
"SpotiFlyer Logo", "SpotiFlyer Logo",
Modifier.preferredSize(32.dp) Modifier.preferredSize(32.dp),
) )
Spacer(Modifier.padding(horizontal = 4.dp)) Spacer(Modifier.padding(horizontal = 4.dp))
Text( Text(

View File

@ -23,48 +23,45 @@ import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
/*private val Montserrat = fontFamily(
font(R.font.montserrat_light, FontWeight.Light), expect fun montserratFont():FontFamily
font(R.font.montserrat_regular, FontWeight.Normal), expect fun pristineFont():FontFamily
font(R.font.montserrat_medium, FontWeight.Medium),
font(R.font.montserrat_semibold, FontWeight.SemiBold),
)*/
val SpotiFlyerTypography = Typography( val SpotiFlyerTypography = Typography(
h1 = TextStyle( h1 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 96.sp, fontSize = 96.sp,
fontWeight = FontWeight.Light, fontWeight = FontWeight.Light,
lineHeight = 117.sp, lineHeight = 117.sp,
letterSpacing = (-1.5).sp letterSpacing = (-1.5).sp
), ),
h2 = TextStyle( h2 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 60.sp, fontSize = 60.sp,
fontWeight = FontWeight.Light, fontWeight = FontWeight.Light,
lineHeight = 73.sp, lineHeight = 73.sp,
letterSpacing = (-0.5).sp letterSpacing = (-0.5).sp
), ),
h3 = TextStyle( h3 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 48.sp, fontSize = 48.sp,
fontWeight = FontWeight.Normal, fontWeight = FontWeight.Normal,
lineHeight = 59.sp lineHeight = 59.sp
), ),
h4 = TextStyle( h4 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 30.sp, fontSize = 30.sp,
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
lineHeight = 37.sp lineHeight = 37.sp
), ),
h5 = TextStyle( h5 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 24.sp, fontSize = 24.sp,
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
lineHeight = 29.sp lineHeight = 29.sp
), ),
h6 = TextStyle( h6 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 18.sp, fontSize = 18.sp,
fontWeight = FontWeight.Medium, fontWeight = FontWeight.Medium,
lineHeight = 26.sp, lineHeight = 26.sp,
@ -72,49 +69,49 @@ val SpotiFlyerTypography = Typography(
), ),
subtitle1 = TextStyle( subtitle1 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 16.sp, fontSize = 16.sp,
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
lineHeight = 20.sp, lineHeight = 20.sp,
letterSpacing = 0.5.sp letterSpacing = 0.5.sp
), ),
subtitle2 = TextStyle( subtitle2 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 14.sp, fontSize = 14.sp,
fontWeight = FontWeight.Medium, fontWeight = FontWeight.Medium,
lineHeight = 17.sp, lineHeight = 17.sp,
letterSpacing = 0.1.sp letterSpacing = 0.1.sp
), ),
body1 = TextStyle( body1 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 16.sp, fontSize = 16.sp,
fontWeight = FontWeight.Medium, fontWeight = FontWeight.Medium,
lineHeight = 20.sp, lineHeight = 20.sp,
letterSpacing = 0.15.sp, letterSpacing = 0.15.sp,
), ),
body2 = TextStyle( body2 = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 14.sp, fontSize = 14.sp,
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
lineHeight = 20.sp, lineHeight = 20.sp,
letterSpacing = 0.25.sp letterSpacing = 0.25.sp
), ),
button = TextStyle( button = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 14.sp, fontSize = 14.sp,
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
lineHeight = 16.sp, lineHeight = 16.sp,
letterSpacing = 1.25.sp letterSpacing = 1.25.sp
), ),
caption = TextStyle( caption = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 12.sp, fontSize = 12.sp,
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
lineHeight = 16.sp, lineHeight = 16.sp,
letterSpacing = 0.sp letterSpacing = 0.sp
), ),
overline = TextStyle( overline = TextStyle(
//fontFamily = Montserrat, fontFamily = montserratFont(),
fontSize = 12.sp, fontSize = 12.sp,
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
lineHeight = 16.sp, lineHeight = 16.sp,
@ -123,7 +120,7 @@ val SpotiFlyerTypography = Typography(
) )
val appNameStyle = TextStyle( val appNameStyle = TextStyle(
fontFamily = FontFamily.Cursive, fontFamily = pristineFont(),
fontSize = 40.sp, fontSize = 40.sp,
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
lineHeight = 42.sp, lineHeight = 42.sp,

View File

@ -6,6 +6,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.vectorXmlResource import androidx.compose.ui.res.vectorXmlResource
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.platform.Font
@Composable @Composable
actual fun DownloadImageTick(){ actual fun DownloadImageTick(){
@ -15,6 +18,17 @@ actual fun DownloadImageTick(){
) )
} }
actual fun montserratFont() = FontFamily(
Font("font/montserrat_light.ttf", FontWeight.Light),
Font("font/montserrat_regular.ttf", FontWeight.Normal),
Font("font/montserrat_medium.ttf", FontWeight.Medium),
Font("font/montserrat_semibold.ttf", FontWeight.SemiBold),
)
actual fun pristineFont() = FontFamily(
Font("font/pristine_script.ttf", FontWeight.Bold)
)
@Composable @Composable
actual fun DownloadImageError(){ actual fun DownloadImageError(){
Image( Image(

View File

@ -0,0 +1,50 @@
<!--
~ Copyright (c) 2021 Shabinder Singh
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
android:width="32dp" android:height="32dp"
android:viewportWidth="512" android:viewportHeight="512">
<path android:pathData="M352,0H160C71.648,0 0,71.648 0,160v192c0,88.352 71.648,160 160,160h192c88.352,0 160,-71.648 160,-160V160C512,71.648 440.352,0 352,0zM464,352c0,61.76 -50.24,112 -112,112H160c-61.76,0 -112,-50.24 -112,-112V160C48,98.24 98.24,48 160,48h192c61.76,0 112,50.24 112,112V352z">
<aapt:attr name="android:fillColor">
<gradient android:endX="465.1312" android:endY="46.8656"
android:startX="46.8688" android:startY="465.1344" android:type="linear">
<item android:color="#FFFFC107" android:offset="0"/>
<item android:color="#FFF44336" android:offset="0.507"/>
<item android:color="#FF9C27B0" android:offset="0.99"/>
</gradient>
</aapt:attr>
</path>
<path android:pathData="M256,128c-70.688,0 -128,57.312 -128,128s57.312,128 128,128s128,-57.312 128,-128S326.688,128 256,128zM256,336c-44.096,0 -80,-35.904 -80,-80c0,-44.128 35.904,-80 80,-80s80,35.872 80,80C336,300.096 300.096,336 256,336z">
<aapt:attr name="android:fillColor">
<gradient android:endX="346.5072" android:endY="165.4928"
android:startX="165.4928" android:startY="346.5072" android:type="linear">
<item android:color="#FFFFC107" android:offset="0"/>
<item android:color="#FFF44336" android:offset="0.507"/>
<item android:color="#FF9C27B0" android:offset="0.99"/>
</gradient>
</aapt:attr>
</path>
<path android:pathData="M393.6,118.4m-17.056,0a17.056,17.056 0,1 1,34.112 0a17.056,17.056 0,1 1,-34.112 0">
<aapt:attr name="android:fillColor">
<gradient android:endX="405.6592" android:endY="106.3408"
android:startX="381.5408" android:startY="130.4624" android:type="linear">
<item android:color="#FFFFC107" android:offset="0"/>
<item android:color="#FFF44336" android:offset="0.507"/>
<item android:color="#FF9C27B0" android:offset="0.99"/>
</gradient>
</aapt:attr>
</path>
</vector>

View File

@ -0,0 +1,33 @@
<!--
~ Copyright (c) 2021 Shabinder Singh
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
android:width="52dp" android:height="52dp"
android:viewportWidth="512" android:viewportHeight="512">
<path android:pathData="m140.008,423h-30c-11.047,0 -20,-8.953 -20,-20v-186c0,-11.047 8.953,-20 20,-20h30c11.047,0 20,8.953 20,20v186c0,11.047 -8.953,20 -20,20zM166.992,124.996c0,-22.629 -18.359,-40.996 -40.977,-40.996 -22.703,0 -41.016,18.367 -41.016,40.996 0,22.637 18.313,41.004 41.016,41.004 22.617,0 40.977,-18.367 40.977,-41.004zM422,403v-104.336c0,-60.668 -12.816,-105.664 -83.688,-105.664 -34.055,0 -56.914,17.031 -66.246,34.742h-0.066v-10.742c0,-11.047 -8.953,-20 -20,-20h-28c-11.047,0 -20,8.953 -20,20v186c0,11.047 8.953,20 20,20h28c11.047,0 20,-8.953 20,-20v-92.211c0,-29.387 7.48,-57.855 43.906,-57.855 35.93,0 37.094,33.605 37.094,59.723v90.344c0,11.047 8.953,20 20,20h29c11.047,0 20,-8.953 20,-20zM512,432c0,-11.047 -8.953,-20 -20,-20s-20,8.953 -20,20c0,22.055 -17.945,40 -40,40h-352c-22.055,0 -40,-17.945 -40,-40v-352c0,-22.055 17.945,-40 40,-40h352c22.055,0 40,17.945 40,40v251c0,11.047 8.953,20 20,20s20,-8.953 20,-20v-251c0,-44.113 -35.887,-80 -80,-80h-352c-44.113,0 -80,35.887 -80,80v352c0,44.113 35.887,80 80,80h352c44.113,0 80,-35.887 80,-80zM512,432">
<aapt:attr name="android:fillColor">
<gradient android:endX="512" android:endY="256"
android:startX="0" android:startY="256" android:type="linear">
<item android:color="#FF00F2FE" android:offset="0"/>
<item android:color="#FF03EFFE" android:offset="0.0208"/>
<item android:color="#FF24D2FE" android:offset="0.2931"/>
<item android:color="#FF3CBDFE" android:offset="0.5538"/>
<item android:color="#FF4AB0FE" android:offset="0.7956"/>
<item android:color="#FF4FACFE" android:offset="1"/>
</gradient>
</aapt:attr>
</path>
</vector>

View File

@ -0,0 +1,29 @@
<!--
~ Copyright (c) 2021 Shabinder Singh
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="40dp"
android:height="40dp" android:viewportWidth="512" android:viewportHeight="512">
<path android:fillColor="#ff5d7d" android:fillType="evenOdd" android:pathData="m258.229,255.863c-11.191,-11.155 -29.503,-11.155 -40.693,0 -4.486,4.471 -11.053,4.007 -15.072,0 -11.191,-11.155 -29.503,-11.155 -40.693,0 -30.403,30.307 28.128,83.271 48.229,88.64 20.102,-5.369 78.632,-58.333 48.229,-88.64z"/>
<path android:fillColor="#fff" android:fillType="evenOdd" android:pathData="m258.229,255.863c30.403,30.307 -28.128,83.271 -48.23,88.64 -20.102,-5.369 -78.633,-58.334 -48.229,-88.64 11.191,-11.155 29.502,-11.155 40.693,0 4.02,4.007 10.587,4.471 15.072,0 11.191,-11.155 29.503,-11.155 40.694,0zM10,176c0,94.167 60,173.334 80,260h240c3.112,-13.487 7.193,-26.792 11.866,-40 4.742,-13.403 10.093,-26.707 15.66,-40 16.471,-39.33 34.83,-78.563 44.877,-119.994 3.154,-13.009 5.489,-26.235 6.689,-39.749 0.593,-6.679 0.908,-13.429 0.908,-20.257 0,-11 -9,-20 -20,-20 -120,0 -240,0 -360.001,0 -10.999,0 -19.999,9 -19.999,20z"/>
<path android:fillColor="#ccf5fc" android:fillType="evenOdd" android:pathData="m402,356h-44.474c-5.567,13.293 -10.918,26.597 -15.66,40h60.134c55,0 99.999,-45 99.999,-100 0,-52.616 -41.185,-96.074 -92.908,-99.743 -1.2,13.514 -3.534,26.74 -6.69,39.749 32.818,0.218 59.599,27.129 59.599,59.994 0,33 -27,60 -60,60z"/>
<path android:fillColor="#ccf5fc" android:fillType="evenOdd" android:pathData="m330,436h-240,-20c-11,0 -20,9 -20,20s9,20 20,20h280c11,0 20,-9 20,-20s-9,-20 -20,-20z"/>
<path android:fillColor="#FF000000" android:pathData="m419.714,187.451c0.186,-3.793 0.286,-7.608 0.286,-11.451 0,-16.542 -13.458,-30 -30,-30h-360c-16.542,0 -30,13.458 -30,30 0,59.097 22.691,112.205 44.635,163.564 12.597,29.484 24.571,57.526 32.514,86.436h-7.149c-16.542,0 -30,13.458 -30,30s13.458,30 30,30h280c16.542,0 30,-13.458 30,-30s-13.458,-30 -30,-30h-7.147c1.842,-6.704 3.897,-13.362 6.13,-20h53.017c60.654,0 110,-49.346 110,-110 0,-53.968 -39.847,-99.962 -92.286,-108.549zM409.978,246.658c23.725,3.87 42.022,24.684 42.022,49.342 0,27.57 -22.43,50 -50,50h-29.383c0.912,-2.138 1.828,-4.282 2.747,-6.435 12.854,-30.084 25.958,-60.771 34.614,-92.907zM254.997,426c-5.523,0 -10,4.478 -10,10s4.477,10 10,10h95.003c5.514,0 10,4.486 10,10s-4.486,10 -10,10h-280c-5.514,0 -10,-4.486 -10,-10s4.486,-10 10,-10h94.997c5.523,0 10,-4.478 10,-10s-4.477,-10 -10,-10h-67.153c-8.334,-32.299 -21.78,-63.781 -34.817,-94.293 -21.153,-49.509 -43.027,-100.704 -43.027,-155.707 0,-5.514 4.486,-10 10,-10h360c5.514,0 10,4.486 10,10 0,55.003 -21.874,106.198 -43.027,155.707 -13.036,30.513 -26.486,61.997 -34.82,94.293zM402,386h-45.791c2.546,-6.646 5.221,-13.303 7.988,-20h37.803c38.599,0 70,-31.401 70,-70 0,-34.024 -24.884,-62.818 -57.401,-68.83 1.329,-6.513 2.447,-13.09 3.312,-19.739 42.202,7.615 74.089,44.901 74.089,88.569 0,49.626 -40.374,90 -90,90z"/>
<path android:fillColor="#FF000000" android:pathData="m210.476,248.781c-0.2,0.201 -0.476,0.477 -0.953,0v0.001c-15.113,-15.066 -39.703,-15.066 -54.813,0 -10.553,10.519 -13.958,24.203 -9.847,39.572 8.313,31.073 45.551,61.27 62.555,65.811 0.845,0.226 1.713,0.339 2.581,0.339s1.735,-0.113 2.581,-0.339c17.004,-4.541 54.242,-34.736 62.556,-65.811 4.111,-15.369 0.706,-29.054 -9.846,-39.572 -15.113,-15.065 -39.702,-15.066 -54.814,-0.001zM255.815,283.185c-5.882,21.986 -33.302,45.229 -45.815,50.721 -12.513,-5.491 -39.933,-28.734 -45.814,-50.721 -2.249,-8.407 -0.773,-14.838 4.646,-20.239 3.663,-3.651 8.474,-5.478 13.286,-5.478s9.624,1.826 13.288,5.478v0.001c8.185,8.156 21.007,8.157 29.191,-0.001 7.326,-7.303 19.247,-7.303 26.574,0 5.417,5.401 6.892,11.832 4.644,20.239z"/>
<path android:fillColor="#ccf5fc" android:pathData="m201.736,110.504c-3.034,4.615 -1.752,10.815 2.862,13.85 1.693,1.113 3.599,1.646 5.484,1.646 3.253,0 6.444,-1.586 8.365,-4.507 17.816,-27.099 6.822,-41.619 -0.453,-51.228 -6.372,-8.416 -9.882,-13.052 0.453,-28.771 3.034,-4.615 1.752,-10.815 -2.862,-13.85 -4.614,-3.034 -10.815,-1.753 -13.85,2.861 -18.093,27.52 -7.016,42.15 0.314,51.832 6.489,8.57 9.745,12.871 -0.313,28.167z"/>
<path android:fillColor="#ccf5fc" android:pathData="m121.733,110.504c-3.034,4.615 -1.752,10.815 2.862,13.85 1.693,1.113 3.599,1.646 5.484,1.646 3.253,0 6.444,-1.586 8.365,-4.507 17.816,-27.099 6.823,-41.619 -0.452,-51.228 -6.373,-8.416 -9.882,-13.053 0.452,-28.771 3.034,-4.615 1.752,-10.815 -2.862,-13.85 -4.614,-3.034 -10.816,-1.753 -13.85,2.861 -18.093,27.52 -7.016,42.15 0.314,51.831 6.489,8.571 9.746,12.872 -0.313,28.168z"/>
<path android:fillColor="#ccf5fc" android:pathData="m281.739,110.504c-3.034,4.615 -1.753,10.815 2.861,13.85 1.693,1.113 3.6,1.646 5.484,1.646 3.254,0 6.444,-1.585 8.365,-4.507 17.817,-27.099 6.823,-41.619 -0.452,-51.228 -6.372,-8.416 -9.882,-13.053 0.452,-28.771 3.034,-4.615 1.753,-10.815 -2.861,-13.85 -4.615,-3.034 -10.815,-1.751 -13.85,2.861 -18.094,27.52 -7.017,42.15 0.313,51.831 6.49,8.571 9.746,12.872 -0.312,28.168z"/>
<path android:fillColor="#FF000000" android:pathData="m210,426h-0.007c-5.523,0 -9.996,4.478 -9.996,10s4.48,10 10.003,10 10,-4.478 10,-10 -4.477,-10 -10,-10z"/>
</vector>

View File

@ -0,0 +1,28 @@
<!--
~ Copyright (c) 2021 Shabinder Singh
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="300dp"
android:height="300dp" android:viewportWidth="512" android:viewportHeight="512">
<path android:fillColor="#A3787878" android:pathData="m256,80a48.054,48.054 0,0 1,48 48v32h12a19.991,19.991 0,0 0,3.524 -39.671,63.984 63.984,0 0,0 -127.048,0 19.991,19.991 0,0 0,3.524 39.671h12v-32a48.054,48.054 0,0 1,48 -48z"/>
<path android:fillColor="#A3787878" android:pathData="m48,152a24.027,24.027 0,0 0,24 -24v-74.234l42.53,-14.176 -5.06,-15.18 -48,16a8,8 0,0 0,-5.47 7.59v57.376a24,24 0,1 0,-8 46.624zM48,120a8,8 0,1 1,-8 8,8.009 8.009,0 0,1 8,-8z"/>
<path android:fillColor="#A3787878" android:pathData="m485.006,17.76a7.993,7.993 0,0 0,-6.741 -1.569l-72,16a8,8 0,0 0,-6.265 7.809v57.376a24,24 0,1 0,16 22.624v-73.583l56,-12.444v47.4a24,24 0,1 0,16 22.627v-80a8,8 0,0 0,-2.994 -6.24zM392,128a8,8 0,1 1,8 -8,8.009 8.009,0 0,1 -8,8zM464,112a8,8 0,1 1,8 -8,8.009 8.009,0 0,1 -8,8z"/>
<path android:fillColor="#A3787878" android:pathData="m48,456h416v40h-416z"/>
<path android:fillColor="#A3787878" android:pathData="m64,376a16,16 0,0 0,-16 16v7h48v-7a16,16 0,0 0,-16 -16z"/>
<path android:fillColor="#A3787878" android:pathData="m24,416h464v24h-464z"/>
<path android:fillColor="#A3787878" android:pathData="M256,144m-48,0a48,48 0,1 1,96 0a48,48 0,1 1,-96 0"/>
<path android:fillColor="#A3787878" android:pathData="m368,400 l16,-160h-256l16,160zM256,296a24,24 0,1 1,-24 24,24 24,0 0,1 24,-24z"/>
<path android:fillColor="#A3787878" android:pathData="m168,224h176a32,32 0,0 0,-32 -32h-112a32,32 0,0 0,-32 32z"/>
</vector>

View File

@ -0,0 +1,31 @@
<!--
~ Copyright (c) 2021 Shabinder Singh
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="42dp"
android:height="42dp" android:viewportWidth="496" android:viewportHeight="496">
<path android:fillColor="#6C9DFF" android:pathData="M248,92c-13.6,0 -24,-10.4 -24,-24V24c0,-13.6 10.4,-24 24,-24s24,10.4 24,24v44C272,80.8 261.6,92 248,92z"/>
<path android:fillColor="#DA3B7A" android:pathData="M248,496c-13.6,0 -24,-10.4 -24,-24v-44c0,-13.6 10.4,-24 24,-24s24,10.4 24,24v44C272,485.6 261.6,496 248,496z"/>
<path android:fillColor="#63BBFF" android:pathData="M157.6,116c-8,0 -16,-4 -20.8,-12l-21.6,-37.6c-6.4,-11.2 -2.4,-26.4 8.8,-32.8s26.4,-2.4 32.8,8.8L178.4,80c6.4,11.2 2.4,26.4 -8.8,32.8C166.4,114.4 161.6,116 157.6,116z"/>
<path android:fillColor="#E542A9" android:pathData="M360,465.6c-8,0 -16,-4 -20.8,-12L317.6,416c-6.4,-11.2 -2.4,-26.4 8.8,-32.8c11.2,-6.4 26.4,-2.4 32.8,8.8l21.6,37.6c6.4,11.2 2.4,26.4 -8.8,32.8C368,464.8 364,465.6 360,465.6z"/>
<path android:fillColor="#A1DCEC" android:pathData="M92,181.6c-4,0 -8,-0.8 -12,-3.2l-37.6,-21.6c-11.2,-6.4 -15.2,-21.6 -8.8,-32.8s21.6,-15.2 32.8,-8.8l37.6,21.6c11.2,6.4 15.2,21.6 8.8,32.8C108,177.6 100,181.6 92,181.6z"/>
<path android:fillColor="#B135FF" android:pathData="M442.4,384c-4,0 -8,-0.8 -12,-3.2L392,359.2c-11.2,-6.4 -15.2,-21.6 -8.8,-32.8c6.4,-11.2 21.6,-15.2 32.8,-8.8l37.6,21.6c11.2,6.4 15.2,21.6 8.8,32.8C458.4,380 450.4,384 442.4,384z"/>
<path android:fillColor="#F3FFFD" android:pathData="M68,272H24c-13.6,0 -24,-10.4 -24,-24s10.4,-24 24,-24h44c13.6,0 24,10.4 24,24S80.8,272 68,272z"/>
<path android:fillColor="#9254C8" android:pathData="M472,272h-44c-13.6,0 -24,-10.4 -24,-24s10.4,-24 24,-24h44c13.6,0 24,10.4 24,24S485.6,272 472,272z"/>
<path android:fillColor="#CE1CFF" android:pathData="M53.6,384c-8,0 -16,-4 -20.8,-12c-6.4,-11.2 -2.4,-26.4 8.8,-32.8l37.6,-21.6c11.2,-6.4 26.4,-2.4 32.8,8.8c6.4,11.2 2.4,26.4 -8.8,32.8l-37.6,21.6C62.4,383.2 58.4,384 53.6,384z"/>
<path android:fillColor="#6953E5" android:pathData="M404,181.6c-8,0 -16,-4 -20.8,-12c-6.4,-11.2 -2.4,-26.4 8.8,-32.8l37.6,-21.6c11.2,-6.4 26.4,-2.4 32.8,8.8s2.4,26.4 -8.8,32.8L416,178.4C412,180.8 408,181.6 404,181.6z"/>
<path android:fillColor="#DE339F" android:pathData="M136,465.6c-4,0 -8,-0.8 -12,-3.2c-11.2,-6.4 -15.2,-21.6 -8.8,-32.8l21.6,-37.6c6.4,-11.2 21.6,-15.2 32.8,-8.8c11.2,6.4 15.2,21.6 8.8,32.8l-21.6,37.6C152,461.6 144,465.6 136,465.6z"/>
<path android:fillColor="#5681FF" android:pathData="M338.4,116c-4,0 -8,-0.8 -12,-3.2c-11.2,-6.4 -15.2,-21.6 -8.8,-32.8l21.6,-37.6c6.4,-11.2 21.6,-15.2 32.8,-8.8c11.2,6.4 15.2,21.6 8.8,32.8L359.2,104C354.4,111.2 346.4,116 338.4,116z"/>
</vector>

View File

@ -0,0 +1,26 @@
<!--
~ Copyright (c) 2021 Shabinder Singh
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M12,2C6.47,2 2,6.47 2,12s4.47,10 10,10 10,-4.47 10,-10S17.53,2 12,2zM16.3,16.3c-0.39,0.39 -1.02,0.39 -1.41,0L12,13.41 9.11,16.3c-0.39,0.39 -1.02,0.39 -1.41,0 -0.39,-0.39 -0.39,-1.02 0,-1.41L10.59,12 7.7,9.11c-0.39,-0.39 -0.39,-1.02 0,-1.41 0.39,-0.39 1.02,-0.39 1.41,0L12,10.59l2.89,-2.89c0.39,-0.39 1.02,-0.39 1.41,0 0.39,0.39 0.39,1.02 0,1.41L13.41,12l2.89,2.89c0.38,0.38 0.38,1.02 0,1.41z"/>
</vector>

View File

@ -0,0 +1,22 @@
<!--
~ Copyright (c) 2021 Shabinder Singh
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="32dp"
android:height="32dp" android:viewportWidth="512" android:viewportHeight="512">
<path android:fillColor="#FF3C64" android:pathData="m304,232a24,24 0,0 1,-16.971 -40.971l160,-160a24,24 0,0 1,33.942 33.942l-160,160a23.926,23.926 0,0 1,-16.971 7.029z"/>
<path android:fillColor="#FF3B63" android:pathData="m464,200a24,24 0,0 1,-24 -24v-104h-104a24,24 0,0 1,0 -48h128a24,24 0,0 1,24 24v128a24,24 0,0 1,-24 24z"/>
<path android:fillColor="#CE1CFF" android:pathData="m464,488h-416a24,24 0,0 1,-24 -24v-416a24,24 0,0 1,24 -24h176a24,24 0,0 1,0 48h-152v368h368v-152a24,24 0,0 1,48 0v176a24,24 0,0 1,-24 24z"/>
</vector>

View File

@ -0,0 +1,21 @@
<!--
~ Copyright (c) 2021 Shabinder Singh
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="42dp"
android:height="42dp" android:viewportWidth="512" android:viewportHeight="512">
<path android:fillColor="#A3787878" android:pathData="m511.739,103.734 l-257,50.947v233.725c-10.733,-7.199 -23.633,-11.406 -37.5,-11.406 -37.22,0 -67.5,30.28 -67.5,67.5s30.28,67.5 67.5,67.5c34.684,0 63.329,-26.299 67.073,-60h0.427v-182.682l197,-39.053v98.141c-10.733,-7.199 -23.633,-11.406 -37.5,-11.406 -37.22,0 -67.5,30.28 -67.5,67.5s30.28,67.5 67.5,67.5c39.927,0 71.547,-34.762 67.073,-75h0.427zM217.239,482c-20.678,0 -37.5,-16.822 -37.5,-37.5s16.822,-37.5 37.5,-37.5 37.5,16.822 37.5,37.5 -16.822,37.5 -37.5,37.5zM444.239,422c-20.678,0 -37.5,-16.822 -37.5,-37.5s16.822,-37.5 37.5,-37.5 37.5,16.822 37.5,37.5 -16.822,37.5 -37.5,37.5zM481.739,199.682 L284.739,238.735v-59.416l197,-39.053z"/>
<path android:fillColor="#A3787878" android:pathData="m182.179,159.75h30c0,-31.002 4.415,-66.799 -24.144,-95.356 -8.968,-8.968 -17.455,-16.07 -24.942,-22.336 -19.798,-16.57 -27.832,-24.012 -27.832,-42.058h-30v221.406c-10.734,-7.199 -23.634,-11.406 -37.5,-11.406 -37.22,0 -67.5,30.28 -67.5,67.5s30.28,67.5 67.5,67.5c34.684,0 63.329,-26.299 67.073,-60h0.427v-227.219c9.458,8.262 20.077,16.341 31.562,27.825 19.029,19.031 15.356,44.009 15.356,74.144zM67.761,315c-20.678,0 -37.5,-16.822 -37.5,-37.5s16.822,-37.5 37.5,-37.5 37.5,16.822 37.5,37.5 -16.823,37.5 -37.5,37.5z"/>
</vector>

View File

@ -15,7 +15,7 @@ kotlin {
commonMain { commonMain {
dependencies { dependencies {
implementation(project(":common:data-models")) implementation(project(":common:data-models"))
implementation(Badoo.Reaktive.reaktive) //implementation(Badoo.Reaktive.reaktive)
// SQL Delight // SQL Delight
implementation(SqlDelight.runtime) implementation(SqlDelight.runtime)
implementation(SqlDelight.coroutineExtensions) implementation(SqlDelight.coroutineExtensions)

View File

@ -3,6 +3,7 @@ import androidx.compose.desktop.Window
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.Surface import androidx.compose.material.Surface
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import com.arkivanov.decompose.ComponentContext import com.arkivanov.decompose.ComponentContext
import com.arkivanov.decompose.extensions.compose.jetbrains.rootComponent import com.arkivanov.decompose.extensions.compose.jetbrains.rootComponent
import com.arkivanov.mvikotlin.core.lifecycle.LifecycleRegistry import com.arkivanov.mvikotlin.core.lifecycle.LifecycleRegistry
@ -26,11 +27,14 @@ fun main(){
lifecycle.resume() lifecycle.resume()
Window("SpotiFlyer") { Window("SpotiFlyer") {
Surface(modifier = Modifier.fillMaxSize()) { Surface(
modifier = Modifier.fillMaxSize(),
color = Color.Black
) {
DesktopMaterialTheme( DesktopMaterialTheme(
// colors = SpotiFlyerColors, colors = SpotiFlyerColors,
// typography = SpotiFlyerTypography, typography = SpotiFlyerTypography,
// shapes = SpotiFlyerShapes shapes = SpotiFlyerShapes
) { ) {
SpotiFlyerRootContent(rootComponent(factory = ::spotiFlyerRoot)) SpotiFlyerRootContent(rootComponent(factory = ::spotiFlyerRoot))
} }

View File

@ -1,50 +0,0 @@
<!--
~ Copyright (c) 2021 Shabinder Singh
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp"
android:height="24dp" android:viewportWidth="512" android:viewportHeight="512">
<path android:fillColor="#F7F4FBFF" android:pathData="M256,256m-148.886,0a148.886,148.886 0,1 1,297.772 0a148.886,148.886 0,1 1,-297.772 0"/>
<path android:fillColor="#E9E4F6FF" android:pathData="m343.924,135.849c18.061,24.639 28.734,55.033 28.734,87.924 0,82.227 -66.658,148.886 -148.886,148.886 -32.891,0 -63.285,-10.673 -87.924,-28.734 27.091,36.959 70.815,60.962 120.151,60.962 82.227,0 148.886,-66.658 148.886,-148.886 0.001,-49.337 -24.003,-93.061 -60.961,-120.152z"/>
<path android:fillColor="#2b4d66" android:pathData="m256,412.537c-86.315,0 -156.537,-70.222 -156.537,-156.537s70.222,-156.537 156.537,-156.537 156.537,70.222 156.537,156.537 -70.222,156.537 -156.537,156.537zM256,114.765c-77.877,0 -141.234,63.357 -141.234,141.234 0,77.878 63.357,141.235 141.234,141.235s141.234,-63.357 141.234,-141.234 -63.357,-141.235 -141.234,-141.235z"/>
<path android:fillColor="@color/colorPrimary" android:pathData="m256,512c-78.938,0 -152.265,-35.6 -201.178,-97.671l24.037,-18.942c41.992,53.288 104.411,84.42 171.917,85.95 125.599,2.845 228.78,-96.388 230.596,-222.007 0.324,-22.421 -2.625,-44.569 -8.758,-65.858 -0.764,-2.653 0.749,-5.426 3.384,-6.249l19.479,-6.083c2.737,-0.855 5.634,0.717 6.432,3.471 6.698,23.109 10.091,47.098 10.091,71.389 0,68.38 -26.629,132.667 -74.98,181.019 -48.353,48.352 -112.64,74.981 -181.02,74.981z"/>
<path android:fillColor="@color/colorPrimaryDark" android:pathData="m15.922,328.908c-2.743,0.832 -5.628,-0.761 -6.403,-3.52 -6.318,-22.491 -9.519,-45.807 -9.519,-69.388 0,-68.38 26.629,-132.667 74.98,-181.019 48.353,-48.352 112.64,-74.981 181.02,-74.981 78.92,0 152.236,35.586 201.15,97.634l-24.034,18.946c-43.073,-54.639 -107.63,-85.976 -177.116,-85.976 -124.284,0 -225.396,101.112 -225.396,225.396 0,20.658 2.784,41.073 8.281,60.761 0.743,2.66 -0.791,5.422 -3.434,6.223z"/>
<path android:fillColor="@color/colorPrimaryDark" android:pathData="m501.909,184.611c-0.798,-2.754 -3.695,-4.326 -6.432,-3.471l-10,3.123c6.765,23.216 10.192,47.325 10.192,71.737 0,68.38 -26.629,132.667 -74.98,181.019 -46.438,46.439 -107.578,72.824 -172.922,74.841 2.738,0.086 5.481,0.14 8.233,0.14 68.38,0 132.667,-26.629 181.019,-74.981s74.981,-112.639 74.981,-181.019c0,-24.291 -3.393,-48.28 -10.091,-71.389z"/>
<path android:fillColor="@color/colorPrimary" android:pathData="m256,0c-16.62,0 -32.995,1.586 -48.962,4.662 9.424,-1.04 18.958,-1.586 28.578,-1.586 78.92,0 152.236,35.586 201.15,97.634l-10.161,8.01c2.216,2.569 4.397,5.178 6.512,7.86l24.034,-18.946c-48.915,-62.048 -122.231,-97.634 -201.151,-97.634z"/>
<path android:fillColor="@color/colorPrimary" android:pathData="m463.088,129.101h-81.951c-2.817,0 -5.101,-2.284 -5.101,-5.101v-20.403c0,-2.817 2.284,-5.101 5.101,-5.101h57.467v-57.466c0,-2.817 2.284,-5.101 5.101,-5.101h20.403c2.817,0 5.101,2.284 5.101,5.101v81.951c-0.001,3.38 -2.741,6.12 -6.121,6.12z"/>
<path android:fillColor="@color/colorPrimaryDark" android:pathData="m464.108,35.929h-10.064v71.887c0,3.38 -2.74,6.121 -6.121,6.121h-71.887v10.064c0,2.817 2.284,5.101 5.101,5.101h81.951c3.38,0 6.121,-2.74 6.121,-6.121v-81.951c-0.001,-2.817 -2.284,-5.101 -5.101,-5.101z"/>
<path android:fillColor="@color/colorPrimary" android:pathData="m68.295,476.043h-20.403c-2.817,0 -5.101,-2.284 -5.101,-5.101v-81.951c0,-3.38 2.74,-6.121 6.121,-6.121h81.951c2.817,0 5.101,2.284 5.101,5.101v20.403c0,2.817 -2.284,5.101 -5.101,5.101h-57.467v57.467c0,2.818 -2.284,5.101 -5.101,5.101z"/>
<path android:fillColor="@color/colorPrimaryDark" android:pathData="m130.863,382.871h-9.437v10.966c0,2.817 -2.284,5.101 -5.101,5.101h-51.346c-3.38,0 -6.121,2.74 -6.121,6.121v51.346c0,2.817 -2.284,5.101 -5.101,5.101h-10.965v9.437c0,2.817 2.284,5.101 5.101,5.101h20.403c2.817,0 5.101,-2.284 5.101,-5.101v-57.467h57.467c2.817,0 5.101,-2.284 5.101,-5.101v-20.403c-0.001,-2.817 -2.285,-5.101 -5.102,-5.101z"/>
<path android:fillColor="@color/colorPrimary" android:pathData="m271.302,256h-30.604v-68.167c0,-2.817 2.284,-5.101 5.101,-5.101h20.403c2.817,0 5.101,2.284 5.101,5.101v68.167z"/>
<path android:fillColor="@color/colorAccent" android:pathData="m266.201,182.732h-13.574c2.817,0 5.101,2.284 5.101,5.101v68.167h13.574v-68.167c0,-2.818 -2.284,-5.101 -5.101,-5.101z"/>
<path android:fillColor="@color/colorPrimary" android:pathData="m361.903,271.302h-105.903v-30.604h105.903c2.817,0 5.101,2.284 5.101,5.101v20.403c0,2.816 -2.284,5.1 -5.101,5.1z"/>
<path android:fillColor="@color/colorAccent" android:pathData="m361.903,240.698h-8.694v11.709c0,2.817 -2.284,5.101 -5.101,5.101h-92.108v13.795h105.903c2.817,0 5.101,-2.284 5.101,-5.101v-20.403c0,-2.818 -2.284,-5.101 -5.101,-5.101z"/>
<path android:fillColor="@color/colorPrimary" android:pathData="m276.625,256c0,5.514 10.78,10.71 8.374,15.27 -5.49,10.405 -16.416,17.497 -28.999,17.497 -18.097,0 -32.767,-14.67 -32.767,-32.767s14.67,-32.767 32.767,-32.767c12.441,0 23.263,6.934 28.812,17.148 2.522,4.643 -8.187,9.964 -8.187,15.619z"/>
<path android:fillColor="#2b4d66" android:pathData="m270.644,226.689c2.207,4.408 3.456,9.379 3.456,14.644 0,18.097 -14.67,32.767 -32.767,32.767 -5.265,0 -10.236,-1.249 -14.644,-3.456 5.378,10.743 16.48,18.123 29.311,18.123 18.097,0 32.767,-14.67 32.767,-32.767 0,-12.832 -7.38,-23.933 -18.123,-29.311z"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M146.424,257.964m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M162.087,312.489m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M202.913,351.877m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M257.964,365.575m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M312.489,349.913m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M351.877,309.087m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="m249.765,370.393c1.655,2.81 4.702,4.701 8.199,4.701 5.066,0 9.195,-3.961 9.49,-8.953 -5.756,1.764 -11.659,3.19 -17.689,4.252z"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M349.913,199.511m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M309.087,160.123m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M254.036,146.424m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M199.511,162.087m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#E6E4F6FF" android:pathData="M160.123,202.913m-9.518,0a9.518,9.518 0,1 1,19.036 0a9.518,9.518 0,1 1,-19.036 0"/>
<path android:fillColor="#d3effb" android:pathData="m317.248,358.156c4.552,-2.628 6.112,-8.449 3.484,-13.002 -1.184,-2.05 -3.017,-3.487 -5.088,-4.214 -4.056,3.184 -8.286,6.155 -12.664,8.912 -0.012,1.638 0.388,3.299 1.266,4.82 2.628,4.552 8.449,6.112 13.002,3.484z"/>
<path android:fillColor="#d3effb" android:pathData="m356.636,300.844c-1.485,-0.857 -3.105,-1.262 -4.705,-1.269 -2.708,4.568 -5.644,8.984 -8.809,13.22 0.778,1.842 2.131,3.458 3.996,4.535 4.552,2.628 10.374,1.069 13.002,-3.484s1.069,-10.374 -3.484,-13.002z"/>
</vector>

Binary file not shown.