Skip to content

Commit 07b1ec1

Browse files
committed
Add debugTools screen, add option to show onboarding
1 parent c3ec503 commit 07b1ec1

File tree

25 files changed

+254
-24
lines changed

25 files changed

+254
-24
lines changed

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ indent_style = space
77
insert_final_newline = true
88
trim_trailing_whitespace = true
99

10+
[*.xml]
11+
indent_size = 4
12+
1013
[{*.kt,*.kts}]
1114
indent_size = 4
1215
ij_kotlin_imports_layout = *

app/ios/grodno-roads-ios/AppDelegate.swift

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,3 @@ class AppDelegate: NSObject, UIApplicationDelegate {
3232
return true
3333
}
3434
}
35-
36-
/// For debug purposes. Example: show onboarding on each launch.
37-
fileprivate func resetSettings() {
38-
guard
39-
let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first,
40-
let settings = try? FileManager.default.contentsOfDirectory(
41-
at: docs, includingPropertiesForKeys: nil
42-
).first(where: { $0.lastPathComponent.contains("settings") })
43-
else {
44-
return
45-
}
46-
try? FileManager.default.removeItem(at: settings)
47-
}

kmp/compose/common-ui/src/commonMain/kotlin/com/egoriku/grodnoroads/foundation/common/ui/SettingsTopBar.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import com.egoriku.grodnoroads.foundation.preview.PreviewGrodnoRoads
2222
fun SettingsTopBar(
2323
title: String,
2424
onBack: () -> Unit,
25-
scrollBehavior: TopAppBarScrollBehavior,
26-
modifier: Modifier = Modifier
25+
modifier: Modifier = Modifier,
26+
scrollBehavior: TopAppBarScrollBehavior? = null
2727
) {
2828
CenterAlignedTopAppBar(
2929
modifier = modifier,
@@ -51,7 +51,6 @@ fun SettingsTopBar(
5151
private fun SettingsTopBarPreview() = GrodnoRoadsM3ThemePreview {
5252
SettingsTopBar(
5353
title = "Test",
54-
onBack = {},
55-
scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior()
54+
onBack = {}
5655
)
5756
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package com.egoriku.grodnoroads.foundation.icons.outlined
2+
3+
import androidx.compose.ui.graphics.Color
4+
import androidx.compose.ui.graphics.SolidColor
5+
import androidx.compose.ui.graphics.vector.ImageVector
6+
import androidx.compose.ui.graphics.vector.path
7+
import androidx.compose.ui.unit.dp
8+
import com.egoriku.grodnoroads.foundation.icons.GrodnoRoads
9+
10+
val GrodnoRoads.Outlined.Adb: ImageVector
11+
get() {
12+
if (_Adb != null) {
13+
return _Adb!!
14+
}
15+
_Adb = ImageVector.Builder(
16+
name = "Outlined.Adb",
17+
defaultWidth = 24.dp,
18+
defaultHeight = 24.dp,
19+
viewportWidth = 24f,
20+
viewportHeight = 24f
21+
).apply {
22+
path(fill = SolidColor(Color(0xFFE676FF))) {
23+
moveTo(5f, 16f)
24+
curveToRelative(0f, 3.87f, 3.13f, 7f, 7f, 7f)
25+
reflectiveCurveToRelative(7f, -3.13f, 7f, -7f)
26+
verticalLineToRelative(-4f)
27+
lineTo(5f, 12f)
28+
verticalLineToRelative(4f)
29+
close()
30+
moveTo(16.12f, 4.37f)
31+
lineToRelative(2.1f, -2.1f)
32+
lineToRelative(-0.82f, -0.83f)
33+
lineToRelative(-2.3f, 2.31f)
34+
curveTo(14.16f, 3.28f, 13.12f, 3f, 12f, 3f)
35+
reflectiveCurveToRelative(-2.16f, 0.28f, -3.09f, 0.75f)
36+
lineTo(6.6f, 1.44f)
37+
lineToRelative(-0.82f, 0.83f)
38+
lineToRelative(2.1f, 2.1f)
39+
curveTo(6.14f, 5.64f, 5f, 7.68f, 5f, 10f)
40+
verticalLineToRelative(1f)
41+
horizontalLineToRelative(14f)
42+
verticalLineToRelative(-1f)
43+
curveToRelative(0f, -2.32f, -1.14f, -4.36f, -2.88f, -5.63f)
44+
close()
45+
moveTo(9f, 9f)
46+
curveToRelative(-0.55f, 0f, -1f, -0.45f, -1f, -1f)
47+
reflectiveCurveToRelative(0.45f, -1f, 1f, -1f)
48+
reflectiveCurveToRelative(1f, 0.45f, 1f, 1f)
49+
reflectiveCurveToRelative(-0.45f, 1f, -1f, 1f)
50+
close()
51+
moveTo(15f, 9f)
52+
curveToRelative(-0.55f, 0f, -1f, -0.45f, -1f, -1f)
53+
reflectiveCurveToRelative(0.45f, -1f, 1f, -1f)
54+
reflectiveCurveToRelative(1f, 0.45f, 1f, 1f)
55+
reflectiveCurveToRelative(-0.45f, 1f, -1f, 1f)
56+
close()
57+
}
58+
}.build()
59+
60+
return _Adb!!
61+
}
62+
63+
@Suppress("ObjectPropertyName")
64+
private var _Adb: ImageVector? = null

kmp/compose/resources/src/commonMain/composeResources/values-be-rBY/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,13 @@
3333
<string name="social_telegram_channel">Канал</string>
3434
<string name="social_share_app">Падзяліцца</string>
3535
<string name="app_version">Версія: %1$s</string>
36+
3637
<string name="settings_section_appearance">Знешні выгляд</string>
3738
<string name="settings_section_map">Мапа</string>
3839
<string name="settings_section_alerts">Абвесткі</string>
3940
<string name="settings_section_changelog">Гісторыя зменаў</string>
4041
<string name="settings_section_faq">Часта задаюць пытанні</string>
42+
<string name="settings_section_debug_tools">Інструменты адладкі</string>
4143

4244
<!-- Settings categories -->
4345
<string name="settings_category_main">Асноўныя</string>

kmp/compose/resources/src/commonMain/composeResources/values-ru/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<string name="settings_section_alerts">Оповещения</string>
4242
<string name="settings_section_changelog">История изменений</string>
4343
<string name="settings_section_faq">Часто задаваемые вопросы</string>
44+
<string name="settings_section_debug_tools">Инструменты отладки</string>
4445

4546
<!-- Settings categories -->
4647
<string name="settings_category_main">Основные</string>

kmp/compose/resources/src/commonMain/composeResources/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
<string name="settings_section_alerts">Alerts</string>
4444
<string name="settings_section_changelog">Changelog</string>
4545
<string name="settings_section_faq">FAQ</string>
46+
<string name="settings_section_debug_tools">Debug Tools</string>
4647

4748
<!-- Settings categories -->
4849
<string name="settings_category_main">Main</string>

kmp/features/appSettings/src/commonMain/kotlin/com/egoriku/grodnoroads/appsettings/screen/AppSettingsScreen.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,12 @@ import com.egoriku.grodnoroads.compose.resources.settings_category_other
3434
import com.egoriku.grodnoroads.compose.resources.settings_section_alerts
3535
import com.egoriku.grodnoroads.compose.resources.settings_section_appearance
3636
import com.egoriku.grodnoroads.compose.resources.settings_section_changelog
37+
import com.egoriku.grodnoroads.compose.resources.settings_section_debug_tools
3738
import com.egoriku.grodnoroads.compose.resources.settings_section_faq
3839
import com.egoriku.grodnoroads.compose.resources.settings_section_map
3940
import com.egoriku.grodnoroads.compose.resources.tab_settings
4041
import com.egoriku.grodnoroads.foundation.icons.GrodnoRoads
42+
import com.egoriku.grodnoroads.foundation.icons.outlined.Adb
4143
import com.egoriku.grodnoroads.foundation.icons.outlined.Appearance
4244
import com.egoriku.grodnoroads.foundation.icons.outlined.Changelog
4345
import com.egoriku.grodnoroads.foundation.icons.outlined.Faq
@@ -46,6 +48,7 @@ import com.egoriku.grodnoroads.foundation.icons.outlined.NotificationBadge
4648
import com.egoriku.grodnoroads.foundation.preview.GrodnoRoadsM3ThemePreview
4749
import com.egoriku.grodnoroads.foundation.preview.PreviewGrodnoRoads
4850
import com.egoriku.grodnoroads.foundation.uikit.WeightSpacer
51+
import com.egoriku.grodnoroads.shared.components.DebugConfig
4952
import com.egoriku.grodnoroads.shared.models.Page
5053
import org.jetbrains.compose.resources.stringResource
5154

@@ -144,6 +147,14 @@ private fun SettingsUi(
144147
paddingValues = PaddingValues(horizontal = 20.dp),
145148
onClick = { onSettingClick(Page.FAQ) }
146149
)
150+
if (DebugConfig.isDebug) {
151+
SettingsListItem(
152+
imageVector = GrodnoRoads.Outlined.Adb,
153+
name = stringResource(Res.string.settings_section_debug_tools),
154+
paddingValues = PaddingValues(horizontal = 20.dp),
155+
onClick = { onSettingClick(Page.DebugTools) }
156+
)
157+
}
147158
}
148159
}
149160
WeightSpacer()

kmp/features/mainflow/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ kotlin {
2020
implementation(projects.kmp.features.settings.alerts)
2121
implementation(projects.kmp.features.settings.appearance)
2222
implementation(projects.kmp.features.settings.changelog)
23+
implementation(projects.kmp.features.settings.debugTools)
2324
implementation(projects.kmp.features.settings.faq)
2425
implementation(projects.kmp.features.settings.map)
2526
implementation(projects.kmp.compose.foundation.uikit)

kmp/features/mainflow/src/commonMain/kotlin/com/egoriku/grodnoroads/mainflow/domain/MainFlowComponent.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import com.arkivanov.essenty.backhandler.BackHandlerOwner
66
import com.egoriku.grodnoroads.settings.alerts.domain.component.AlertsComponent
77
import com.egoriku.grodnoroads.settings.appearance.domain.component.AppearanceComponent
88
import com.egoriku.grodnoroads.settings.changelog.domain.component.ChangelogComponent
9+
import com.egoriku.grodnoroads.settings.debugtools.domain.DebugToolsComponent
910
import com.egoriku.grodnoroads.settings.faq.domain.component.FaqComponent
1011
import com.egoriku.grodnoroads.settings.map.domain.component.MapSettingsComponent
1112
import kotlinx.coroutines.flow.StateFlow
@@ -19,9 +20,10 @@ interface MainFlowComponent : BackHandlerOwner {
1920
sealed class Child {
2021
data class Tabs(val component: TabsComponent) : Child()
2122

22-
data class Appearance(val component: AppearanceComponent) : Child()
2323
data class Alerts(val component: AlertsComponent) : Child()
24+
data class Appearance(val component: AppearanceComponent) : Child()
2425
data class Changelog(val component: ChangelogComponent) : Child()
26+
data class DebugTools(val component: DebugToolsComponent) : Child()
2527
data class FAQ(val component: FaqComponent) : Child()
2628
data class MapSettings(val component: MapSettingsComponent) : Child()
2729
}

0 commit comments

Comments
 (0)