|
@@ -65,6 +65,7 @@ import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
|
|
|
import com.vpn.fastestvpnservice.helpers.UIHelper
|
|
|
import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.onServer
|
|
|
import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.onServerSelected
|
|
|
+import com.vpn.fastestvpnservice.sealedClass.BottomBarScreen
|
|
|
import com.vpn.fastestvpnservice.utils.Utils
|
|
|
import com.vpn.fastestvpnservice.viewmodels.HomeViewModel
|
|
|
import com.vpn.fastestvpnservice.viewmodels.SearchListViewModel
|
|
@@ -250,6 +251,22 @@ fun FavoriteServerItem(server: Server, navHostController: NavHostController) {
|
|
|
SplashViewModel(context)
|
|
|
}
|
|
|
|
|
|
+ val scope = rememberCoroutineScope()
|
|
|
+ val homeViewModel: HomeViewModel = viewModel {
|
|
|
+ HomeViewModel(context, scope)
|
|
|
+ }
|
|
|
+ var isFavServerClicked by remember {
|
|
|
+ mutableStateOf(false)
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isFavServerClicked) {
|
|
|
+ Log.d("ServerCallbacks", "isServerClicked $isFavServerClicked")
|
|
|
+ onServer.onServerSelected(context, homeViewModel) {
|
|
|
+ isFavServerClicked = false
|
|
|
+ }
|
|
|
+ navHostController.popBackStack(BottomBarScreen.Home.route, false)
|
|
|
+ }
|
|
|
+
|
|
|
Box(
|
|
|
modifier = Modifier
|
|
|
.fillMaxWidth()
|
|
@@ -266,11 +283,15 @@ fun FavoriteServerItem(server: Server, navHostController: NavHostController) {
|
|
|
indication = null,
|
|
|
interactionSource = remember { MutableInteractionSource() }
|
|
|
) {
|
|
|
- Toast.makeText(
|
|
|
- context, server.server_name, Toast.LENGTH_SHORT
|
|
|
- ).show()
|
|
|
+// Toast
|
|
|
+// .makeText(
|
|
|
+// context, server.server_name, Toast.LENGTH_SHORT
|
|
|
+// )
|
|
|
+// .show()
|
|
|
basePreferenceHelper.setServerObject(server)
|
|
|
- navHostController.popBackStack()
|
|
|
+ isFavServerClicked = true
|
|
|
+
|
|
|
+// navHostController.popBackStack()
|
|
|
}
|
|
|
) {
|
|
|
var ping by remember { mutableIntStateOf(0) }
|
|
@@ -378,8 +399,9 @@ fun FavoriteServerItem(server: Server, navHostController: NavHostController) {
|
|
|
@Composable
|
|
|
fun ServerSearchItem(server: Server, navHostController: NavHostController) {
|
|
|
val context = LocalContext.current
|
|
|
+ val scope = rememberCoroutineScope()
|
|
|
val basePreferenceHelper = BasePreferenceHelper(context)
|
|
|
- var serverListViewModel: ServerListViewModel = viewModel {
|
|
|
+ val serverListViewModel: ServerListViewModel = viewModel {
|
|
|
ServerListViewModel(context = context)
|
|
|
}
|
|
|
val splashViewModel: SplashViewModel = viewModel{
|
|
@@ -388,6 +410,21 @@ fun ServerSearchItem(server: Server, navHostController: NavHostController) {
|
|
|
val searchListViewModel: SearchListViewModel = viewModel{
|
|
|
SearchListViewModel(context, serverListViewModel, splashViewModel)
|
|
|
}
|
|
|
+ val homeViewModel: HomeViewModel = viewModel{
|
|
|
+ HomeViewModel(context, scope)
|
|
|
+ }
|
|
|
+ var isSearchServerClicked by remember {
|
|
|
+ mutableStateOf(false)
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isSearchServerClicked) {
|
|
|
+ Log.d("ServerCallbacks", "isServerClicked $isSearchServerClicked")
|
|
|
+ onServer.onServerSelected(context, homeViewModel) {
|
|
|
+ isSearchServerClicked = false
|
|
|
+ }
|
|
|
+ navHostController.popBackStack()
|
|
|
+ }
|
|
|
+
|
|
|
Box(
|
|
|
modifier = Modifier
|
|
|
.fillMaxWidth()
|
|
@@ -406,8 +443,8 @@ fun ServerSearchItem(server: Server, navHostController: NavHostController) {
|
|
|
interactionSource = remember { MutableInteractionSource() }
|
|
|
) {
|
|
|
basePreferenceHelper.setServerObject(server)
|
|
|
- navHostController.popBackStack()
|
|
|
-
|
|
|
+ isSearchServerClicked = true
|
|
|
+// navHostController.popBackStack()
|
|
|
}
|
|
|
) {
|
|
|
var ping by remember { mutableIntStateOf(0) }
|