commit 03f77086c74d5c91656e6d3866002c6fa805f580
parent 52070b7ae5e6ecca07e9ebbf2926306110eb804b
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Wed, 30 Jul 2025 15:56:19 +0200
Expose topbar actions, add onboarding illustrations and fix tab switching on the Day view
Diffstat:
6 files changed, 186 insertions(+), 39 deletions(-)
diff --git a/app/src/main/java/space/midnightthoughts/nordiccalendar/components/AppScaffold.kt b/app/src/main/java/space/midnightthoughts/nordiccalendar/components/AppScaffold.kt
@@ -1,5 +1,6 @@
package space.midnightthoughts.nordiccalendar.components
+import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.material.icons.Icons
@@ -35,7 +36,8 @@ private fun AppScaffoldContent(
onBackClick: (() -> Unit)? = null,
floatingActionButton: (@Composable () -> Unit)? = null,
content: @Composable (Modifier) -> Unit,
- onMenuClick: (() -> Unit)? = null
+ onMenuClick: (() -> Unit)? = null,
+ actions: @Composable RowScope.() -> Unit = {}
) {
Scaffold(
topBar = {
@@ -47,6 +49,7 @@ private fun AppScaffoldContent(
Text(title)
}
},
+ actions = actions,
navigationIcon = {
if (isBackButtonVisible) {
IconButton(
@@ -88,7 +91,8 @@ fun AppScaffold(
navController: NavController,
floatingActionButton: (@Composable () -> Unit)? = null,
onBackClick: (() -> Unit)? = null,
- content: @Composable (Modifier) -> Unit
+ actions: @Composable RowScope.() -> Unit = {},
+ content: @Composable (Modifier) -> Unit,
) {
val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed)
val scope = rememberCoroutineScope()
@@ -112,6 +116,7 @@ fun AppScaffold(
) {
AppScaffoldContent(
title = title,
+ actions = actions,
isBackButtonVisible = isBackButtonVisible,
navController = navController,
onBackClick = {
diff --git a/app/src/main/java/space/midnightthoughts/nordiccalendar/onboarding/Onboarding.kt b/app/src/main/java/space/midnightthoughts/nordiccalendar/onboarding/Onboarding.kt
@@ -37,11 +37,13 @@ data class OnBoardModel(
val onBoardingData = listOf(
// Explain the purpose of the app
OnBoardModel(
+ imageRes = R.drawable.calendar_illustration,
titleRes = R.string.onboarding_intro_title,
descriptionRes = R.string.onboarding_intro_text
),
// Ask for permissions
OnBoardModel(
+ imageRes = R.drawable.permission_illustration,
titleRes = R.string.onboarding_permissions_title,
descriptionRes = R.string.onboarding_permissions_text,
permissionRequest = listOf(
diff --git a/app/src/main/java/space/midnightthoughts/nordiccalendar/screens/DayView.kt b/app/src/main/java/space/midnightthoughts/nordiccalendar/screens/DayView.kt
@@ -47,14 +47,12 @@ import androidx.compose.ui.semantics.collectionItemInfo
import androidx.compose.ui.semantics.heading
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.text.style.TextOverflow
-import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
import kotlinx.coroutines.delay
import space.midnightthoughts.nordiccalendar.getCurrentAppLocale
-import space.midnightthoughts.nordiccalendar.util.Calendar
import space.midnightthoughts.nordiccalendar.util.Event
import space.midnightthoughts.nordiccalendar.viewmodels.CalendarViewModel
import java.time.ZoneId
@@ -390,36 +388,4 @@ private fun EventCard(
}
}
}
-}
-
-@Preview
-@Composable
-fun EventCardPreview() {
- val sampleEvent = Event(
- id = 1L,
- eventId = 1L,
- title = "Beispiel Event",
- description = "Dies ist eine Beschreibung des Beispiel-Events.",
- startTime = System.currentTimeMillis(),
- endTime = System.currentTimeMillis() + 3600000, // 1 Stunde später
- calendarId = 1L,
- location = "Beispielort",
- allDay = false,
- organizer = "Beispielorganisator",
- calendar = Calendar(
- id = 1L,
- name = "Beispielkalender",
- color = 0xFF6200EE, // Beispiel-Farbe
- selected = true,
- accountName = "Beispielkonto",
- accountType = "com.example",
- syncEvents = true,
- visible = true,
- displayName = "Beispielkalender",
- )
- )
- EventCard(
- event = sampleEvent,
- isCompact = false,
- )
-}
+}
+\ No newline at end of file
diff --git a/app/src/main/java/space/midnightthoughts/nordiccalendar/viewmodels/CalendarViewModel.kt b/app/src/main/java/space/midnightthoughts/nordiccalendar/viewmodels/CalendarViewModel.kt
@@ -33,6 +33,8 @@ class CalendarViewModel @Inject constructor(
private val _selectedTab = MutableStateFlow(0)
val selectedTab: StateFlow<Int> = _selectedTab.asStateFlow()
+ private val _dateArg = MutableStateFlow<String?>(null)
+
init {
val tab = savedStateHandle.get<Int?>("tab")
if (tab != null) {
@@ -41,13 +43,13 @@ class CalendarViewModel @Inject constructor(
val dateArg = savedStateHandle.get<String?>("date")
if (dateArg != null) {
setDayFromString(dateArg)
+ _dateArg.value = dateArg
}
}
fun setTab(tab: Int) {
_selectedTab.value = tab
- // Nur Standardzeitraum setzen, wenn Tab nicht Tag ist oder noch kein Tag gesetzt wurde
- if (tab != 2 || startMillis.value == 0L) {
+ if (_dateArg.value == null) {
val start = getDefaultStartMillis(tab)
val end = getDefaultEndMillis(tab)
repository.setTimeRange(start, end)
diff --git a/app/src/main/res/drawable/calendar_illustration.xml b/app/src/main/res/drawable/calendar_illustration.xml
@@ -0,0 +1,96 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="711.16dp"
+ android:height="611.37dp"
+ android:viewportWidth="711.16"
+ android:viewportHeight="611.37">
+ <path
+ android:pathData="M282.25,169.96c0.17,0.64 -0.29,1.09 -0.96,0.96 -13.1,-5.4 -58.73,-27.19 -59.53,-40.23 48.42,20.16 83.01,-57.18 77.37,-84.16 -3.02,15.02 -32.19,33.79 -45.32,30.86 -1.47,-0.33 -18.04,19.12 -13.02,22.66 -6.49,10.01 -12.97,59.11 -21.21,62.19 -0.27,0.1 -0.66,-0.09 -0.96,0 -33.07,-10.51 -60.72,-6.56 -80.99,-40.98 -13.45,-22.84 -2.73,-16.75 12.05,-26.52 29.3,-19.36 19.13,-31.74 34.23,-58.34 33.69,-59.35 103.26,-35.39 120.53,-3.86 20.49,37.41 -8.44,88.74 24.11,129.21 -14.7,6.25 -43.11,5.19 -46.76,6.27 -1.9,0.56 0.46,1.83 0.48,1.93Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M174.45,75.48c0,-36.66 29.72,-66.38 66.38,-66.38 36.66,0 66.38,29.72 66.38,66.38 0,29.73 -19.55,54.89 -46.49,63.34l-9.9,7.97 17.77,62.19 -20.7,14.65 -65.42,-54.51s14.13,-18 21.71,-38.3c-17.91,-11.89 -29.73,-32.23 -29.73,-55.34Z"
+ android:fillColor="#ffb6b6"/>
+ <path
+ android:pathData="M470.99,245.56l-47.56,165.27 -48.09,-33.38 56.68,-144.19c-4.94,-9.15 -6.17,-21.19 -2.42,-33.08 6.57,-20.81 25.85,-33.27 43.08,-27.83 17.22,5.44 25.86,26.71 19.29,47.52 -3.75,11.89 -11.67,21.04 -20.97,25.7Z"
+ android:fillColor="#ffb6b6"/>
+ <path
+ android:pathData="M140.72,310.81h171.55v199.81h-171.55z"
+ android:fillColor="#ffb6b6"/>
+ <path
+ android:pathData="M431.95,611.37H32.51c-1.29,-0.1 -2.25,-1.22 -2.17,-2.52 -0.08,-1.28 0.87,-2.41 2.17,-2.5h399.44c1.14,0.14 2.04,1.04 2.18,2.18 0.18,1.39 -0.79,2.66 -2.18,2.84Z"
+ android:fillColor="#ccc"/>
+ <path
+ android:pathData="M198.3,151.48l-40.78,93.13l4.04,160.06l137.83,0l4.33,-169.83l-51.17,-78.87l-54.24,-4.48z"
+ android:fillColor="#6c63ff"/>
+ <path
+ android:pathData="M116.37,188.54s-11.94,342.47 -44,398.99c0,0 44.3,7.72 55.57,-8.25 11.27,-15.97 54.73,-122.27 55.2,-145.81 0.47,-23.54 14.09,-282.1 14.09,-282.1l-80.86,37.17Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M248.94,165.38l3.6,-9.41 91.41,36.3s-4.27,342.25 32.74,376.83c0,0 -61.82,-2.95 -63.87,-4.37s-46.93,-178.39 -46.93,-178.39c0,0 21.39,-81.99 23.05,-116.99 1.65,-35.01 -39.99,-103.97 -39.99,-103.97Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M130.19,435.61l-38.91,118.24l-2.32,56.54l287.71,0l-55.49,-174.78l-190.99,0z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M320.76,198.96l23.19,-6.69 53.33,108 22.86,-59.16 56.47,16.13s-25.67,166.56 -64.47,157.6c-38.8,-8.96 -91.38,-100.43 -91.38,-100.43v-115.47Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M92.13,528.77L14.3,415.63l35.78,-31.48 73.14,123.15c9.49,1.58 18.97,7.51 25.52,16.99 11.47,16.6 9.63,37.74 -4.1,47.24 -13.73,9.49 -34.17,3.73 -45.63,-12.87 -6.55,-9.49 -8.74,-20.45 -6.87,-29.88Z"
+ android:fillColor="#ffb6b6"/>
+ <path
+ android:pathData="M130.19,198.09l-13.81,-9.55L3.36,402s-9.17,12.87 2.79,33.61c11.96,20.74 73.39,84.25 73.39,84.25l48.4,-27.34 -49.3,-91.87 46.47,-80.37 5.07,-122.19Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M299.12,46.54c-3.02,15.02 -63.36,49.97 -58.34,53.51 -6.49,10.01 -12.97,59.11 -21.21,62.19 -0.27,0.1 -0.66,-0.09 -0.96,0 -33.07,-10.51 -60.72,-6.56 -80.99,-40.98 -13.45,-22.84 -2.73,-16.75 12.05,-26.52 29.3,-19.36 19.13,-31.74 34.23,-58.34 33.69,-59.35 103.26,-35.39 120.53,-3.86 20.49,37.41 0.33,40.96 -5.3,13.98Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M277.18,207.44h433.98v394.31h-433.98z"
+ android:fillColor="#d6d6e3"/>
+ <path
+ android:pathData="M680.66,573.58h-377.65v-274.99h377.65v274.99ZM305.01,571.58h373.65v-270.99h-373.65v270.99Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M306.35,344.47h373.31v2h-373.31z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M356.68,298.43h2v272.99h-2z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M408.01,298.43h2v272.99h-2z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M459.34,298.43h2v272.99h-2z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M515.34,298.43h2v272.99h-2z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M569,298.43h2v272.99h-2z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M625,298.43h2v272.99h-2z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M307.51,389.59h373.31v2h-373.31z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M304.01,434.72h373.31v2h-373.31z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M302.85,479.85h373.31v2h-373.31z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M304.01,524.98h373.31v2h-373.31z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M362.66,495.79h36v10h-36z"
+ android:fillColor="#6c63ff"/>
+ <path
+ android:pathData="M417.16,454.29h36v10h-36z"
+ android:fillColor="#6c63ff"/>
+ <path
+ android:pathData="M523.16,357.29h36v10h-36z"
+ android:fillColor="#6c63ff"/>
+ <path
+ android:pathData="M416.16,496.29h36v10h-36z"
+ android:fillColor="#6c63ff"/>
+</vector>
diff --git a/app/src/main/res/drawable/permission_illustration.xml b/app/src/main/res/drawable/permission_illustration.xml
@@ -0,0 +1,75 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="800.03dp"
+ android:height="758.4dp"
+ android:viewportWidth="800.03"
+ android:viewportHeight="758.4">
+ <path
+ android:pathData="M0,758.4L800.04,758.4C352.19,638.95 65.49,745.32 0,758.4Z"
+ android:fillColor="#f2f2f2"/>
+ <path
+ android:pathData="M637.28,705.75a2.36,2.36 0,0 0,2.12 -3.88l-0.09,-0.65a6.33,6.33 0,0 1,11.68 1.11c2.1,6.79 4.99,13.89 2.45,20.86 14.41,-23.78 13.65,-55.3 -1.55,-78.51a19.3,19.3 0,0 1,-8.4 -13.87c2.3,1.06 5.48,-0.57 3.95,-3.27 -0.68,-1.04 -1.36,-2.08 -2.04,-3.12 10.07,-8.7 19.28,7.59 7.95,19.58a75.49,75.49 0,0 1,7.05 14.07,31.74 31.74,0 0,1 3.42,-14.47c2.26,-4.16 6.02,-7.47 9.4,-10.93a6.52,6.52 0,0 1,11.21 4.56c-3.46,0.75 -4.39,5.53 -0.64,6.59A32.5,32.5 0,0 1,663.3 667.46a75.79,75.79 0,0 1,0.82 31.94c3.02,-12.3 16.73,-13.93 26.61,-17.91a3.67,3.67 0,0 1,5.18 4.28,21.17 21.17,0 0,0 -3.9,1.56 3.2,3.2 0,0 0,0.87 5.97c-5.94,11.19 -18.96,17.75 -31.48,16.4a77.92,77.92 0,0 1,-6.8 14.65l-18.6,-1.94c-0.05,-0.21 -0.08,-0.43 -0.12,-0.65a21.24,21.24 0,0 0,5.18 0.23c-3.99,-5.87 -7.22,-8.99 -3.79,-16.24Z"
+ android:fillColor="#f2f2f2"/>
+ <path
+ android:pathData="M626.83,49.49m-49.49,0a49.49,49.49 0,1 1,98.99 0a49.49,49.49 0,1 1,-98.99 0"
+ android:fillColor="#f2f2f2"/>
+ <path
+ android:pathData="M737.59,26.06c-2.85,-9.58 -10.94,-15.85 -20.7,-17.22a2,2 0,0 0,-0.33 0,2.63 2.63,0 0,0 -0.41,-0.09c-16.57,-2.15 -35,3.08 -47.4,14.46l-0.14,0.13a25.1,25.1 0,0 1,-23.77 5.76,22.04 22.04,0 0,0 -6.97,-0.77A24.44,24.44 0,0 0,616 45.94a2.83,2.83 0,0 0,1.28 3.13,12.37 12.37,0 0,0 5.17,2.63c4.1,0.87 8.23,1.67 12.36,2.39q12.12,2.11 24.38,3.43 8.09,0.86 16.22,1.37c11.2,0.7 22.45,0.87 33.66,0.52 5.56,-0.19 10.9,-0.37 15.98,-2.82a23.72,23.72 0,0 0,9.18 -7.99,26.97 26.97,0 0,0 3.37,-22.56Z"
+ android:fillColor="#f2f2f2"/>
+ <path
+ android:pathData="M635.77,98.16a25.3,25.3 0,0 0,-1.04 -6.12c-2.87,-9.58 -10.95,-15.85 -20.72,-17.22a1.79,1.79 0,0 0,-0.31 0,3.51 3.51,0 0,0 -0.43,-0.09 61.53,61.53 0,0 0,-27.23 2.8,56.2 56.2,0 0,0 -20.29,11.77 25.09,25.09 0,0 1,-23.77 5.77,22.11 22.11,0 0,0 -6.98,-0.77 24.44,24.44 0,0 0,-21.87 17.63,2.88 2.88,0 0,0 1.28,3.13 12.48,12.48 0,0 0,5.17 2.63c4.11,0.87 8.23,1.67 12.38,2.39q12.12,2.11 24.36,3.43a361.76,361.76 0,0 0,49.9 1.89c5.54,-0.19 10.9,-0.37 15.98,-2.82a23.67,23.67 0,0 0,9.16 -7.99A26.44,26.44 0,0 0,635.77 98.16Z"
+ android:fillColor="#f2f2f2"/>
+ <path
+ android:pathData="M626.83,49.49m-49.49,0a49.49,49.49 0,1 1,98.99 0a49.49,49.49 0,1 1,-98.99 0"
+ android:fillColor="#6c63ff"/>
+ <path
+ android:pathData="M737.59,26.06c-2.85,-9.58 -10.94,-15.85 -20.7,-17.22a2,2 0,0 0,-0.33 0,2.63 2.63,0 0,0 -0.41,-0.09c-16.57,-2.15 -35,3.08 -47.4,14.46l-0.14,0.13a25.1,25.1 0,0 1,-23.77 5.76,22.04 22.04,0 0,0 -6.97,-0.77A24.44,24.44 0,0 0,616 45.94a2.83,2.83 0,0 0,1.28 3.13,12.37 12.37,0 0,0 5.17,2.63c4.1,0.87 8.23,1.67 12.36,2.39q12.12,2.11 24.38,3.43 8.09,0.86 16.22,1.37c11.2,0.7 22.45,0.87 33.66,0.52 5.56,-0.19 10.9,-0.37 15.98,-2.82a23.72,23.72 0,0 0,9.18 -7.99,26.97 26.97,0 0,0 3.37,-22.56Z"
+ android:fillColor="#e6e6e6"/>
+ <path
+ android:pathData="M635.77,98.16a25.3,25.3 0,0 0,-1.04 -6.12c-2.87,-9.58 -10.95,-15.85 -20.72,-17.22a1.79,1.79 0,0 0,-0.31 0,3.51 3.51,0 0,0 -0.43,-0.09 61.53,61.53 0,0 0,-27.23 2.8,56.2 56.2,0 0,0 -20.29,11.77 25.09,25.09 0,0 1,-23.77 5.77,22.11 22.11,0 0,0 -6.98,-0.77 24.44,24.44 0,0 0,-21.87 17.63,2.88 2.88,0 0,0 1.28,3.13 12.48,12.48 0,0 0,5.17 2.63c4.11,0.87 8.23,1.67 12.38,2.39q12.12,2.11 24.36,3.43a361.76,361.76 0,0 0,49.9 1.89c5.54,-0.19 10.9,-0.37 15.98,-2.82a23.67,23.67 0,0 0,9.16 -7.99A26.44,26.44 0,0 0,635.77 98.16Z"
+ android:fillColor="#e6e6e6"/>
+ <path
+ android:pathData="M421.2,305.32l-43.03,3.76a8.31,8.31 130.01,0 0,-7.55 9l0.5,5.71a8.31,8.31 130.01,0 0,9 7.55l16.45,-1.44L395.56,387.01a8.29,8.29 130.01,0 0,-3.32 6.31l-1.74,43.15a8.3,8.3 130.01,0 0,4.05 7.47l-3.08,175.34L368.66,659.3L156.33,677.85a3.32,3.32 130.01,0 0,0.58 6.62L173.45,683.02a22.01,22.01 130.01,1 0,26.28 -2.3L370.98,665.77a3.32,3.32 130.01,0 0,2.6 -1.66l18.83,-33.02l2.48,28.41a22.01,22.01 130.01,1 0,6.62 -0.54L398.11,620.08l3.08,-175.33a8.3,8.3 130.01,0 0,5.91 -7.62l1.74,-43.15a8.3,8.3 130.01,0 0,-6.61 -8.46l0.99,-56.21l19.92,-1.74a8.31,8.31 130.01,0 0,7.55 -9L430.19,312.87A8.31,8.31 130.01,0 0,421.2 305.32Z"
+ android:fillColor="#3f3d56"/>
+ <path
+ android:pathData="M273.45,175.54s-4.65,14.98 -1.82,25.98l-16.28,1.11L241.51,194.46L242.17,185.05S249.89,171.19 249.26,154.49Z"
+ android:fillColor="#ffb9b9"/>
+ <path
+ android:pathData="M168.73,644.95l20.44,8.04L208.69,607.9 187.56,598.6Z"
+ android:fillColor="#ffb7b7"/>
+ <path
+ android:pathData="M304.93,649.75l18.83,-1.65L323.82,597.89L300.57,599.92Z"
+ android:fillColor="#ffb7b7"/>
+ <path
+ android:pathData="M208.99,248.56s-9.23,-5.87 -7.82,10.32L204.48,312.5l19.67,49.21L231.6,344.55 224.85,309.35Z"
+ android:fillColor="#6c63ff"/>
+ <path
+ android:pathData="M314.32,386.82s14.3,47.98 5.09,89.19l6.44,154.78L299.93,631.02l-19.01,-113.58L267.26,461.36 253.73,514.76 203.78,629.65 174.49,610.64s23.14,-85.57 44.07,-104.94L218.62,376.49Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M250.91,175.46a29.47,29.47 68.67,1 0,23.66 -53.98a29.47,29.47 68.67,1 0,-23.66 53.98z"
+ android:fillColor="#ffb7b7"/>
+ <path
+ android:pathData="M261.21,154.87c3.56,0.15 5.9,-3.68 6.84,-7.12s1.54,-7.39 4.44,-9.46c3.97,-2.82 9.57,-0.33 14.28,-1.56 5.32,-1.39 8.33,-7.42 8.13,-12.91S292.07,113.26 289.49,108.4l-0.2,6.33A12.47,12.47 130.01,0 0,282.91 104.35l1.76,9.11A9.8,9.8 130.01,0 0,272.74 106.37l0.63,5.46C267.07,111.63 260.71,111.44 254.51,112.55s-12.33,3.64 -16.71,8.17C231.25,127.51 229.54,137.88 231.23,147.15s6.31,17.73 11.08,25.86c1.2,2.05 2.81,4.33 5.18,4.4 2.13,0.06 3.91,-1.87 4.39,-3.95a12.87,12.87 130.01,0 0,-0.61 -6.3c-0.87,-3.1 -1.9,-6.26 -1.62,-9.47s2.28,-6.53 5.43,-7.19 6.73,2.69 5.44,5.65Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M317.28,399.72 L218.72,401.96 223.43,370.76 314.75,382.95Z"
+ android:fillColor="#d6d6e3"/>
+ <path
+ android:pathData="M238.14,190.96 L243.54,181.89s7.08,1.73 26.28,9.29l2,7.88 49.1,193.66 -58.27,2.57 -15.84,1.04 -6.19,-11.15 -5.39,11.91 -15.47,1.02L203.26,390.38l11.35,-48.71 1.23,-43.69L204.53,257.9S191.52,221.32 227.27,197.86Z"
+ android:fillColor="#6c63ff"/>
+ <path
+ android:pathData="M381.98,328.24a10.07,10.07 130.01,0 1,-13.27 -7.91L333.47,314.12 346.25,300.6 377.77,308.58a10.13,10.13 130.01,0 1,4.22 19.66Z"
+ android:fillColor="#ffb7b7"/>
+ <path
+ android:pathData="M366.1,324.38a5.9,5.9 130.01,0 1,-4.74 0.8L302.83,308.63a60.73,60.73 130.01,0 1,-34.97 -24.6L240.55,243.94A18.99,18.99 130.01,1 1,266.57 216.28L313.13,277.53l54.1,25.68a5.91,5.91 130.01,0 1,3.05 6.05l-1.61,11.07a5.9,5.9 130.01,0 1,-1.52 3.17,5.84 5.84,130.01 0,1 -1.05,0.89Z"
+ android:fillColor="#6c63ff"/>
+ <path
+ android:pathData="M323.67,643.66l22.58,9.17s34.52,5.11 13.09,13.73 -31.76,4.73 -31.76,4.73S298.9,675.3 298.66,667.23 302.98,647.37 302.98,647.37 322.7,650.72 323.67,643.66Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M192.81,644.83 L210.53,658.58s31.77,14.44 8.79,16.81S187.49,671.17 187.49,671.17 158.83,667.11 160.83,659.28 170.46,641.39 170.46,641.39 189.93,651.34 192.81,644.83Z"
+ android:fillColor="#090814"/>
+ <path
+ android:pathData="M417.56,37.24a25.3,25.3 0,0 0,-1.04 -6.12c-2.87,-9.58 -10.95,-15.85 -20.72,-17.22a1.79,1.79 0,0 0,-0.31 0,3.51 3.51,0 0,0 -0.43,-0.09 61.53,61.53 0,0 0,-27.23 2.8,56.2 56.2,0 0,0 -20.29,11.77 25.09,25.09 0,0 1,-23.77 5.77,22.11 22.11,0 0,0 -6.98,-0.77 24.44,24.44 0,0 0,-21.87 17.63,2.88 2.88,0 0,0 1.28,3.13 12.48,12.48 0,0 0,5.17 2.63c4.11,0.87 8.23,1.67 12.38,2.39q12.12,2.11 24.36,3.43a361.76,361.76 0,0 0,49.9 1.89c5.54,-0.19 10.9,-0.37 15.98,-2.82a23.67,23.67 0,0 0,9.16 -7.99A26.44,26.44 0,0 0,417.56 37.24Z"
+ android:fillColor="#e6e6e6"/>
+</vector>