fix: split tunnel ui bug, new progress indicators

This commit is contained in:
Zane Schepke
2025-10-02 14:52:53 -04:00
parent f8fe3a4a3a
commit ae2b28c9f6
3 changed files with 11 additions and 5 deletions
@@ -4,16 +4,20 @@ import LicenseFileEntry
import android.content.Context
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.foundation.layout.size
import androidx.compose.material3.CircularWavyProgressIndicator
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
import com.zaneschepke.wireguardautotunnel.ui.screens.support.license.components.LicenseList
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import kotlinx.serialization.json.Json
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
@Composable
fun LicenseScreen() {
val context = LocalContext.current
@@ -23,7 +27,7 @@ fun LicenseScreen() {
if (licenses.isEmpty()) {
Box(Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
CircularProgressIndicator()
CircularWavyProgressIndicator(waveSpeed = 60.dp, modifier = Modifier.size(48.dp))
}
} else {
LicenseList(licenses)
@@ -3,7 +3,8 @@ package com.zaneschepke.wireguardautotunnel.ui.screens.tunnels.splittunnel
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.CircularWavyProgressIndicator
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -17,6 +18,7 @@ import com.zaneschepke.wireguardautotunnel.ui.sideeffect.LocalSideEffect
import com.zaneschepke.wireguardautotunnel.viewmodel.SplitTunnelViewModel
import org.orbitmvi.orbit.compose.collectSideEffect
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
@Composable
fun SplitTunnelScreen(tunnelId: Int, viewModel: SplitTunnelViewModel = hiltViewModel()) {
val sharedViewModel = LocalSharedVm.current
@@ -24,7 +26,7 @@ fun SplitTunnelScreen(tunnelId: Int, viewModel: SplitTunnelViewModel = hiltViewM
if (!splitTunnelState.stateInitialized) {
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
CircularProgressIndicator(modifier = Modifier.size(30.dp), strokeWidth = 5.dp)
CircularWavyProgressIndicator(waveSpeed = 60.dp, modifier = Modifier.size(48.dp))
}
return
}
@@ -19,7 +19,7 @@ fun SplitTunnelContent(
onAppSelectionToggle: (String, Boolean) -> Unit,
) {
Column(
verticalArrangement = Arrangement.spacedBy(24.dp, Alignment.CenterVertically),
verticalArrangement = Arrangement.spacedBy(24.dp, Alignment.Top),
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp),
) {