initial commit
19
.fleet/receipt.json
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
// Project generated by Kotlin Multiplatform Wizard
|
||||||
|
{
|
||||||
|
"spec": {
|
||||||
|
"template_id": "kmt",
|
||||||
|
"targets": {
|
||||||
|
"android": {
|
||||||
|
"ui": [
|
||||||
|
"compose"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"desktop": {
|
||||||
|
"ui": [
|
||||||
|
"compose"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"timestamp": "2024-04-10T15:49:04.589746212Z"
|
||||||
|
}
|
||||||
11
README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
This is a Kotlin Multiplatform project targeting Android, Desktop.
|
||||||
|
|
||||||
|
* `/composeApp` is for code that will be shared across your Compose Multiplatform applications.
|
||||||
|
It contains several subfolders:
|
||||||
|
- `commonMain` is for code that’s common for all targets.
|
||||||
|
- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
|
||||||
|
For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
|
||||||
|
`iosMain` would be the right folder for such calls.
|
||||||
|
|
||||||
|
|
||||||
|
Learn more about [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html)…
|
||||||
8
build.gradle.kts
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
plugins {
|
||||||
|
// this is necessary to avoid the plugins to be loaded multiple times
|
||||||
|
// in each subproject's classloader
|
||||||
|
alias(libs.plugins.androidApplication) apply false
|
||||||
|
alias(libs.plugins.androidLibrary) apply false
|
||||||
|
alias(libs.plugins.jetbrainsCompose) apply false
|
||||||
|
alias(libs.plugins.kotlinMultiplatform) apply false
|
||||||
|
}
|
||||||
92
composeApp/build.gradle.kts
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
alias(libs.plugins.kotlinMultiplatform)
|
||||||
|
alias(libs.plugins.androidApplication)
|
||||||
|
alias(libs.plugins.jetbrainsCompose)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
androidTarget {
|
||||||
|
compilations.all {
|
||||||
|
kotlinOptions {
|
||||||
|
jvmTarget = "11"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
jvm("desktop")
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
val desktopMain by getting
|
||||||
|
|
||||||
|
androidMain.dependencies {
|
||||||
|
implementation(libs.compose.ui.tooling.preview)
|
||||||
|
implementation(libs.androidx.activity.compose)
|
||||||
|
}
|
||||||
|
commonMain.dependencies {
|
||||||
|
implementation(compose.runtime)
|
||||||
|
implementation(compose.foundation)
|
||||||
|
implementation(compose.material)
|
||||||
|
implementation(compose.ui)
|
||||||
|
implementation(compose.components.resources)
|
||||||
|
implementation(compose.components.uiToolingPreview)
|
||||||
|
implementation(libs.kamel.image)
|
||||||
|
implementation(libs.ktor.client.okhttp)
|
||||||
|
implementation(libs.json)
|
||||||
|
}
|
||||||
|
desktopMain.dependencies {
|
||||||
|
implementation(compose.desktop.currentOs)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
android {
|
||||||
|
namespace = "me.firephoenix.pokedex"
|
||||||
|
compileSdk = libs.versions.android.compileSdk.get().toInt()
|
||||||
|
|
||||||
|
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
|
||||||
|
sourceSets["main"].res.srcDirs("src/androidMain/res")
|
||||||
|
sourceSets["main"].resources.srcDirs("src/commonMain/resources")
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
applicationId = "me.firephoenix.pokedex"
|
||||||
|
minSdk = libs.versions.android.minSdk.get().toInt()
|
||||||
|
targetSdk = libs.versions.android.targetSdk.get().toInt()
|
||||||
|
versionCode = 1
|
||||||
|
versionName = "1.0"
|
||||||
|
}
|
||||||
|
packaging {
|
||||||
|
resources {
|
||||||
|
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
buildTypes {
|
||||||
|
getByName("release") {
|
||||||
|
isMinifyEnabled = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_11
|
||||||
|
targetCompatibility = JavaVersion.VERSION_11
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
debugImplementation(libs.compose.ui.tooling)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
implementation(libs.androidx.media3.effect)
|
||||||
|
}
|
||||||
|
|
||||||
|
compose.desktop {
|
||||||
|
application {
|
||||||
|
mainClass = "MainKt"
|
||||||
|
|
||||||
|
nativeDistributions {
|
||||||
|
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
|
||||||
|
packageName = "me.firephoenix.pokedex"
|
||||||
|
packageVersion = "1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
23
composeApp/src/androidMain/AndroidManifest.xml
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<application
|
||||||
|
android:allowBackup="true"
|
||||||
|
android:icon="@mipmap/ic_launcher"
|
||||||
|
android:label="@string/app_name"
|
||||||
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
|
android:supportsRtl="true"
|
||||||
|
android:theme="@android:style/Theme.Material.Light.NoActionBar">
|
||||||
|
<activity
|
||||||
|
android:exported="true"
|
||||||
|
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden|mnc|colorMode|density|fontScale|fontWeightAdjustment|keyboard|layoutDirection|locale|mcc|navigation|smallestScreenSize|touchscreen|uiMode"
|
||||||
|
android:name=".MainActivity">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
</application>
|
||||||
|
|
||||||
|
</manifest>
|
||||||
7
composeApp/src/androidMain/kotlin/Platform.android.kt
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
import android.os.Build
|
||||||
|
|
||||||
|
class AndroidPlatform : Platform {
|
||||||
|
override val name: String = "Android ${Build.VERSION.SDK_INT}"
|
||||||
|
}
|
||||||
|
|
||||||
|
actual fun getPlatform(): Platform = AndroidPlatform()
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
package me.firephoenix.pokedex
|
||||||
|
|
||||||
|
import App
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.activity.ComponentActivity
|
||||||
|
import androidx.activity.compose.setContent
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
|
||||||
|
class MainActivity : ComponentActivity() {
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
setContent {
|
||||||
|
App()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Preview
|
||||||
|
@Composable
|
||||||
|
fun AppAndroidPreview() {
|
||||||
|
App()
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:aapt="http://schemas.android.com/aapt"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="108"
|
||||||
|
android:viewportHeight="108">
|
||||||
|
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
|
||||||
|
<aapt:attr name="android:fillColor">
|
||||||
|
<gradient
|
||||||
|
android:endX="85.84757"
|
||||||
|
android:endY="92.4963"
|
||||||
|
android:startX="42.9492"
|
||||||
|
android:startY="49.59793"
|
||||||
|
android:type="linear">
|
||||||
|
<item
|
||||||
|
android:color="#44000000"
|
||||||
|
android:offset="0.0" />
|
||||||
|
<item
|
||||||
|
android:color="#00000000"
|
||||||
|
android:offset="1.0" />
|
||||||
|
</gradient>
|
||||||
|
</aapt:attr>
|
||||||
|
</path>
|
||||||
|
<path
|
||||||
|
android:fillColor="#FFFFFF"
|
||||||
|
android:fillType="nonZero"
|
||||||
|
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
|
||||||
|
android:strokeWidth="1"
|
||||||
|
android:strokeColor="#00000000" />
|
||||||
|
</vector>
|
||||||
|
|
@ -0,0 +1,170 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="108"
|
||||||
|
android:viewportHeight="108">
|
||||||
|
<path
|
||||||
|
android:fillColor="#3DDC84"
|
||||||
|
android:pathData="M0,0h108v108h-108z" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M9,0L9,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,0L19,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M29,0L29,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M39,0L39,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M49,0L49,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M59,0L59,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M69,0L69,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M79,0L79,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M89,0L89,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M99,0L99,108"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,9L108,9"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,19L108,19"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,29L108,29"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,39L108,39"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,49L108,49"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,59L108,59"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,69L108,69"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,79L108,79"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,89L108,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M0,99L108,99"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,29L89,29"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,39L89,39"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,49L89,49"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,59L89,59"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,69L89,69"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M19,79L89,79"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M29,19L29,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M39,19L39,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M49,19L49,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M59,19L59,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M69,19L69,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
<path
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:pathData="M79,19L79,89"
|
||||||
|
android:strokeWidth="0.8"
|
||||||
|
android:strokeColor="#33FFFFFF" />
|
||||||
|
</vector>
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@drawable/ic_launcher_background" />
|
||||||
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
|
</adaptive-icon>
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@drawable/ic_launcher_background" />
|
||||||
|
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||||
|
</adaptive-icon>
|
||||||
BIN
composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
BIN
composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 12 KiB |
BIN
composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 16 KiB |
3
composeApp/src/androidMain/res/values/strings.xml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
<resources>
|
||||||
|
<string name="app_name">PokeDex</string>
|
||||||
|
</resources>
|
||||||
BIN
composeApp/src/commonMain/composeResources/drawable/bug.png
Normal file
|
After Width: | Height: | Size: 8 KiB |
|
|
@ -0,0 +1,36 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="600dp"
|
||||||
|
android:height="600dp"
|
||||||
|
android:viewportWidth="600"
|
||||||
|
android:viewportHeight="600">
|
||||||
|
<path
|
||||||
|
android:pathData="M301.21,418.53C300.97,418.54 300.73,418.56 300.49,418.56C297.09,418.59 293.74,417.72 290.79,416.05L222.6,377.54C220.63,376.43 219,374.82 217.85,372.88C216.7,370.94 216.09,368.73 216.07,366.47L216.07,288.16C216.06,287.32 216.09,286.49 216.17,285.67C216.38,283.54 216.91,281.5 217.71,279.6L199.29,268.27L177.74,256.19C175.72,260.43 174.73,265.23 174.78,270.22L174.79,387.05C174.85,393.89 178.57,400.2 184.53,403.56L286.26,461.02C290.67,463.51 295.66,464.8 300.73,464.76C300.91,464.76 301.09,464.74 301.27,464.74C301.24,449.84 301.22,439.23 301.22,439.23L301.21,418.53Z"
|
||||||
|
android:fillColor="#041619"
|
||||||
|
android:fillType="nonZero"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M409.45,242.91L312.64,188.23C303.64,183.15 292.58,183.26 283.68,188.51L187.92,245C183.31,247.73 179.93,251.62 177.75,256.17L177.74,256.19L199.29,268.27L217.71,279.6C217.83,279.32 217.92,279.02 218.05,278.74C218.24,278.36 218.43,277.98 218.64,277.62C219.06,276.88 219.52,276.18 220.04,275.51C221.37,273.8 223.01,272.35 224.87,271.25L289.06,233.39C290.42,232.59 291.87,231.96 293.39,231.51C295.53,230.87 297.77,230.6 300,230.72C302.98,230.88 305.88,231.73 308.47,233.2L373.37,269.85C375.54,271.08 377.49,272.68 379.13,274.57C379.68,275.19 380.18,275.85 380.65,276.53C380.86,276.84 381.05,277.15 381.24,277.47L397.79,266.39L420.34,252.93L420.31,252.88C417.55,248.8 413.77,245.35 409.45,242.91Z"
|
||||||
|
android:fillColor="#37BF6E"
|
||||||
|
android:fillType="nonZero"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M381.24,277.47C381.51,277.92 381.77,278.38 382.01,278.84C382.21,279.24 382.39,279.65 382.57,280.06C382.91,280.88 383.19,281.73 383.41,282.59C383.74,283.88 383.92,285.21 383.93,286.57L383.93,361.1C383.96,363.95 383.35,366.77 382.16,369.36C381.93,369.86 381.69,370.35 381.42,370.83C379.75,373.79 377.32,376.27 374.39,378L310.2,415.87C307.47,417.48 304.38,418.39 301.21,418.53L301.22,439.23C301.22,439.23 301.24,449.84 301.27,464.74C306.1,464.61 310.91,463.3 315.21,460.75L410.98,404.25C419.88,399 425.31,389.37 425.22,379.03L425.22,267.85C425.17,262.48 423.34,257.34 420.34,252.93L397.79,266.39L381.24,277.47Z"
|
||||||
|
android:fillColor="#3870B2"
|
||||||
|
android:fillType="nonZero"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M177.75,256.17C179.93,251.62 183.31,247.73 187.92,245L283.68,188.51C292.58,183.26 303.64,183.15 312.64,188.23L409.45,242.91C413.77,245.35 417.55,248.8 420.31,252.88L420.34,252.93L498.59,206.19C494.03,199.46 487.79,193.78 480.67,189.75L320.86,99.49C306.01,91.1 287.75,91.27 273.07,99.95L114.99,193.2C107.39,197.69 101.81,204.11 98.21,211.63L177.74,256.19L177.75,256.17ZM301.27,464.74C301.09,464.74 300.91,464.76 300.73,464.76C295.66,464.8 290.67,463.51 286.26,461.02L184.53,403.56C178.57,400.2 174.85,393.89 174.79,387.05L174.78,270.22C174.73,265.23 175.72,260.43 177.74,256.19L98.21,211.63C94.86,218.63 93.23,226.58 93.31,234.82L93.31,427.67C93.42,438.97 99.54,449.37 109.4,454.92L277.31,549.77C284.6,553.88 292.84,556.01 301.2,555.94L301.2,555.8C301.39,543.78 301.33,495.26 301.27,464.74Z"
|
||||||
|
android:strokeWidth="10"
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:strokeColor="#083042"
|
||||||
|
android:fillType="nonZero"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M498.59,206.19L420.34,252.93C423.34,257.34 425.17,262.48 425.22,267.85L425.22,379.03C425.31,389.37 419.88,399 410.98,404.25L315.21,460.75C310.91,463.3 306.1,464.61 301.27,464.74C301.33,495.26 301.39,543.78 301.2,555.8L301.2,555.94C309.48,555.87 317.74,553.68 325.11,549.32L483.18,456.06C497.87,447.39 506.85,431.49 506.69,414.43L506.69,230.91C506.6,222.02 503.57,213.5 498.59,206.19Z"
|
||||||
|
android:strokeWidth="10"
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:strokeColor="#083042"
|
||||||
|
android:fillType="nonZero"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M301.2,555.94C292.84,556.01 284.6,553.88 277.31,549.76L109.4,454.92C99.54,449.37 93.42,438.97 93.31,427.67L93.31,234.82C93.23,226.58 94.86,218.63 98.21,211.63C101.81,204.11 107.39,197.69 114.99,193.2L273.07,99.95C287.75,91.27 306.01,91.1 320.86,99.49L480.67,189.75C487.79,193.78 494.03,199.46 498.59,206.19C503.57,213.5 506.6,222.02 506.69,230.91L506.69,414.43C506.85,431.49 497.87,447.39 483.18,456.06L325.11,549.32C317.74,553.68 309.48,555.87 301.2,555.94Z"
|
||||||
|
android:strokeWidth="10"
|
||||||
|
android:fillColor="#00000000"
|
||||||
|
android:strokeColor="#083042"
|
||||||
|
android:fillType="nonZero"/>
|
||||||
|
</vector>
|
||||||
BIN
composeApp/src/commonMain/composeResources/drawable/dark.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/dragon.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/electric.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/fairy.png
Normal file
|
After Width: | Height: | Size: 7.4 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/fighting.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/fire.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/flying.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/ghost.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/grass.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/ground.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/ice.png
Normal file
|
After Width: | Height: | Size: 7 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/normal.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/poison.png
Normal file
|
After Width: | Height: | Size: 7 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/psychic.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/rock.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
composeApp/src/commonMain/composeResources/drawable/steel.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #9f9f28;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M57.84,144.71c-.01-17.4,1.6-28.85,6.39-39.68,3.81-8.63,8.14-10.12,15.18-4.54,9.56,7.57,20.13,12.71,32,15.35,6.4,1.43,8.85,5.18,6.73,11.74-7.23,22.39-14.49,44.78-21.4,67.27-2.38,7.73-5.96,7.47-11.48,3.27-19.56-14.89-27.26-35.22-27.42-53.41Z"/>
|
||||||
|
<path class="cls-1" d="M198.18,140.28c-.2,22.43-7.79,41.62-25.21,56.25-8.51,7.14-11.15,6.33-14.39-3.8-6.75-21.15-13.17-42.41-20.18-63.48-2.61-7.83-.79-11.92,7.38-13.71,11.17-2.45,21.18-7.45,30.21-14.58,7.71-6.09,11.86-4.82,15.86,4.29,4.91,11.17,6.33,22.98,6.33,35.02Z"/>
|
||||||
|
<path class="cls-1" d="M127.91,105.03c-15.42,.42-28.7-4.76-40.56-14.1-6.17-4.85-7.07-9.34-1.07-15.53,23.76-24.54,59.04-24.66,83.13-.34,6.45,6.51,5.42,11.16-1.15,16.22-11.96,9.2-25.27,14.31-40.34,13.75Z"/>
|
||||||
|
<path class="cls-1" d="M128.4,179.08c4.03-.22,7.65-.37,11.27-.64,4.75-.35,6.18,2.6,7.01,6.54,.84,3.97-.53,6.29-4.39,7.43-9.41,2.78-18.79,2.72-28.22,.13-4.4-1.21-5.59-3.84-4.63-8.17,.94-4.23,3.05-6.32,7.53-5.92,3.94,.35,7.89,.44,11.44,.63Z"/>
|
||||||
|
<path class="cls-1" d="M127.89,170.73c-4.86-.9-12.01,1.45-11.66-7,.31-7.45,5.28-9.23,12.43-9.21,7.21,.02,11.05,3,11.1,9.52,.07,8.37-7.16,5.71-11.86,6.69Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #4f4747;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M74.46,84.24c7.49,7.56,17.75,14.95,27.04,16.93-1.38,2.84-1.88,5.07-2.37,8.23-2.78,17.82-1.19,34.63,12.15,48.3,10.06,10.31,23.45,10.28,33.51-.09,13.29-13.71,14.91-30.51,12.01-48.33-.43-2.62-1.93-9.15-1.88-9.24,.1-.18,0-.08,1-.38,6.48-1.51,18.62-7.99,26.05-15.5,15.36,11.88,23.65,36.91,14.18,56.85-12.94,27.24-43.16,51.76-81.43,43.96-29.15-5.94-49.04-24.49-57.95-53.21-4.14-13.33,1.67-35.98,17.7-47.52Z"/>
|
||||||
|
<path class="cls-1" d="M139.92,124.38c-.27,5.3-.79,12.61-6.05,18.45-4.12,4.57-7.96,4.83-11.66-.03-7.43-9.75-7.46-20.89-4.48-32.19,1.96-7.42,2.86-7.9,10.26-7.9,7.41,0,7.97,.58,10.38,7.85,1.28,3.88,1.58,7.78,1.56,13.83Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 979 B |
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #576fbc;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M170.93,124.41c.8,15.21-5.05,28.07-14.96,38.95-4.86,5.34-7.13,10.82-7.01,17.85,.07,4.3-.64,8.63-1.21,12.91-1.48,11.17-7.97,16.55-19.79,16.53-11.81-.02-18.2-5.38-19.75-16.59-.18-1.32-.43-2.65-.42-3.97,.07-12.31-3.37-22.68-11.93-32.43-14.25-16.22-14.56-45.3-2.66-60.49,5.82-7.42,4.65-17.14,7.55-25.58,2.37-6.9,4.02-14.05,6.07-21.06,.48-1.65,1.51-3.06,3.48-3,2.02,.06,2.71,1.6,3.11,3.3,1.8,7.77,4.05,15.47,5.23,23.33,.95,6.31,4.94,5.95,9.39,5.97,4.5,.02,8.42,.25,9.35-6.03,1.11-7.53,3.32-14.9,5.03-22.34,.45-1.96,.74-4.19,3.34-4.19,2.43,0,3.15,1.99,3.71,4,1.88,6.72,3.88,13.4,5.7,20.14,3.01,11.13,4.22,22.74,11.59,32.51,4.31,5.71,3.98,13.22,4.18,20.21Z"/>
|
||||||
|
<path class="cls-1" d="M194.2,95.93c16.78,17.37,18.87,64.53-8.22,85.49-5.83-6.35-8.44-14.77-13.52-21.58-.65-.87-.74-2.88-.18-3.82,5.41-9,4.95-20.46,12.96-28.54,7.84-7.92,9.39-18.61,8.97-31.55Z"/>
|
||||||
|
<path class="cls-2" d="M141.47,153.95c6.61-10.7,12.32-19.93,18.62-30.12,5.76,18.39-.34,28.8-18.62,30.12Z"/>
|
||||||
|
<path class="cls-1" d="M61.68,95.93c-16.78,17.37-18.87,64.53,8.22,85.49,5.83-6.35,8.44-14.77,13.52-21.58,.65-.87,.74-2.88,.18-3.82-5.41-9-4.95-20.46-12.96-28.54-7.84-7.92-9.39-18.61-8.97-31.55Z"/>
|
||||||
|
<path class="cls-2" d="M115.46,153.95c-6.61-10.7-12.32-19.93-18.62-30.12-5.76,18.39,.34,28.8,18.62,30.12Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #dfbc28;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M112.94,205.87c-4.35-1.07-3.09-4.21-2.41-6.43,3.08-10.15,6.21-20.3,9.82-30.28,2.33-6.45,1.96-10.95-4.46-15.2-10.8-7.15-20.8-15.48-31.36-23-6.61-4.71-7.92-10.03-3.8-17.02,11.64-19.74,23.22-39.49,36.68-58.1,5.15-7.12,10.27-8.11,17.65-3.53,11.82,7.34,23.91,14.25,36.04,21.07,7.09,3.99,7.59,8.15,2.06,14.06-8.19,8.74-15.62,18.2-24.02,26.73-5.23,5.31-4.13,8.76,.94,12.93,6.41,5.28,12.52,10.94,18.74,16.46,3.68,3.27,4.04,6.56,.24,10.13-17.7,16.64-35.35,33.33-53.04,49.98-.94,.89-2.12,1.53-3.08,2.21Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 849 B |
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #e18ce1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-3 {
|
||||||
|
fill: #e291e2;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M168.54,132.61c3.77,6.74,7.72,12.55,9.17,19.5,2.22,10.62-1.21,14.8-11.95,15.74-7.15,.63-10.23,.58-23.99-6.3-.72,12.68,10.42,26.54,7.56,40.13-.3,1.42-2.11,1.88-3.1,.81-10.72-11.57-11.42-26.96-18.23-40.53-6.59,13.45-7.73,28.65-17.98,40.71-.94,1.1-2.77,.71-3.11-.7-3.31-13.62,7.93-26.82,7.68-39.39-4.82,3.96-16,5.77-22.74,5.34-12.59-.8-15.97-5-13.2-17.17,1.5-6.62,5.97-11.71,8.57-18.3-7.97-5.14-16.04-9.4-21.66-17.39-10.4-14.76-10.88-31.08-9.17-47.77,.67-6.56,6.56-8.82,12.68-9,22.43-.65,42.31,4.56,55.63,24.61q.69,1.04,3.11,5.35,2.46-3.75,3.18-4.86c13.12-20.16,32.89-25.76,55.37-25.1,9.84,.29,13.27,4.35,13.86,14.36,.99,16.72-1.38,32.29-12.39,45.93-5.05,6.25-12.22,8.98-19.28,14.02Z"/>
|
||||||
|
<path class="cls-3" d="M128.01,97.38c3.43,10.49,11.99,18.83,23.75,18.89-4.1,10.72-12.19,14.1-21.2,14.91-10.89,.98-20.09-2.8-26.74-14.02,11.02-1.56,20.04-8.95,24.18-19.79Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #e49021;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M187.37,155.46c.55,.18,.95,.71,1.01,1.29,1.74,16.71-.12,19.56-15.05,25.28-18.32,7.01-37.09,12.47-56.28,16.61-6.49,1.4-12.82,1.23-18.55-1.56-9.55-4.66-18.43-10.58-26.79-17.18-2.9-2.29-4.35-5.25-4.45-8.92-.16-5.96,.32-11.94,0-17.9-.29-5.3,1.7-8.26,7.01-8.25,13.98,.02,27.96,0,41.94,.07,2.73,.01,5.69,.39,6.17,3.76,.85,6.07,5.16,6,9.64,6,14.98-.02,29.96-.02,44.94,.04,3.34,.01,6.74-.4,10.4,.77Z"/>
|
||||||
|
<path class="cls-1" d="M66.79,97c0-7.65-.17-15.31,.05-22.96,.23-8.25,1.29-9.16,9.29-9.49,12.35-.52,13.55,.62,13.57,13.24,.03,14.31,.11,28.62-.05,42.92-.1,8.6-2.14,10.41-10.71,10.59-9.27,.18-11.82-1.83-12.08-10.34-.24-7.98-.05-15.97-.05-23.96,0,0-.01,0-.02,0Z"/>
|
||||||
|
<path class="cls-1" d="M162.9,146.55c-6.65,0-13.31-.04-19.96,.01-6.12,.05-9.28-2.95-9.44-9.04-.09-3.32-.23-6.66,0-9.97,.36-5.39,3.15-8.73,8.81-8.76,13.64-.08,27.28,.01,40.91-.04,4.22-.02,5.58,2.08,6.03,6.1,2.32,20.72,1.48,21.77-19.36,21.77-2.33,0-4.66,0-6.99,0,0-.02,0-.05,0-.07Z"/>
|
||||||
|
<path class="cls-1" d="M122.79,98.15c0,7.98,.25,15.96-.07,23.93-.3,7.37-2.74,9.14-11.13,9.21-8.7,.07-11.35-1.5-11.5-8.78-.36-16.61-.09-33.23-.15-49.85-.02-5.98,3.01-8.41,8.72-8.11,1.33,.07,2.66-.04,3.99,0,8.85,.21,9.91,1.08,10.13,9.67,.2,7.97,.04,15.95,.04,23.93,0,0-.02,0-.03,0Z"/>
|
||||||
|
<path class="cls-1" d="M189.2,87.77c0,5.64,0,11.27,0,16.91,0,4.05-1.9,6.18-6.11,5.93-.66-.04-1.33,0-1.99,.03q-14.85,.61-14.86-14.08c0-7.3-.1-14.6,.04-21.89,.17-9.07,1.26-10.04,10.57-10.2,1.66-.03,3.32,.07,4.97,.05,4.94-.05,7.33,2.49,7.37,7.32,.04,5.31,0,10.61,0,15.92Z"/>
|
||||||
|
<path class="cls-1" d="M156.1,88.09c0,5.33-.1,10.66,.03,15.99,.12,4.68-2.05,6.48-6.64,6.51-19.31,.12-16.06,.62-16.34-14.77-.14-7.66,.11-15.33,.03-22.99-.06-5.9,2.76-8.56,8.59-8.29,2.33,.11,4.66,.06,6.99,.05,5.03-.01,7.23,2.72,7.26,7.5,.03,5.33,0,10.66,0,15.99h.06Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #e4613e;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M101.14,196.71c-18.04-4.97-32.15-33.23-26.12-56.44,2.47-9.5,6.73-18.04,13.15-25.42,5.67-6.52,11.56-12.86,17.44-19.19,16.45-17.72,16.84-21.84,3.67-40.92,16.66-6.33,35.79,6.81,36.26,24.87,.23,8.92-3.12,16.84-6.55,24.78-2.86,6.61-3.94,13.22,1.46,21.46,.78-7.78,.25-13.98,5.16-19.12,5.44-5.7,9.99-7.61,18.26-5.74-8,6.58-6.97,10.9,6.52,29.92,12.34,17.41,15.7,32.35,6.6,48.54-9.75,17.35-30.86,27.88-50.31,24.97,1.32-2.15,5-3.89,7.7-5.48,12.95-7.61,14.91-19.54,4.94-30.71-3.31-3.71-7.06-7.04-10.68-10.47-14.71-13.95-16.33-16.83-20.12-36.25-20.01,10.96-23.87,46.75-7.38,75.23Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 924 B |
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #74aad0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M151.78,148.43c-15.72,18.66-36.72,18.54-56.82,20.49-.88,.09-1.72,.46-2.36,1.09-10.27,10.09-15.84,24.13-28,33.64-.55,.43-1.39,.2-1.63-.45-2.25-6.09-1.57-11.4-.81-16.39,4.26-28.02,11.13-55.4,21.88-81.66,5.83-14.23,15.13-24.51,31.59-27.2,24.36-3.98,47.33-13.03,70.58-20.97,2.96-1.01,6.05-1.96,9.13-.76,.97,.38,1.74,1.18,2.02,2.18,.91,3.25-.92,5.89-2.54,8.68-13.5,23.36-34.25,37.51-58.92,46.81-3.54,1.33-7.9,2.81-10.91,5.61-.32,.3-.08,.86,.35,.88,17.48,.74,32.76-5.7,48.82-9.24,.55-.12,1.04,.45,.84,.98-7.05,17.94-23.79,26.99-39.9,32.15-6.3,2.02-9.35,2.46-20.33,3.46-.37,.03-.41,.49-.11,.57,15.87,4,21.78-.55,36.34-1.55,.83-.06,1.3,1.02,.77,1.66Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 998 B |
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #6f4570;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-3 {
|
||||||
|
fill: #785279;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M181.32,129.18c17.5-2.25,26.94,4.31,29.63,19.92,.35,2.02,.89,4.09-.95,5.51-1.82,1.4-3.97,.9-5.49-.53-3.43-3.21-6.15-2.85-9.23,.65-11.43,13.03-11.49,12.97-25.61,3.67-7.23,9.3-13.4,19.53-22.16,27.76-15.24,14.32-23.93,14.36-39.14-.12-8.5-8.1-14.85-17.81-21.86-27.6-1.34,.61-2.63,.92-3.57,1.67-11.08,8.95-12.51,8.86-20.73-3.02-3.01-4.34-5.61-7.7-10.89-2.9-1.55,1.41-3.7,1.79-5.46,.27-1.77-1.53-1.11-3.56-.73-5.56,2.91-15.53,11.6-21.56,29.88-19.95-1.56-21.61,3.65-40.79,21.04-55.13,10.2-8.4,21.88-12.33,35.08-11.62,30.09,1.6,48.84,26.36,50.2,66.98Z"/>
|
||||||
|
<path class="cls-3" d="M97.2,100.05c-.05-3.76,.1-7.72,4.2-9.25,4.1-1.54,6.94,1.39,9.36,4.16,5.03,5.76,7.53,12.61,6.59,20.2-.85,6.86-5.98,8.61-11.33,4.15-5.97-4.98-8.66-11.56-8.82-19.25Z"/>
|
||||||
|
<path class="cls-3" d="M158.77,100.6c-.26,7.31-2.96,13.47-8.42,18.46-2.1,1.92-4.32,3.3-7.12,2.5-3.33-.96-4.53-3.86-4.71-6.94-.42-7.24,1.69-13.82,6.43-19.33,2.59-3.02,5.62-6.37,10.14-4.27,3.89,1.81,3.8,5.86,3.69,9.59Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #439837;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M194.3,86.12c2.2-2.13,1.76,4.2,1.52,6.15-4.07,32.61-8.97,65.08-16.15,97.16-1.92,8.61-3.33,9.71-12.1,9.84-9.68,.14-19.35,.06-28.95,.04-1.7,0-2.85-1.73-2.2-3.3,15.94-38.11,37.34-90.03,57.88-109.89Z"/>
|
||||||
|
<path class="cls-1" d="M121.47,180.64c-.83-23.74,2.05-37.16,5.01-68.66,.12-1.32,.59-2.57,1.15-3.77,3.53-7.48,17.34-36.24,25.36-46.17,1.68-2.08,5.01-.95,5.18,1.71,.11,1.78,.04,3.44-.03,5.22-.89,20.31-3.29,40.49-6.19,60.6-.56,3.86-2.22,7.68-3.97,11.23-5.73,11.62,1.08-2.28-17.76,34.57-1.19,2.34-2.12,5.3-4.33,6.98-1.8,1.37-4.34,.55-4.42-1.7Z"/>
|
||||||
|
<path class="cls-1" d="M116.82,86.12c2.2-2.13,1.76,4.2,1.52,6.15-4.07,32.61-8.97,65.08-16.15,97.16-1.92,8.61-3.33,9.71-12.1,9.84-9.68,.14-19.35,.06-28.95,.04-1.7,0-2.85-1.73-2.2-3.3,15.94-38.11,37.34-90.03,57.88-109.89Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #a4733c;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M126.23,184.84c-2.52-.77-6.4-1.66-10.06-3.12-16.93-6.77-33.8-13.68-50.68-20.59-1.52-.62-2.94-1.54-4.37-2.37-7.42-4.3-7.7-9.21-.2-12.86,20.58-10.01,41.94-18.12,63.61-25.43,2.66-.9,5.15-.6,7.77,.29,21.03,7.14,41.73,15.08,61.78,24.65,.9,.43,1.91,.68,2.71,1.23,4.81,3.35,4.98,8.12-.08,11.12-4.54,2.69-9.52,4.66-14.4,6.73-16.16,6.86-32.34,13.7-49,19.3-1.91,.64-3.72,1.37-7.09,1.04Z"/>
|
||||||
|
<path class="cls-1" d="M127.56,209.93c-4.2,0-16.12-4.16-23.83-7.01-14.62-5.41-29.03-11.48-43.23-17.96-.67-.3-3.56-1.99-5.19-2.94-5.04-2.9-5.41-3.74-2.57-9.25,1.9-3.68,2.7-3.31,7.75-.99,16.01,7.32,32.38,13.67,48.71,20.15s21.09,6.87,37.52,.04c15.91-6.61,31.68-13.54,47.8-19.73,4.87-1.87,6.88-3.86,9.14,1.33,1.81,4.15,3.83,5.53-3.76,8.84-16.74,7.31-33.07,15.45-50.36,21.36-7.2,2.46-17.23,6.15-21.98,6.15Z"/>
|
||||||
|
<path class="cls-1" d="M93.59,71.19q0,14.24-14.1,14.23c-1.33,0-2.65,.02-3.98-.02-8.78-.28-9.26-.78-9.52-9.97q-.51-18.04,17.68-17.63c9.44,.22,9.76,.54,9.92,10.4,.02,.99,0,1.99,0,2.98Z"/>
|
||||||
|
<path class="cls-1" d="M185.3,87.72c-.14,10.17-.34,10.34-11.99,10.25-10-.08-10.24-.37-10.14-12.06,.09-10.18,.35-10.41,11.95-10.24,10.14,.15,10.34,.38,10.18,12.05Z"/>
|
||||||
|
<path class="cls-1" d="M119.38,99.54c.04,8.09-1.04,9.17-9.13,9.18-8.19,0-9.46-1.21-9.42-8.99,.04-7.6,.99-8.41,9.78-8.36,8.16,.05,8.74,.59,8.78,8.16Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #47c8c8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #fbfdfd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-3 {
|
||||||
|
fill: #64cfcf;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-1" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-2" d="M110.36,60.61c6.05-5.88,11.4-11.09,17.77-17.29,5.97,6.13,11.17,11.47,17.14,17.59-4.92,5.79-9.31,10.96-14.74,17.36,12.8,7.44,26.4,16.32,40.07,24.27v-23.26h24.01c0,7.81,.09,16.68,.09,25.33-21.7,0-5.65,.26-22.24,.26,0,15.36,.44,31.53,.44,47.51h21.79v24.18h-23.94v-21.88c-13.22,7.56-27.06,15.34-40.38,22.95,5.13,5.9,9.4,10.79,14.9,17.11-5.37,5.66-10.66,11.23-17.36,18.29-5.96-6.39-11.21-12.02-17.12-18.36,4.98-5.7,9.44-10.8,14.84-16.97-13.25-7.61-27-15.35-40.37-23.03v22.22h-24.05v-24.46h22.03c0-15.56-.08-32.89-.08-48.86l-22.05-.08v-24.22h24.22c0,21.72,0,2.88,0,21.24,13.09-7.41,26.69-14.32,40.16-21.95-5.03-5.96-9.38-11.12-15.15-17.95Z"/>
|
||||||
|
<path class="cls-3" d="M96.46,140.79v-32.06c12.55-7.16,12.55-6.81,27.27-15.03l6.03,7.93c-22.64,12.82,.71-.29-22.64,12.82v26.34h-10.66Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #828282;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M129.76,204.09c-52.17,.13-86.62-49.01-69.05-96.43,1.58-4.26,2.06-8.18,.3-12.54-4.35-10.76-2.11-20.35,6.4-28.13,8.6-7.86,18.65-8.56,28.73-3.56,4.11,2.04,7.65,1.76,11.48,.67,13.45-3.84,26.89-3.86,40.31-.09,5.01,1.41,9.29,.9,14.31-1.24,9.79-4.16,19.59-3.35,27.74,4.64,8.34,8.17,9.92,17.82,5.48,28.33-1.7,4.02-1.86,7.6-.29,11.52,13.45,33.52-1.47,71.64-33.35,88.74-10.47,5.62-21.72,8.21-32.05,8.08Z"/>
|
||||||
|
<path class="cls-2" d="M77.28,133.16c-1.34-26.26,21.93-51.19,50.24-51.09,28.36,.09,50.55,22.02,51.35,50.13,.68,24.05-19.28,50.72-50.39,51.16-27.94,.4-51.07-22.27-51.2-50.2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 927 B |
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #9354cb;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<circle class="cls-1" cx="159.37" cy="123.2" r="16.8"/>
|
||||||
|
<circle class="cls-1" cx="102.45" cy="86.6" r="28.2"/>
|
||||||
|
<path class="cls-1" d="M197.45,191.55c2.36-1.5,3.12-3.08,3.28-4.91,.05-.38,.08-.77,.08-1.18,0-.27-.03-.52-.06-.76-.16-2.7-1.26-4.54-8.23-6.81-1.21-.39-2.54-.78-3.97-1.17-7.9-2.37-15.56-3.78-24.24-4.53-3.43-.44-6.99-.84-10.63-1.18-1.71-.52-2.31-1.28-2.72-2.44-.55-2.95-1.65-5.7-3.19-8.15-3.79-6.49-9.84-10.25-17.82-10.82-.49-.04-.98-.07-1.48-.08-.04,0-.08,0-.12,0-.03,0-.05,0-.08,0-.09,0-.18,0-.27,0-.27,0-.53,.01-.8,.02-9.24,.17-16.18,4.64-19.99,12.7-.62,1.22-1.15,2.49-1.55,3.82-.93,2.47-1.59,3.97-3.63,4.86-4.92,.42-9.65,.95-14.1,1.57-4.28,.46-8.51,1.21-12.7,2.17-5.5,1.14-10.17,2.43-13.73,3.8-.53,.19-1.04,.4-1.54,.63-4.26,1.9-4.63,3.67-4.66,5.88-.02,.26-.05,.52-.04,.8,0,.16,.03,.31,.04,.47,.06,2.53,.72,4.56,5.71,6.64,.94,.41,1.93,.76,2.94,1.08,1.65,.55,3.48,1.08,5.48,1.59,8.46,2.29,17.02,3.57,25.62,4.37,10.22,1.13,21.52,1.79,32.87,1.8,0,0,0,0,.01,0,0,0,0,0,0,0,.03,0,.06,0,.09,0,10.47,0,20.99-.59,30.65-1.59,10.15-.84,20.2-2.3,30.08-5.18,.46-.13,.91-.26,1.35-.39,.09-.03,.17-.05,.26-.08,2.29-.71,4.79-1.49,6.76-2.73,.08-.05,.16-.1,.25-.15,.02-.02,.05-.03,.07-.05Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.5 KiB |
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #e96c8c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-3 {
|
||||||
|
fill: #e96c8d;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M197.45,99.74c.29,5.25-2.01,9.75-4.39,14.13-5,9.21-4.92,18.19-.37,27.66,10.23,21.3,3.62,33.41-19.59,35.57-11.16,1.04-19.22,5.65-25.41,15.11-11.71,17.9-27.71,17.77-39.56-.25-5.98-9.09-13.76-13.73-24.55-14.79-24.07-2.36-30.54-13.99-20.14-35.92,4.32-9.12,4.22-17.7-.14-26.79-10.21-21.31-3.62-33.41,19.59-35.57,11.15-1.04,19.23-5.65,25.41-15.11,11.49-17.58,27.83-17.94,38.95-.54,7.09,11.09,16.73,15.07,29.13,16.03,13.9,1.08,21.17,8.75,21.06,20.48Z"/>
|
||||||
|
<path class="cls-3" d="M174.57,154.66c-20.78,1.82-35.45,9.96-46.37,26.9-11.55-16.67-26-25.21-45.7-26.81,6.99-17.87,8.75-34.96-.85-53,19.9-2.33,34.97-10.36,46.4-26.96,11.3,16.3,25.74,24.84,45.44,26.44-6.94,17.88-8.77,34.96,1.08,53.42Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #a9a481;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-2" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M199.67,98.23l-19.62-19.62,3.55,23.38c.03,.19-.2,.31-.34,.17l-29.18-29.18c-.14-.14-.02-.37,.17-.34l23.38,3.55-19.87-19.87s-.09-.06-.14-.06h-59.26c-.05,0-.1,.02-.14,.06l-41.9,41.9s-.06,.09-.06,.14v59.26c0,.05,.02,.1,.06,.14l19.53,19.53-9.71-45.05c-.04-.19,.2-.32,.34-.18l57.77,57.77c.14,.14,.01,.38-.18,.34l-45.05-9.71,19.21,19.21s.09,.06,.14,.06h59.26c.05,0,.1-.02,.14-.06l19.24-19.24-45.14,9.75c-.19,.04-.32-.2-.18-.34l57.76-57.76c.14-.14,.38-.01,.34,.18l-9.75,45.14,19.64-19.64s.06-.09,.06-.14v-59.26c0-.05-.02-.1-.06-.14Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 880 B |
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #77b2cb;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-3 {
|
||||||
|
fill: #74b0cb;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-3" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-1" d="M117.24,93.22c2.6,13.41,4.78,24.66,7.26,37.43-22.73,6.49-44.68,12.75-69.68,19.88,9.84-30.35,18.66-57.52,27.59-85.05h89.4c.95,2.01,2.13,4.49,3.84,8.09-19.64,6.61-38.27,12.88-58.41,19.65Z"/>
|
||||||
|
<path class="cls-1" d="M200.8,150.53c-14.91,10.77-28.49,20.58-44.8,32.36-7.75-27.52-14.82-52.63-22.38-79.5,16.5-5.26,30.78-9.82,46.8-14.93,6.96,21.21,13.5,41.12,20.38,62.07Z"/>
|
||||||
|
<path class="cls-1" d="M143.47,191.59c-5.22,3.98-10.06,7.68-15.77,12.03-19.71-14.37-38.84-28.32-61.19-44.61,22.17-6.41,40.89-11.82,61.12-17.66,5.46,17.32,10.48,33.22,15.85,50.24Z"/>
|
||||||
|
<circle class="cls-2" cx="97.05" cy="80.81" r="7.64"/>
|
||||||
|
<circle class="cls-2" cx="161.67" cy="116.95" r="10.41"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1 KiB |
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1 {
|
||||||
|
fill: #3a9de2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-3 {
|
||||||
|
fill: #3099e1;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<circle class="cls-3" cx="128" cy="128" r="128"/>
|
||||||
|
<path class="cls-2" d="M128.35,206.24c-34.24,.13-56.14-32.39-43.8-64.78,4.18-10.98,10.78-20.6,16.8-30.49,9.43-15.5,15.71-32.11,19.91-49.63,.54-2.25,.94-4.58,1.88-6.66,.93-2.07,2.13-4.29,5.02-4.17,2.83,.12,3.84,2.41,4.87,4.44,.74,1.45,1.09,3.12,1.41,4.73,4.46,22.12,13.91,42.06,26.04,60.93,7.77,12.08,14.46,24.58,14.13,39.75-.57,26.48-19.82,45.79-46.27,45.89Z"/>
|
||||||
|
<path class="cls-1" d="M129.16,193.51c-13.8-1.05-25.57-4.53-32.92-16.53-1.35-2.2-3.13-5.02-1.71-7.44,1.88-3.21,4.73-.71,7.03,.08,17.88,6.19,35.7,6.17,53.52-.27,2.06-.75,4.33-2.73,6.36-.43,1.92,2.18,.05,4.41-.92,6.39-6.52,13.39-18.86,16.49-31.35,18.19Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 995 B |
BIN
composeApp/src/commonMain/composeResources/drawable/water.png
Normal file
|
After Width: | Height: | Size: 7 KiB |
164
composeApp/src/commonMain/kotlin/App.kt
Normal file
|
|
@ -0,0 +1,164 @@
|
||||||
|
import androidx.compose.foundation.Canvas
|
||||||
|
import androidx.compose.foundation.Image
|
||||||
|
import androidx.compose.foundation.background
|
||||||
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
import androidx.compose.foundation.layout.Box
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.Spacer
|
||||||
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
|
import androidx.compose.foundation.layout.height
|
||||||
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.layout.size
|
||||||
|
import androidx.compose.foundation.lazy.grid.GridCells
|
||||||
|
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
|
||||||
|
import androidx.compose.material.CircularProgressIndicator
|
||||||
|
import androidx.compose.material.MaterialTheme
|
||||||
|
import androidx.compose.material.Text
|
||||||
|
|
||||||
|
import androidx.compose.runtime.*
|
||||||
|
import androidx.compose.ui.Alignment
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.geometry.CornerRadius
|
||||||
|
import androidx.compose.ui.geometry.Offset
|
||||||
|
import androidx.compose.ui.geometry.Size
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
import io.kamel.image.KamelImage
|
||||||
|
import io.kamel.image.asyncPainterResource
|
||||||
|
import org.jetbrains.compose.ui.tooling.preview.Preview
|
||||||
|
import org.json.JSONObject
|
||||||
|
import org.jetbrains.compose.resources.ExperimentalResourceApi
|
||||||
|
import pokedex.composeapp.generated.resources.Res
|
||||||
|
import pokedex.composeapp.generated.resources.*;
|
||||||
|
|
||||||
|
import java.net.URL
|
||||||
|
|
||||||
|
@OptIn(ExperimentalResourceApi::class)
|
||||||
|
@Composable
|
||||||
|
@Preview
|
||||||
|
fun App() {
|
||||||
|
val pokemap = ArrayList<Pokemon>()
|
||||||
|
val apiString = "https://pokeapi.co/api/v2/pokemon/"
|
||||||
|
var dataLoaded by mutableStateOf(false)
|
||||||
|
val orange = Color(0xFFffa500)
|
||||||
|
|
||||||
|
val pokemonTypeDrawableMap = hashMapOf(
|
||||||
|
"normal" to Res.drawable.normal,
|
||||||
|
"fire" to Res.drawable.fire,
|
||||||
|
"water" to Res.drawable.water,
|
||||||
|
"electric" to Res.drawable.electric,
|
||||||
|
"grass" to Res.drawable.grass,
|
||||||
|
"ice" to Res.drawable.ice,
|
||||||
|
"fighting" to Res.drawable.fighting,
|
||||||
|
"poison" to Res.drawable.poison,
|
||||||
|
"ground" to Res.drawable.ground,
|
||||||
|
"flying" to Res.drawable.flying,
|
||||||
|
"psychic" to Res.drawable.psychic,
|
||||||
|
"bug" to Res.drawable.bug,
|
||||||
|
"rock" to Res.drawable.rock,
|
||||||
|
"ghost" to Res.drawable.ghost,
|
||||||
|
"dragon" to Res.drawable.dragon,
|
||||||
|
"dark" to Res.drawable.dark,
|
||||||
|
"steel" to Res.drawable.steel,
|
||||||
|
"fairy" to Res.drawable.fairy
|
||||||
|
)
|
||||||
|
|
||||||
|
MaterialTheme {
|
||||||
|
Box(modifier = Modifier.background(color = orange).fillMaxSize()) {
|
||||||
|
if (!dataLoaded) {
|
||||||
|
println("Should show indicator")
|
||||||
|
//For some reason the application calls this code but does not diplay the ui if the launchedeffect is running
|
||||||
|
//This should not happen as launched-effect is an async co routine and non blocking
|
||||||
|
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
|
||||||
|
CircularProgressIndicator(modifier = Modifier.size(128.dp), color = Color.White)
|
||||||
|
Text(
|
||||||
|
"Fetching data from API...",
|
||||||
|
color = Color.White,
|
||||||
|
fontWeight = FontWeight.Bold,
|
||||||
|
modifier = Modifier.height(200.dp)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
LazyVerticalGrid(
|
||||||
|
columns = GridCells.Adaptive(minSize = 256.dp),
|
||||||
|
) {
|
||||||
|
items(pokemap.size) { index ->
|
||||||
|
Box(modifier = Modifier.size(256.dp).padding(5.dp)) {
|
||||||
|
Canvas(modifier = Modifier.matchParentSize()) {
|
||||||
|
drawRoundRect(
|
||||||
|
color = Color.White,
|
||||||
|
topLeft = Offset(0f, 0f),
|
||||||
|
size = Size(size.width, size.height),
|
||||||
|
cornerRadius = CornerRadius(20f, 20f),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Column(
|
||||||
|
modifier = Modifier.fillMaxSize(),
|
||||||
|
verticalArrangement = Arrangement.Center,
|
||||||
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
|
) {
|
||||||
|
KamelImage(
|
||||||
|
resource = asyncPainterResource(pokemap[index].imageUrl),
|
||||||
|
modifier = Modifier.size(128.dp),
|
||||||
|
contentDescription = "",
|
||||||
|
alignment = Alignment.Center
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Column(
|
||||||
|
modifier = Modifier.fillMaxSize().padding(vertical = 8.dp),
|
||||||
|
verticalArrangement = Arrangement.Bottom,
|
||||||
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
|
) {
|
||||||
|
val type: String = pokemap[index].type
|
||||||
|
Box(modifier = Modifier.size(32.dp)) {
|
||||||
|
Image(
|
||||||
|
org.jetbrains.compose.resources.painterResource(
|
||||||
|
pokemonTypeDrawableMap[type]!!
|
||||||
|
),
|
||||||
|
contentDescription = null
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Spacer(modifier = Modifier.height(8.dp))
|
||||||
|
Text(
|
||||||
|
text = pokemap[index].name,
|
||||||
|
textAlign = TextAlign.Center,
|
||||||
|
color = Color.Black,
|
||||||
|
fontWeight = FontWeight.Bold
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Blocks ui rendering thread?
|
||||||
|
LaunchedEffect(Unit) {
|
||||||
|
//PokeDex API: https://pokeapi.co/api/v2/pokemon/
|
||||||
|
for (i in 1..10) {
|
||||||
|
val json = JSONObject(URL(apiString + i).readText());
|
||||||
|
val sprites = json.optJSONObject("sprites")
|
||||||
|
val types = json.getJSONArray("types")
|
||||||
|
val firstType = types.optJSONObject(0)
|
||||||
|
val type: String = firstType.optJSONObject("type").optString("name")
|
||||||
|
|
||||||
|
val pokemon = Pokemon(
|
||||||
|
json.optString("name"),
|
||||||
|
URL(sprites.optString("front_default")),
|
||||||
|
type,
|
||||||
|
json.optInt("id")
|
||||||
|
)
|
||||||
|
|
||||||
|
println(pokemon)
|
||||||
|
|
||||||
|
//println(type)
|
||||||
|
pokemap.add(
|
||||||
|
pokemon
|
||||||
|
)
|
||||||
|
}
|
||||||
|
dataLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
5
composeApp/src/commonMain/kotlin/Platform.kt
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
interface Platform {
|
||||||
|
val name: String
|
||||||
|
}
|
||||||
|
|
||||||
|
expect fun getPlatform(): Platform
|
||||||
8
composeApp/src/commonMain/kotlin/Pokemon.kt
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
import java.net.URL
|
||||||
|
|
||||||
|
data class Pokemon (
|
||||||
|
val name: String,
|
||||||
|
val imageUrl: URL,
|
||||||
|
val type: String,
|
||||||
|
val id: Int
|
||||||
|
)
|
||||||
5
composeApp/src/desktopMain/kotlin/Platform.jvm.kt
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
class JVMPlatform: Platform {
|
||||||
|
override val name: String = "Java ${System.getProperty("java.version")}"
|
||||||
|
}
|
||||||
|
|
||||||
|
actual fun getPlatform(): Platform = JVMPlatform()
|
||||||
9
composeApp/src/desktopMain/kotlin/main.kt
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.window.Window
|
||||||
|
import androidx.compose.ui.window.application
|
||||||
|
|
||||||
|
fun main() = application {
|
||||||
|
Window(onCloseRequest = ::exitApplication, title = "PokeDex") {
|
||||||
|
App()
|
||||||
|
}
|
||||||
|
}
|
||||||
16
gradle.properties
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
kotlin.code.style=official
|
||||||
|
|
||||||
|
#Gradle
|
||||||
|
org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options\="-Xmx2048M"
|
||||||
|
|
||||||
|
|
||||||
|
#Android
|
||||||
|
android.nonTransitiveRClass=true
|
||||||
|
android.useAndroidX=true
|
||||||
|
|
||||||
|
#MPP
|
||||||
|
kotlin.mpp.androidSourceSetLayoutVersion=2
|
||||||
|
|
||||||
|
#Development
|
||||||
|
development=true
|
||||||
|
org.gradle.configuration-cache=true
|
||||||
50
gradle/libs.versions.toml
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
[versions]
|
||||||
|
accompanistCoil = "0.23.0"
|
||||||
|
agp = "8.3.1"
|
||||||
|
android-compileSdk = "34"
|
||||||
|
android-minSdk = "24"
|
||||||
|
android-targetSdk = "34"
|
||||||
|
androidx-activityCompose = "1.8.2"
|
||||||
|
androidx-appcompat = "1.6.1"
|
||||||
|
androidx-constraintlayout = "2.1.4"
|
||||||
|
androidx-core-ktx = "1.12.0"
|
||||||
|
androidx-espresso-core = "3.5.1"
|
||||||
|
androidx-material = "1.11.0"
|
||||||
|
androidx-test-junit = "1.1.5"
|
||||||
|
coil = "3.0.0-alpha01"
|
||||||
|
compose = "1.6.5"
|
||||||
|
compose-plugin = "1.6.0"
|
||||||
|
composeVersion = "1.0.0-beta01"
|
||||||
|
json = "20211205"
|
||||||
|
junit = "4.13.2"
|
||||||
|
kamelImage = "0.9.4"
|
||||||
|
kotlin = "1.9.22"
|
||||||
|
lifecycleProcess = "2.7.0"
|
||||||
|
media3Effect = "1.3.1"
|
||||||
|
ktor = "2.3.10"
|
||||||
|
|
||||||
|
[libraries]
|
||||||
|
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "lifecycleProcess" }
|
||||||
|
ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
|
||||||
|
compose = { module = "com.github.bumptech.glide:compose", version.ref = "composeVersion" }
|
||||||
|
json = { module = "org.json:json", version.ref = "json" }
|
||||||
|
kamel-image = { module = "media.kamel:kamel-image", version.ref = "kamelImage" }
|
||||||
|
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
||||||
|
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
|
||||||
|
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||||||
|
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" }
|
||||||
|
androidx-test-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-junit" }
|
||||||
|
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-espresso-core" }
|
||||||
|
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
|
||||||
|
androidx-material = { group = "com.google.android.material", name = "material", version.ref = "androidx-material" }
|
||||||
|
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" }
|
||||||
|
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" }
|
||||||
|
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }
|
||||||
|
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" }
|
||||||
|
androidx-media3-effect = { group = "androidx.media3", name = "media3-effect", version.ref = "media3Effect" }
|
||||||
|
|
||||||
|
[plugins]
|
||||||
|
androidApplication = { id = "com.android.application", version.ref = "agp" }
|
||||||
|
androidLibrary = { id = "com.android.library", version.ref = "agp" }
|
||||||
|
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
|
||||||
|
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
||||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
7
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
distributionBase=GRADLE_USER_HOME
|
||||||
|
distributionPath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
|
||||||
|
networkTimeout=10000
|
||||||
|
validateDistributionUrl=true
|
||||||
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
zipStorePath=wrapper/dists
|
||||||
248
gradlew
vendored
Executable file
|
|
@ -0,0 +1,248 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright © 2015-2021 the original authors.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# Gradle start up script for POSIX generated by Gradle.
|
||||||
|
#
|
||||||
|
# Important for running:
|
||||||
|
#
|
||||||
|
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||||
|
# noncompliant, but you have some other compliant shell such as ksh or
|
||||||
|
# bash, then to run this script, type that shell name before the whole
|
||||||
|
# command line, like:
|
||||||
|
#
|
||||||
|
# ksh Gradle
|
||||||
|
#
|
||||||
|
# Busybox and similar reduced shells will NOT work, because this script
|
||||||
|
# requires all of these POSIX shell features:
|
||||||
|
# * functions;
|
||||||
|
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||||
|
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||||
|
# * compound commands having a testable exit status, especially «case»;
|
||||||
|
# * various built-in commands including «command», «set», and «ulimit».
|
||||||
|
#
|
||||||
|
# Important for patching:
|
||||||
|
#
|
||||||
|
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||||
|
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||||
|
#
|
||||||
|
# The "traditional" practice of packing multiple parameters into a
|
||||||
|
# space-separated string is a well documented source of bugs and security
|
||||||
|
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||||
|
# options in "$@", and eventually passing that to Java.
|
||||||
|
#
|
||||||
|
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||||
|
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||||
|
# see the in-line comments for details.
|
||||||
|
#
|
||||||
|
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||||
|
# Darwin, MinGW, and NonStop.
|
||||||
|
#
|
||||||
|
# (3) This script is generated from the Groovy template
|
||||||
|
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||||
|
# within the Gradle project.
|
||||||
|
#
|
||||||
|
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||||
|
#
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
# Attempt to set APP_HOME
|
||||||
|
|
||||||
|
# Resolve links: $0 may be a link
|
||||||
|
app_path=$0
|
||||||
|
|
||||||
|
# Need this for daisy-chained symlinks.
|
||||||
|
while
|
||||||
|
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||||
|
[ -h "$app_path" ]
|
||||||
|
do
|
||||||
|
ls=$( ls -ld "$app_path" )
|
||||||
|
link=${ls#*' -> '}
|
||||||
|
case $link in #(
|
||||||
|
/*) app_path=$link ;; #(
|
||||||
|
*) app_path=$APP_HOME$link ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# This is normally unused
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
APP_BASE_NAME=${0##*/}
|
||||||
|
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||||
|
|
||||||
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
|
MAX_FD=maximum
|
||||||
|
|
||||||
|
warn () {
|
||||||
|
echo "$*"
|
||||||
|
} >&2
|
||||||
|
|
||||||
|
die () {
|
||||||
|
echo
|
||||||
|
echo "$*"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
} >&2
|
||||||
|
|
||||||
|
# OS specific support (must be 'true' or 'false').
|
||||||
|
cygwin=false
|
||||||
|
msys=false
|
||||||
|
darwin=false
|
||||||
|
nonstop=false
|
||||||
|
case "$( uname )" in #(
|
||||||
|
CYGWIN* ) cygwin=true ;; #(
|
||||||
|
Darwin* ) darwin=true ;; #(
|
||||||
|
MSYS* | MINGW* ) msys=true ;; #(
|
||||||
|
NONSTOP* ) nonstop=true ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||||
|
|
||||||
|
|
||||||
|
# Determine the Java command to use to start the JVM.
|
||||||
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
|
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||||
|
else
|
||||||
|
JAVACMD=$JAVA_HOME/bin/java
|
||||||
|
fi
|
||||||
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
location of your Java installation."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
JAVACMD=java
|
||||||
|
if ! command -v java >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
location of your Java installation."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Increase the maximum file descriptors if we can.
|
||||||
|
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||||
|
case $MAX_FD in #(
|
||||||
|
max*)
|
||||||
|
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||||
|
# shellcheck disable=SC3045
|
||||||
|
MAX_FD=$( ulimit -H -n ) ||
|
||||||
|
warn "Could not query maximum file descriptor limit"
|
||||||
|
esac
|
||||||
|
case $MAX_FD in #(
|
||||||
|
'' | soft) :;; #(
|
||||||
|
*)
|
||||||
|
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||||
|
# shellcheck disable=SC3045
|
||||||
|
ulimit -n "$MAX_FD" ||
|
||||||
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Collect all arguments for the java command, stacking in reverse order:
|
||||||
|
# * args from the command line
|
||||||
|
# * the main class name
|
||||||
|
# * -classpath
|
||||||
|
# * -D...appname settings
|
||||||
|
# * --module-path (only if needed)
|
||||||
|
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||||
|
|
||||||
|
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||||
|
if "$cygwin" || "$msys" ; then
|
||||||
|
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||||
|
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
||||||
|
|
||||||
|
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||||
|
|
||||||
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||||
|
for arg do
|
||||||
|
if
|
||||||
|
case $arg in #(
|
||||||
|
-*) false ;; # don't mess with options #(
|
||||||
|
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||||
|
[ -e "$t" ] ;; #(
|
||||||
|
*) false ;;
|
||||||
|
esac
|
||||||
|
then
|
||||||
|
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||||
|
fi
|
||||||
|
# Roll the args list around exactly as many times as the number of
|
||||||
|
# args, so each arg winds up back in the position where it started, but
|
||||||
|
# possibly modified.
|
||||||
|
#
|
||||||
|
# NB: a `for` loop captures its iteration list before it begins, so
|
||||||
|
# changing the positional parameters here affects neither the number of
|
||||||
|
# iterations, nor the values presented in `arg`.
|
||||||
|
shift # remove old arg
|
||||||
|
set -- "$@" "$arg" # push replacement arg
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
|
|
||||||
|
# Collect all arguments for the java command;
|
||||||
|
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
||||||
|
# shell script including quotes and variable substitutions, so put them in
|
||||||
|
# double quotes to make sure that they get re-expanded; and
|
||||||
|
# * put everything else in single quotes, so that it's not re-expanded.
|
||||||
|
|
||||||
|
set -- \
|
||||||
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||||
|
-classpath "$CLASSPATH" \
|
||||||
|
org.gradle.wrapper.GradleWrapperMain \
|
||||||
|
"$@"
|
||||||
|
|
||||||
|
# Stop when "xargs" is not available.
|
||||||
|
if ! command -v xargs >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
die "xargs is not available"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use "xargs" to parse quoted args.
|
||||||
|
#
|
||||||
|
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||||
|
#
|
||||||
|
# In Bash we could simply go:
|
||||||
|
#
|
||||||
|
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||||
|
# set -- "${ARGS[@]}" "$@"
|
||||||
|
#
|
||||||
|
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||||
|
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||||
|
# character that might be a shell metacharacter, then use eval to reverse
|
||||||
|
# that process (while maintaining the separation between arguments), and wrap
|
||||||
|
# the whole thing up as a single "set" statement.
|
||||||
|
#
|
||||||
|
# This will of course break if any of these variables contains a newline or
|
||||||
|
# an unmatched quote.
|
||||||
|
#
|
||||||
|
|
||||||
|
eval "set -- $(
|
||||||
|
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||||
|
xargs -n1 |
|
||||||
|
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||||
|
tr '\n' ' '
|
||||||
|
)" '"$@"'
|
||||||
|
|
||||||
|
exec "$JAVACMD" "$@"
|
||||||
92
gradlew.bat
vendored
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
@rem
|
||||||
|
@rem Copyright 2015 the original author or authors.
|
||||||
|
@rem
|
||||||
|
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
@rem you may not use this file except in compliance with the License.
|
||||||
|
@rem You may obtain a copy of the License at
|
||||||
|
@rem
|
||||||
|
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
@rem
|
||||||
|
@rem Unless required by applicable law or agreed to in writing, software
|
||||||
|
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@rem See the License for the specific language governing permissions and
|
||||||
|
@rem limitations under the License.
|
||||||
|
@rem
|
||||||
|
|
||||||
|
@if "%DEBUG%"=="" @echo off
|
||||||
|
@rem ##########################################################################
|
||||||
|
@rem
|
||||||
|
@rem Gradle startup script for Windows
|
||||||
|
@rem
|
||||||
|
@rem ##########################################################################
|
||||||
|
|
||||||
|
@rem Set local scope for the variables with windows NT shell
|
||||||
|
if "%OS%"=="Windows_NT" setlocal
|
||||||
|
|
||||||
|
set DIRNAME=%~dp0
|
||||||
|
if "%DIRNAME%"=="" set DIRNAME=.
|
||||||
|
@rem This is normally unused
|
||||||
|
set APP_BASE_NAME=%~n0
|
||||||
|
set APP_HOME=%DIRNAME%
|
||||||
|
|
||||||
|
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||||
|
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||||
|
|
||||||
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
|
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||||
|
|
||||||
|
@rem Find java.exe
|
||||||
|
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||||
|
|
||||||
|
set JAVA_EXE=java.exe
|
||||||
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
|
if %ERRORLEVEL% equ 0 goto execute
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
echo.
|
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
echo location of your Java installation.
|
||||||
|
|
||||||
|
goto fail
|
||||||
|
|
||||||
|
:findJavaFromJavaHome
|
||||||
|
set JAVA_HOME=%JAVA_HOME:"=%
|
||||||
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||||
|
|
||||||
|
if exist "%JAVA_EXE%" goto execute
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||||
|
echo.
|
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
echo location of your Java installation.
|
||||||
|
|
||||||
|
goto fail
|
||||||
|
|
||||||
|
:execute
|
||||||
|
@rem Setup the command line
|
||||||
|
|
||||||
|
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||||
|
|
||||||
|
|
||||||
|
@rem Execute Gradle
|
||||||
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||||
|
|
||||||
|
:end
|
||||||
|
@rem End local scope for the variables with windows NT shell
|
||||||
|
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||||
|
|
||||||
|
:fail
|
||||||
|
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||||
|
rem the _cmd.exe /c_ return code!
|
||||||
|
set EXIT_CODE=%ERRORLEVEL%
|
||||||
|
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||||
|
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||||
|
exit /b %EXIT_CODE%
|
||||||
|
|
||||||
|
:mainEnd
|
||||||
|
if "%OS%"=="Windows_NT" endlocal
|
||||||
|
|
||||||
|
:omega
|
||||||
22
settings.gradle.kts
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
rootProject.name = "PokeDex"
|
||||||
|
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
|
||||||
|
|
||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
|
||||||
|
google()
|
||||||
|
gradlePluginPortal()
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencyResolutionManagement {
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
mavenCentral()
|
||||||
|
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
|
||||||
|
maven { url = uri("https://jitpack.io") } // for moko-media android picker
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
include(":composeApp")
|
||||||