1
1
package net.mullvad.mullvadvpn.compose.screen
2
2
3
3
import androidx.compose.foundation.layout.Arrangement
4
- import androidx.compose.foundation.layout.Box
5
4
import androidx.compose.foundation.layout.Column
6
5
import androidx.compose.foundation.layout.Row
7
6
import androidx.compose.foundation.layout.fillMaxWidth
8
7
import androidx.compose.foundation.layout.padding
9
8
import androidx.compose.foundation.layout.width
10
9
import androidx.compose.foundation.rememberScrollState
11
10
import androidx.compose.foundation.verticalScroll
12
- import androidx.compose.material.icons.Icons
13
- import androidx.compose.material.icons.automirrored.filled.OpenInNew
14
- import androidx.compose.material3.Icon
15
11
import androidx.compose.material3.MaterialTheme
16
12
import androidx.compose.material3.Text
17
13
import androidx.compose.runtime.Composable
18
14
import androidx.compose.runtime.LaunchedEffect
19
15
import androidx.compose.ui.Modifier
20
- import androidx.compose.ui.platform.LocalUriHandler
21
16
import androidx.compose.ui.res.stringResource
22
17
import androidx.compose.ui.text.style.TextAlign
23
18
import androidx.compose.ui.tooling.preview.Preview
@@ -26,18 +21,14 @@ import androidx.navigation.NavController
26
21
import com.ramcosta.composedestinations.annotation.Destination
27
22
import com.ramcosta.composedestinations.annotation.RootGraph
28
23
import net.mullvad.mullvadvpn.R
29
- import net.mullvad.mullvadvpn.compose.button.PrimaryButton
30
24
import net.mullvad.mullvadvpn.compose.component.NavigateBackIconButton
31
25
import net.mullvad.mullvadvpn.compose.component.NavigateCloseIconButton
32
26
import net.mullvad.mullvadvpn.compose.component.ScaffoldWithMediumTopBar
33
27
import net.mullvad.mullvadvpn.compose.component.drawVerticalScrollbar
34
- import net.mullvad.mullvadvpn.compose.extensions.createOpenFullChangeLogHook
35
28
import net.mullvad.mullvadvpn.compose.transitions.SlideInFromRightTransition
36
- import net.mullvad.mullvadvpn.compose.util.CollectSideEffectWithLifecycle
37
29
import net.mullvad.mullvadvpn.lib.theme.AppTheme
38
30
import net.mullvad.mullvadvpn.lib.theme.Dimens
39
31
import net.mullvad.mullvadvpn.lib.theme.color.AlphaScrollbar
40
- import net.mullvad.mullvadvpn.viewmodel.ChangeLogSideEffect
41
32
import net.mullvad.mullvadvpn.viewmodel.ChangelogUiState
42
33
import net.mullvad.mullvadvpn.viewmodel.ChangelogViewModel
43
34
import org.koin.androidx.compose.koinViewModel
@@ -52,29 +43,15 @@ fun Changelog(navController: NavController) {
52
43
53
44
val uiState = viewModel.uiState.collectAsStateWithLifecycle()
54
45
55
- val openAccountPage = LocalUriHandler .current.createOpenFullChangeLogHook()
56
- CollectSideEffectWithLifecycle (viewModel.uiSideEffect) {
57
- when (it) {
58
- is ChangeLogSideEffect .OpenFullChangelog -> openAccountPage()
59
- }
60
- }
61
46
LaunchedEffect (Unit ) { viewModel.dismissChangelogNotification() }
62
47
63
- ChangelogScreen (
64
- uiState.value,
65
- onBackClick = navController::navigateUp,
66
- onSeeFullChangelog = viewModel::onSeeFullChangelog,
67
- )
48
+ ChangelogScreen (uiState.value, onBackClick = navController::navigateUp)
68
49
}
69
50
70
51
data class ChangelogNavArgs (val isModal : Boolean = false )
71
52
72
53
@Composable
73
- fun ChangelogScreen (
74
- state : ChangelogUiState ,
75
- onBackClick : () -> Unit ,
76
- onSeeFullChangelog : () -> Unit ,
77
- ) {
54
+ fun ChangelogScreen (state : ChangelogUiState , onBackClick : () -> Unit ) {
78
55
79
56
ScaffoldWithMediumTopBar (
80
57
appBarTitle = stringResource(id = R .string.changelog_title),
@@ -114,19 +91,6 @@ fun ChangelogScreen(
114
91
state.changes.forEach { changeItem -> ChangeListItem (text = changeItem) }
115
92
}
116
93
}
117
- Box (modifier = Modifier .padding(Dimens .mediumPadding).fillMaxWidth()) {
118
- PrimaryButton (
119
- onClick = onSeeFullChangelog,
120
- text = stringResource(R .string.see_full_changelog),
121
- trailingIcon = {
122
- Icon (
123
- imageVector = Icons .AutoMirrored .Default .OpenInNew ,
124
- contentDescription = null ,
125
- tint = MaterialTheme .colorScheme.onSurface,
126
- )
127
- },
128
- )
129
- }
130
94
}
131
95
}
132
96
}
@@ -158,7 +122,6 @@ private fun PreviewChangelogDialogWithSingleShortItem() {
158
122
ChangelogScreen (
159
123
ChangelogUiState (changes = listOf (" Item 1" ), version = " 1111.1" ),
160
124
onBackClick = {},
161
- onSeeFullChangelog = {},
162
125
)
163
126
}
164
127
}
@@ -178,7 +141,6 @@ private fun PreviewChangelogDialogWithTwoLongItems() {
178
141
version = " 1111.1" ,
179
142
),
180
143
onBackClick = {},
181
- onSeeFullChangelog = {},
182
144
)
183
145
}
184
146
}
@@ -205,7 +167,6 @@ private fun PreviewChangelogDialogWithTenShortItems() {
205
167
version = " 1111.1" ,
206
168
),
207
169
onBackClick = {},
208
- onSeeFullChangelog = {},
209
170
)
210
171
}
211
172
}
0 commit comments