diff --git a/frontend/app/build.gradle.kts b/frontend/app/build.gradle.kts index 4192495..d3e1b0b 100644 --- a/frontend/app/build.gradle.kts +++ b/frontend/app/build.gradle.kts @@ -7,11 +7,11 @@ plugins { android { namespace = "dev.svitan.antifed" - compileSdk = 35 + compileSdk = 37 defaultConfig { applicationId = "dev.svitan.antifed" - minSdk = 33 + minSdk = 34 targetSdk = 35 versionCode = 1 versionName = "1.0" diff --git a/frontend/app/src/main/java/dev/svitan/antifed/API.kt b/frontend/app/src/main/java/dev/svitan/antifed/API.kt index 19f084d..70321cf 100644 --- a/frontend/app/src/main/java/dev/svitan/antifed/API.kt +++ b/frontend/app/src/main/java/dev/svitan/antifed/API.kt @@ -17,6 +17,7 @@ class API { json() } } + val apiDataHolder = APIDataHolder.getInstance() val authDataHolder = AuthDataHolder.getInstance() diff --git a/frontend/app/src/main/java/dev/svitan/antifed/AuthActivity.kt b/frontend/app/src/main/java/dev/svitan/antifed/AuthActivity.kt index 0da4b5c..68c0546 100644 --- a/frontend/app/src/main/java/dev/svitan/antifed/AuthActivity.kt +++ b/frontend/app/src/main/java/dev/svitan/antifed/AuthActivity.kt @@ -95,6 +95,14 @@ class AuthActivity : ComponentActivity() { } LaunchedEffect(serverUrl) { + println("SERVER URL CHANGED") + apiDataHolder.serverUrl = serverUrl + prefs.edit { + putString( + getString(R.string.server_url_key), serverUrl + ) + } + if (!needToCheckUrl) return@LaunchedEffect needToCheckUrl = false @@ -114,6 +122,13 @@ class AuthActivity : ComponentActivity() { } LaunchedEffect(token) { + apiDataHolder.token = token + prefs.edit { + putString( + getString(R.string.token_key), token + ) + } + if (!needToCheckToken) return@LaunchedEffect needToCheckToken = false isTokenOk = false @@ -137,24 +152,6 @@ class AuthActivity : ComponentActivity() { } // saves data to prefs and data holders - LaunchedEffect(serverUrl) { - apiDataHolder.serverUrl = serverUrl - prefs.edit { - putString( - getString(R.string.server_url_key), serverUrl - ) - } - } - - LaunchedEffect(token) { - apiDataHolder.token = token - prefs.edit { - putString( - getString(R.string.token_key), token - ) - } - } - LaunchedEffect(isServerUrlOk) { apiDataHolder.isOk = isServerUrlOk && isTokenOk prefs.edit { @@ -219,7 +216,6 @@ class AuthActivity : ComponentActivity() { onValueChange = { serverUrl = it needToCheckUrl = true - }, label = { Text(stringResource(R.string.server_url)) }, singleLine = true, @@ -282,4 +278,13 @@ class AuthActivity : ComponentActivity() { } } } + + override fun finish() { + super.finish() + overrideActivityTransition( + OVERRIDE_TRANSITION_CLOSE, + R.anim.slide_in_left, + R.anim.slide_out_right + ) + } } diff --git a/frontend/app/src/main/java/dev/svitan/antifed/MainActivity.kt b/frontend/app/src/main/java/dev/svitan/antifed/MainActivity.kt index 05abb10..deb10dd 100644 --- a/frontend/app/src/main/java/dev/svitan/antifed/MainActivity.kt +++ b/frontend/app/src/main/java/dev/svitan/antifed/MainActivity.kt @@ -1,5 +1,6 @@ package dev.svitan.antifed +import android.app.ActivityOptions import android.content.Intent import android.os.Bundle import androidx.activity.ComponentActivity @@ -33,7 +34,6 @@ import androidx.compose.material3.rememberDrawerState import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import dev.svitan.antifed.ui.theme.AntiFedTheme @@ -44,9 +44,9 @@ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() + setContent { AntiFedTheme { - val context = LocalContext.current val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed) val scope = rememberCoroutineScope() @@ -113,12 +113,10 @@ class MainActivity : ComponentActivity() { }, actions = { IconButton(onClick = { - context.startActivity( - Intent( - context, - AuthActivity::class.java - ) - ) + val intent = + Intent(this@MainActivity, AuthActivity::class.java) + startActivity(intent) + overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left) }) { Icon( imageVector = Icons.Outlined.AccountCircle, diff --git a/frontend/app/src/main/res/anim/slide_in_left.xml b/frontend/app/src/main/res/anim/slide_in_left.xml new file mode 100644 index 0000000..dcc2795 --- /dev/null +++ b/frontend/app/src/main/res/anim/slide_in_left.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/frontend/app/src/main/res/anim/slide_in_right.xml b/frontend/app/src/main/res/anim/slide_in_right.xml new file mode 100644 index 0000000..03f9164 --- /dev/null +++ b/frontend/app/src/main/res/anim/slide_in_right.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/frontend/app/src/main/res/anim/slide_out_left.xml b/frontend/app/src/main/res/anim/slide_out_left.xml new file mode 100644 index 0000000..7e11c3f --- /dev/null +++ b/frontend/app/src/main/res/anim/slide_out_left.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/frontend/app/src/main/res/anim/slide_out_right.xml b/frontend/app/src/main/res/anim/slide_out_right.xml new file mode 100644 index 0000000..cc54fd8 --- /dev/null +++ b/frontend/app/src/main/res/anim/slide_out_right.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/frontend/build.gradle.kts b/frontend/build.gradle.kts index 5ba8ae0..88ea69c 100644 --- a/frontend/build.gradle.kts +++ b/frontend/build.gradle.kts @@ -4,4 +4,4 @@ plugins { alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.kotlin.serialization) apply false -} \ No newline at end of file +}