Przeglądaj źródła

Worked on UI of change language, Design same as of on android device, Added title and subtitle of that language

Khubaib 7 miesięcy temu
rodzic
commit
50b02120f4

+ 4 - 7
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/SettingsScreen.kt

@@ -1208,8 +1208,7 @@ fun SelectLanguage(
                                 .fillMaxWidth()
                                 .height(80.dp)
                                 .background(
-                                    if (language.title == selectedLanguage) Color.Transparent
-                                    else Color.Transparent
+                                    Color.Transparent
                                 )
                                 .padding(start = 2.dp, top = 15.dp)
                                 .selectable(
@@ -1289,8 +1288,7 @@ fun SelectLanguage(
                                     .fillMaxHeight()
                                     .padding(start = 5.dp)
                                     .background(
-                                        if (language.title == selectedLanguage) Color.Transparent
-                                        else Color.Transparent
+                                        Color.Transparent
                                     ),
                                 verticalArrangement = Arrangement.Center
                             ) {
@@ -1308,8 +1306,6 @@ fun SelectLanguage(
                                         .padding(top = 2.dp)
                                         .alpha(0.4f),
                                     )
-
-
                             }
                         }
                         Surface(
@@ -1695,6 +1691,7 @@ fun ColumnScope.AddTextSettingsLanguage(
     color: Color,
     bottomPadding: Dp = 0.dp,
     startPadding: Dp = 0.dp,
+    topPadding: Dp = 0.dp,
     style: TextStyle,
 ) {
     Text(
@@ -1702,7 +1699,7 @@ fun ColumnScope.AddTextSettingsLanguage(
         style = style,
         color = color,
         modifier = Modifier
-            .padding(bottom = bottomPadding, start = startPadding)
+            .padding(bottom = bottomPadding, start = startPadding, top = topPadding)
             .align(Alignment.CenterHorizontally)
     )
 }

+ 52 - 22
app/src/main/java/com/vpn/fastestvpnservice/screensTV/SettingsScreenTV.kt

@@ -24,6 +24,7 @@ import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.ColumnScope
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.fillMaxHeight
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
@@ -107,6 +108,7 @@ import com.vpn.fastestvpnservice.navigation.isSecondItemFocused
 import com.vpn.fastestvpnservice.navigation.isSecondItemPressed
 import com.vpn.fastestvpnservice.navigation.isSettingsScreenPressed
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.AddTextSettings
+import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.AddTextSettingsLanguage
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.getAvailableProtocols
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.navHostController1
 import com.vpn.fastestvpnservice.screens.isSearchModelInitialized
@@ -395,7 +397,8 @@ fun ColumnScope.AddTextSettingsTV(
         text = text,
         style = style,
         color = color,
-        modifier = Modifier.padding(bottom = bottomPadding, start = startPadding)
+        modifier = Modifier
+            .padding(bottom = bottomPadding, start = startPadding)
             .focusable(isfocusable)
     )
 }
@@ -1491,9 +1494,9 @@ fun AddLanguageTV(
             onDismissRequest = { isLanguageSheetOpen = false
             },
             dragHandle = {
-                BottomSheetDefaults.DragHandle(
-                    color = MaterialTheme.colorScheme.primary,
-                )
+//                BottomSheetDefaults.DragHandle(
+//                    color = MaterialTheme.colorScheme.primary,
+//                )
             },
             sheetState = sheetState,
             containerColor = MaterialTheme.colorScheme.onBackground,
@@ -1501,38 +1504,39 @@ fun AddLanguageTV(
                 .padding(top = 15.dp)
                 .fillMaxSize()
         ) {
-            Box(
+            Column(
                 modifier = Modifier
                     .background(Color.Transparent)
                     .fillMaxSize()
-                    .padding(start = 0.dp, top = 10.dp, bottom = 20.dp),
+                    .padding(start = 0.dp, top = 15.dp, bottom = 25.dp),
             ) {
+                AddTextSettingsLanguage(
+                    text = context.getString(R.string.select_language),
+                    size = 18.sp,
+                    color = MaterialTheme.colorScheme.primary,
+                    topPadding = 15.dp,
+                    style = MaterialTheme.typography.titleSmall,
+                )
+                Spacer(modifier = Modifier.height(25.dp))
                 Column(
                     verticalArrangement = Arrangement.Top,
                     horizontalAlignment = Alignment.Start,
                     modifier = Modifier
                         .verticalScroll(rememberScrollState())
-                        .padding(bottom = 10.dp)
+                        .padding(top = 10.dp, bottom = 10.dp)
                 ) {
-                    AddTextSettings(
-                        text = context.getString(R.string.language),
-                        size = 18.sp,
-                        color = MaterialTheme.colorScheme.primary,
-                        bottomPadding = 20.dp,
-                        startPadding = 16.dp,
-                        style = MaterialTheme.typography.titleSmall,
-                        isFocusable = true
-                    )
+
                     languages.forEach { language ->
                         isButtonFocused = isSelectedLanguage == language
                         Row(
                             modifier = Modifier
                                 .fillMaxWidth()
+                                .height(80.dp)
                                 .background(
                                     if (isButtonFocused && isAnyItemFocused) MaterialTheme.colorScheme.inverseOnSurface
                                     else Color.Transparent
                                 )
-                                .padding(start = 2.dp)
+                                .padding(start = 2.dp, top = 15.dp)
                                 .onFocusChanged {
                                     if (it.isFocused) {
                                         isSelectedLanguage = language
@@ -1611,12 +1615,38 @@ fun AddLanguageTV(
                                     unselectedColor = colorResource(id = R.color.gray_icon),
                                 )
                             )
-                            Text(text = language.title,
-                                modifier = Modifier.padding(start = 12.dp),
-                                style = MaterialTheme.typography.bodySmall,
-                                color = MaterialTheme.colorScheme.primary
-                            )
+                            Column(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .fillMaxHeight()
+                                    .padding(start = 5.dp)
+                                    .background(
+                                        Color.Transparent
+                                    ),
+                                verticalArrangement = Arrangement.Center
+                            ) {
+                                Text(text = language.title,
+                                    modifier = Modifier.padding(start = 0.dp),
+                                    style = MaterialTheme.typography.bodySmall,
+                                    color = MaterialTheme.colorScheme.primary
+                                )
+                                Text(text = language.subTitle,
+                                    style = MaterialTheme.typography.bodySmall,
+                                    color = MaterialTheme.colorScheme.primary,
+                                    modifier = Modifier
+                                        .padding(top = 2.dp)
+                                        .alpha(0.4f),
+                                )
+                            }
                         }
+                        Surface(
+                            modifier = Modifier
+                                .padding(start = 55.dp)
+                                .height(1.dp)
+                                .fillMaxWidth()
+                                .alpha(0.4F),
+                            color = colorResource(id = R.color.gray_icon)
+                        ) {}
                     }
                 }
             }