diff --git a/app/src/main/java/ru/megboyzz/studentq/MainActivity.kt b/app/src/main/java/ru/megboyzz/studentq/MainActivity.kt
index a74689f..faa3c6a 100644
--- a/app/src/main/java/ru/megboyzz/studentq/MainActivity.kt
+++ b/app/src/main/java/ru/megboyzz/studentq/MainActivity.kt
@@ -13,8 +13,10 @@ import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.unit.Dp
import com.vk.api.sdk.VK
import com.vk.api.sdk.VKApiCallback
@@ -44,6 +46,9 @@ fun Dp.SpacerWidth() = Spacer(Modifier.width(this))
@Composable
fun Dp.SpacerHeight() = Spacer(Modifier.height(this))
+@Composable
+fun Int.AsImageVector() = ImageVector.vectorResource(this)
+
class MainActivity : ComponentActivity() {
diff --git a/app/src/main/java/ru/megboyzz/studentq/navigation/AppNavHost.kt b/app/src/main/java/ru/megboyzz/studentq/navigation/AppNavHost.kt
index 5232af2..de21cc8 100644
--- a/app/src/main/java/ru/megboyzz/studentq/navigation/AppNavHost.kt
+++ b/app/src/main/java/ru/megboyzz/studentq/navigation/AppNavHost.kt
@@ -7,6 +7,9 @@ import androidx.navigation.compose.rememberNavController
import ru.megboyzz.studentq.screens.*
sealed class AppNavRoute(val route: String){
+
+ object Splash : AppNavRoute("splash_screen")
+
object Auth: AppNavRoute("auth_screen")
object Queues: AppNavRoute("all_queues_screen")
object Queue: AppNavRoute("in_queue_screen")
@@ -19,8 +22,9 @@ fun AppNavHost(){
val navController = rememberNavController()
NavHost(
navController = navController,
- startDestination = AppNavRoute.Auth.route
+ startDestination = AppNavRoute.Splash.route
){
+ composable(AppNavRoute.Splash.route) { SplashScreen(navController) }
composable(AppNavRoute.Auth.route) { Auth(navController) }
composable(AppNavRoute.Queues.route) { Queues(navController) }
composable(AppNavRoute.Queue.route) { Queue(navController) }
diff --git a/app/src/main/java/ru/megboyzz/studentq/screens/Splash.kt b/app/src/main/java/ru/megboyzz/studentq/screens/Splash.kt
new file mode 100644
index 0000000..6813325
--- /dev/null
+++ b/app/src/main/java/ru/megboyzz/studentq/screens/Splash.kt
@@ -0,0 +1,61 @@
+package ru.megboyzz.studentq.screens
+
+import androidx.compose.animation.core.animateFloatAsState
+import androidx.compose.animation.core.tween
+import androidx.compose.foundation.background
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.size
+import androidx.compose.material.Icon
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.Email
+import androidx.compose.runtime.*
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.alpha
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.unit.dp
+import androidx.navigation.NavHostController
+import kotlinx.coroutines.delay
+import ru.megboyzz.studentq.AsImageVector
+import ru.megboyzz.studentq.AsPainter
+import ru.megboyzz.studentq.R
+import ru.megboyzz.studentq.navigation.AppNavRoute
+
+@Composable
+fun SplashScreen(navHostController: NavHostController){
+ var startAnimation by remember { mutableStateOf(false) }
+ val alphaAnim = animateFloatAsState(
+ targetValue = if (startAnimation) 1f else 0f,
+ animationSpec = tween(
+ durationMillis = 1000
+ )
+ )
+
+ LaunchedEffect(key1 = true) {
+ startAnimation = true
+ delay(1000)
+ navHostController.popBackStack()
+ navHostController.navigate(AppNavRoute.Auth.route)
+ }
+ Splash(alpha = alphaAnim.value)
+}
+
+@Composable
+fun Splash(alpha: Float) {
+ Box(
+ modifier = Modifier.fillMaxSize(),
+ contentAlignment = Alignment.Center
+ ) {
+ Icon(
+ modifier = Modifier
+ .size(120.dp)
+ .alpha(alpha = alpha),
+ imageVector = R.drawable.icon.AsImageVector(),
+ contentDescription = "Logo Icon",
+ tint = Color.White
+ )
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
deleted file mode 100644
index f8c6127..0000000
--- a/app/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- #FFBB86FC
- #FF6200EE
- #FF3700B3
- #FF03DAC5
- #FF018786
- #FF000000
- #FFFFFFFF
-
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index c2a7473..05babe3 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -2,6 +2,6 @@
\ No newline at end of file