Skip to content

Commit e78e39b

Browse files
authored
Fix/everything (#110)
* Fixed dropdown menu * Fix take template
1 parent d61d512 commit e78e39b

15 files changed

Lines changed: 238 additions & 192 deletions

File tree

app/src/main/java/com/codekotliners/memify/App.kt

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import com.codekotliners.memify.features.settings.presentation.ui.SettingsUnLogg
3535
import com.codekotliners.memify.features.settings.presentation.viewmodel.SettingsScreenViewModel
3636
import com.codekotliners.memify.features.viewer.domain.model.ImageType
3737
import com.codekotliners.memify.features.viewer.presentation.ui.ImageViewerScreen
38+
import java.util.Base64
3839

3940
@OptIn(ExperimentalSharedTransitionApi::class)
4041
val LocalSharedTransitionScope = compositionLocalOf<SharedTransitionScope?> { null }
@@ -84,18 +85,24 @@ fun App(
8485
NavRoutes.SettingsLogged.route,
8586
) { SettingsLoggedScreen(navController, settingsViewModel) }
8687
composable(
87-
route = NavRoutes.Create.route,
88+
route = "Create?${NavRoutes.IMAGE_URL}={${NavRoutes.IMAGE_URL}}",
8889
arguments =
8990
listOf(
90-
navArgument(NavRoutes.Create.Params.IMAGE_URL) {
91+
navArgument(NavRoutes.IMAGE_URL) {
9192
type = NavType.StringType
93+
defaultValue = null
9294
nullable = true
9395
},
9496
),
9597
) { backStackEntry ->
96-
val imageUrl =
97-
backStackEntry.arguments?.getString(NavRoutes.Create.Params.IMAGE_URL)
98-
?: "https://i.ytimg.com/vi/E-EtUFH7Ezs/maxresdefault.jpg"
98+
var encoded = backStackEntry.arguments?.getString(NavRoutes.IMAGE_URL)
99+
var imageUrl =
100+
encoded
101+
?.let { Base64.getUrlDecoder().decode(it) }
102+
?.let { String(it, Charsets.UTF_8) }
103+
if (imageUrl == "") {
104+
imageUrl = null
105+
}
99106

100107
CreateScreen(
101108
navController = navController,

app/src/main/java/com/codekotliners/memify/MainActivity.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ import androidx.compose.foundation.isSystemInDarkTheme
1414
import androidx.compose.runtime.Composable
1515
import androidx.compose.runtime.SideEffect
1616
import androidx.compose.runtime.collectAsState
17+
import androidx.compose.runtime.getValue
1718
import androidx.compose.ui.graphics.toArgb
19+
import androidx.core.view.ViewCompat
20+
import androidx.core.view.WindowCompat
21+
import androidx.core.view.WindowInsetsCompat
1822
import com.codekotliners.memify.core.theme.MemifyTheme
23+
import com.codekotliners.memify.core.theme.ThemeMode
1924
import com.codekotliners.memify.core.theme.surfaceDark
2025
import com.codekotliners.memify.core.theme.surfaceLight
2126
import com.codekotliners.memify.features.settings.presentation.viewmodel.SettingsScreenViewModel
2227
import dagger.hilt.android.AndroidEntryPoint
23-
import androidx.compose.runtime.getValue
24-
import androidx.core.view.ViewCompat
25-
import androidx.core.view.WindowCompat
26-
import androidx.core.view.WindowInsetsCompat
27-
import com.codekotliners.memify.core.theme.ThemeMode
2828

2929
@Composable
3030
fun SetStatusBarBackground(window: Window, isDark: Boolean) {

app/src/main/java/com/codekotliners/memify/core/navigation/entities/NavBarItems.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ object NavBarItems {
1515
title = "Create",
1616
iconNotPressed = R.drawable.outline_add_24,
1717
iconPressed = R.drawable.outline_add_24,
18-
route = "Create",
18+
route = NavRoutes.Create.createRoute(),
1919
),
2020
BarItem(
2121
title = "Profile",

app/src/main/java/com/codekotliners/memify/core/navigation/entities/NavRoutes.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
package com.codekotliners.memify.core.navigation.entities
22

33
import com.codekotliners.memify.features.viewer.domain.model.ImageType
4+
import java.util.Base64
45

56
sealed class NavRoutes(
67
val route: String,
78
) {
89
data object Home : NavRoutes("Home")
910

1011
data object Create : NavRoutes("Create") {
11-
object Params {
12-
const val IMAGE_URL = "image_url"
12+
fun createRoute(imageUrl: String? = null): String {
13+
if (imageUrl.isNullOrEmpty()) return "Create"
14+
val b64 =
15+
Base64
16+
.getUrlEncoder()
17+
.withoutPadding()
18+
.encodeToString(imageUrl.toByteArray(Charsets.UTF_8))
19+
return "Create?image_url=$b64"
1320
}
1421
}
1522

@@ -28,6 +35,7 @@ sealed class NavRoutes(
2835
companion object {
2936
const val IMAGE_TYPE = "imageType"
3037
const val IMAGE_ID = "imageId"
38+
const val IMAGE_URL = "image_url"
3139
}
3240

3341
data object ImageViewer : NavRoutes("ImageViewer/{$IMAGE_TYPE}/{$IMAGE_ID}") {

app/src/main/java/com/codekotliners/memify/features/auth/presentation/ui/AuthScreenContent.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ fun AuthButton(
197197
text = text,
198198
style =
199199
MaterialTheme.typography.authButton.copy(
200-
fontSize = 14.sp,
200+
fontSize = 16.sp,
201201
),
202202
maxLines = 1,
203203
overflow = TextOverflow.Ellipsis,

0 commit comments

Comments
 (0)