Skip to content

Commit 2bac009

Browse files
committed
hide send ticket from free users.
1 parent dfb2425 commit 2bac009

File tree

2 files changed

+26
-8
lines changed

2 files changed

+26
-8
lines changed

mobile/src/main/java/com/windscribe/mobile/ui/preferences/help/HelpScreen.kt

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,14 @@ import com.windscribe.mobile.ui.theme.preferencesSubtitleColor
4949
import com.windscribe.mobile.ui.theme.primaryTextColor
5050
import com.windscribe.vpn.R
5151
import com.windscribe.vpn.constants.NetworkKeyConstants
52+
import kotlinx.coroutines.flow.collectLatest
5253

5354

5455
@Composable
5556
fun HelpScreen(viewModel: HelpViewModel? = null) {
5657
val navController = LocalNavController.current
5758
val scrollState = rememberScrollState()
59+
val isUserPro by viewModel?.isUserPro?.collectAsState() ?: remember { mutableStateOf(false) }
5860
PreferenceBackground {
5961
Column(
6062
modifier = Modifier
@@ -80,13 +82,15 @@ fun HelpScreen(viewModel: HelpViewModel? = null) {
8082
com.windscribe.mobile.R.drawable.ic_garry,
8183
Route.Web(NetworkKeyConstants.URL_GARRY),
8284
)
83-
Spacer(modifier = Modifier.height(16.dp))
84-
HelpItem(
85-
R.string.contact_humans,
86-
R.string.contact_humans_description,
87-
com.windscribe.mobile.R.drawable.ic_ticket,
88-
Route.Nav(Screen.Ticket),
89-
)
85+
if (isUserPro) {
86+
Spacer(modifier = Modifier.height(16.dp))
87+
HelpItem(
88+
R.string.contact_humans,
89+
R.string.contact_humans_description,
90+
com.windscribe.mobile.R.drawable.ic_ticket,
91+
Route.Nav(Screen.Ticket),
92+
)
93+
}
9094
Spacer(modifier = Modifier.height(16.dp))
9195
CommunitySupport()
9296
Spacer(modifier = Modifier.height(16.dp))
@@ -346,7 +350,8 @@ private fun HelpItem(
346350
color = MaterialTheme.colorScheme.primaryTextColor.copy(
347351
alpha = 0.05f
348352
), shape = RoundedCornerShape(size = 12.dp)
349-
).hapticClickable {
353+
)
354+
.hapticClickable {
350355
if (route is Route.Nav) {
351356
val route = route.screen.route
352357
navController.navigate(route)

mobile/src/main/java/com/windscribe/mobile/ui/preferences/help/HelpViewModel.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.windscribe.vpn.repository.UserRepository
2020
import kotlinx.coroutines.Dispatchers
2121
import kotlinx.coroutines.flow.MutableStateFlow
2222
import kotlinx.coroutines.flow.StateFlow
23+
import kotlinx.coroutines.flow.collectLatest
2324
import kotlinx.coroutines.launch
2425
import java.io.BufferedReader
2526
import java.io.File
@@ -30,7 +31,9 @@ abstract class HelpViewModel : ViewModel() {
3031
abstract val showProgress: StateFlow<Boolean>
3132
abstract val sendLogState: StateFlow<SendLogState>
3233
abstract fun sendLogClicked()
34+
abstract val isUserPro: StateFlow<Boolean>
3335
}
36+
3437
sealed class SendLogState {
3538
object Idle : SendLogState()
3639
object Loading : SendLogState()
@@ -47,6 +50,16 @@ class HelpViewModelImpl(
4750
override val showProgress: StateFlow<Boolean> = _showProgress
4851
private val _sendLogState = MutableStateFlow<SendLogState>(SendLogState.Idle)
4952
override val sendLogState: StateFlow<SendLogState> = _sendLogState
53+
private val _isUserPro = MutableStateFlow(false)
54+
override val isUserPro: StateFlow<Boolean> = _isUserPro
55+
56+
init {
57+
viewModelScope.launch(Dispatchers.IO) {
58+
userRepository.userInfo.collectLatest {
59+
_isUserPro.emit(it.isPro)
60+
}
61+
}
62+
}
5063

5164
override fun sendLogClicked() {
5265
viewModelScope.launch(Dispatchers.IO) {

0 commit comments

Comments
 (0)