浏览代码

Worked on home screen UI, bottom bar UI, status bar UI on bottob bar menu screens

Khubaib 4 月之前
父节点
当前提交
81bc1d138f

+ 2 - 2
.idea/deploymentTargetSelector.xml

@@ -4,10 +4,10 @@
     <selectionStates>
       <SelectionState runConfigName="app">
         <option name="selectionMode" value="DROPDOWN" />
-        <DropdownSelection timestamp="2024-12-04T09:59:02.271526672Z">
+        <DropdownSelection timestamp="2024-12-18T15:37:26.802152740Z">
           <Target type="DEFAULT_BOOT">
             <handle>
-              <DeviceId pluginId="PhysicalDevice" identifier="serial=1C051FDF60048Z" />
+              <DeviceId pluginId="LocalEmulator" identifier="path=/home/ubuntu/.android/avd/Small_Phone_API_25.avd" />
             </handle>
           </Target>
         </DropdownSelection>

+ 2 - 2
app/src/main/java/com/fastest/pass/account/presentation/ui/components/AccountScreen.kt

@@ -69,7 +69,7 @@ fun AccountScreen(clickType: (ClickType) -> Unit) {
 
     Box(
         modifier = Modifier
-            .background(colorResource(id = R.color.gray_splash))
+            .background(colorResource(id = R.color.blue_login))
             .fillMaxSize()
             .statusBarsPadding()
     ) {
@@ -82,7 +82,7 @@ fun AccountScreen(clickType: (ClickType) -> Unit) {
             Column(
                 modifier = Modifier
                     .fillMaxSize()
-                    .padding(top = 75.dp)
+                    .padding(top = 25.dp)
                     .clip(RoundedCornerShape(topStart = 0.dp, topEnd = 0.dp))
                     .background(colorResource(id = R.color.home_background_color),)
             ) {

+ 8 - 1
app/src/main/java/com/fastest/pass/browse/presentation/ui/fragment/BrowseFragment.kt

@@ -5,8 +5,11 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import androidx.compose.material.Text
+import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.ComposeView
+import androidx.compose.ui.res.colorResource
 import com.fastest.pass.BaseFragment
+import com.fastest.pass.R
 import com.fastest.pass.ui.theme.FastestPassTheme
 import dagger.hilt.android.AndroidEntryPoint
 
@@ -20,7 +23,11 @@ class BrowseFragment : BaseFragment() {
         return ComposeView(requireActivity()).apply {
             setContent {
                 FastestPassTheme {
-                    Text("Browse Fragment")
+                    Text(
+                        "Browse Fragment",
+                        color = colorResource(id = R.color.home_background_color),
+                        modifier = Modifier
+                        )
                 }
             }
         }

+ 18 - 3
app/src/main/java/com/fastest/pass/dashboard/presentation/ui/component/BottomTab.kt

@@ -4,22 +4,25 @@ import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
 import androidx.compose.material.BottomNavigation
 import androidx.compose.material.BottomNavigationItem
-import androidx.compose.material3.Icon
 import androidx.compose.material3.Scaffold
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
+import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.ColorFilter
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.unit.dp
 import androidx.compose.ui.viewinterop.AndroidView
 import androidx.fragment.app.FragmentActivity
 import androidx.fragment.app.FragmentContainerView
@@ -47,7 +50,11 @@ fun BottomTab() {
             )
         }
     ) { paddingValues ->
-        Box(modifier = Modifier.padding(paddingValues)) {
+        Box(modifier = Modifier
+            .fillMaxSize()
+            .background(colorResource(id = R.color.blue_login))
+            .padding(paddingValues)
+        ) {
             // Add a container for hosting fragments
             AndroidView(
                 factory = { context ->
@@ -64,6 +71,8 @@ fun BottomTab() {
             }
         }
     }
+
+
 }
 
 @Composable
@@ -71,10 +80,16 @@ fun BottomNavigationBar(selectedTab: Screen, onTabSelected: (Screen) -> Unit) {
     val items = listOf(Screen.Home, Screen.Browse, Screen.Security, Screen.Account)
 
     BottomNavigation(
-        backgroundColor = Gray_Splash
+        backgroundColor = Gray_Splash,
+        contentColor = colorResource(id = R.color.gray_text),
+        modifier = Modifier
+            .fillMaxWidth()
+            .height(70.dp),
     ) {
         items.forEach { screen ->
             BottomNavigationItem(
+                modifier = Modifier
+                    .align(Alignment.CenterVertically),
                 icon = {
                     Image(
                     painter = painterResource(id = screen.icon),

+ 5 - 1
app/src/main/java/com/fastest/pass/dashboard/presentation/ui/fragment/DashboardFragment.kt

@@ -4,13 +4,17 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.navigationBarsPadding
 import androidx.compose.foundation.layout.padding
 import androidx.compose.material3.Scaffold
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.ComposeView
+import androidx.compose.ui.res.colorResource
 import com.fastest.pass.BaseFragment
+import com.fastest.pass.R
 import com.fastest.pass.dashboard.presentation.ui.component.BottomTab
 import com.fastest.pass.ui.theme.FastestPassTheme
 import com.fastest.pass.welcome.presentation.ui.component.ClickType.LOGIN_CLICK
@@ -33,12 +37,12 @@ class DashboardFragment : BaseFragment() {
                         Box(
                             modifier = Modifier
                                 .fillMaxSize()
+                                .background(color = colorResource(id = R.color.home_background_color))
                                 .padding(bottom = paddingValues.calculateBottomPadding()) // Apply padding to respect system bottom inset
                         ) {
                             BottomTab()
                         }
                     }
-
                 }
             }
         }

+ 199 - 0
app/src/main/java/com/fastest/pass/home/domain/model/CountryInfoList.kt

@@ -0,0 +1,199 @@
+package com.fastest.pass.home.domain.model
+
+val countryInfoList = listOf(
+    CountryInfo("Afghanistan", "🇦🇫", "GMT+04:30 (Asia/Kabul)"),
+    CountryInfo("Albania", "🇦🇱", "GMT+01:00 (Europe/Tirane)"),
+    CountryInfo("Algeria", "🇩🇿", "GMT+01:00 (Africa/Algiers)"),
+    CountryInfo("Andorra", "🇦🇩", "GMT+01:00 (Europe/Andorra)"),
+    CountryInfo("Angola", "🇦🇴", "GMT+01:00 (Africa/Luanda)"),
+    CountryInfo("Antigua and Barbuda", "🇦🇬", "GMT-04:00 (America/Antigua)"),
+    CountryInfo("Argentina", "🇦🇷", "GMT-03:00 (America/Argentina/Buenos_Aires)"),
+    CountryInfo("Armenia", "🇦🇲", "GMT+04:00 (Asia/Yerevan)"),
+    CountryInfo("Australia", "🇦🇺", "GMT+10:00 (Australia/Sydney)"),
+    CountryInfo("Austria", "🇦🇹", "GMT+01:00 (Europe/Vienna)"),
+    CountryInfo("Azerbaijan", "🇦🇿", "GMT+04:00 (Asia/Baku)"),
+    CountryInfo("Bahamas", "🇧🇸", "GMT-05:00 (America/Nassau)"),
+    CountryInfo("Bahrain", "🇧🇭", "GMT+03:00 (Asia/Bahrain)"),
+    CountryInfo("Bangladesh", "🇧🇩", "GMT+06:00 (Asia/Dhaka)"),
+    CountryInfo("Barbados", "🇧🇧", "GMT-04:00 (America/Barbados)"),
+    CountryInfo("Belarus", "🇧🇾", "GMT+03:00 (Europe/Minsk)"),
+    CountryInfo("Belgium", "🇧🇪", "GMT+01:00 (Europe/Brussels)"),
+    CountryInfo("Belize", "🇧🇿", "GMT-06:00 (America/Belize)"),
+    CountryInfo("Benin", "🇧🇯", "GMT+01:00 (Africa/Porto-Novo)"),
+    CountryInfo("Bhutan", "🇧🇹", "GMT+06:00 (Asia/Thimphu)"),
+    CountryInfo("Bolivia", "🇧🇴", "GMT-04:00 (America/La_Paz)"),
+    CountryInfo("Bosnia and Herzegovina", "🇧🇦", "GMT+01:00 (Europe/Sarajevo)"),
+    CountryInfo("Botswana", "🇧🇼", "GMT+02:00 (Africa/Gaborone)"),
+    CountryInfo("Brazil", "🇧🇷", "GMT-03:00 (America/Sao_Paulo)"),
+    CountryInfo("Brunei", "🇧🇳", "GMT+08:00 (Asia/Brunei)"),
+    CountryInfo("Bulgaria", "🇧🇬", "GMT+02:00 (Europe/Sofia)"),
+    CountryInfo("Burkina Faso", "🇧🇫", "GMT+00:00 (Africa/Ouagadougou)"),
+    CountryInfo("Burundi", "🇧🇮", "GMT+02:00 (Africa/Bujumbura)"),
+    CountryInfo("Cabo Verde", "🇨🇻", "GMT-01:00 (Atlantic/Cape_Verde)"),
+    CountryInfo("Cambodia", "🇰🇭", "GMT+07:00 (Asia/Phnom_Penh)"),
+    CountryInfo("Cameroon", "🇨🇲", "GMT+01:00 (Africa/Douala)"),
+    CountryInfo("Canada", "🇨🇦", "GMT-05:00 (America/Toronto)"),
+    CountryInfo("Central African Republic", "🇨🇫", "GMT+01:00 (Africa/Bangui)"),
+    CountryInfo("Chad", "🇹🇩", "GMT+01:00 (Africa/N'Djamena)"),
+    CountryInfo("Chile", "🇨🇱", "GMT-04:00 (America/Santiago)"),
+    CountryInfo("China", "🇨🇳", "GMT+08:00 (Asia/Shanghai)"),
+    CountryInfo("Colombia", "🇨🇴", "GMT-05:00 (America/Bogota)"),
+    CountryInfo("Comoros", "🇰🇲", "GMT+03:00 (Indian/Comoro)"),
+    CountryInfo("Congo (Congo-Brazzaville)", "🇨🇬", "GMT+01:00 (Africa/Brazzaville)"),
+    CountryInfo("Congo (Democratic Republic)", "🇨🇩", "GMT+01:00 (Africa/Kinshasa)"),
+    CountryInfo("Costa Rica", "🇨🇷", "GMT-06:00 (America/Costa_Rica)"),
+    CountryInfo("Croatia", "🇭🇷", "GMT+01:00 (Europe/Zagreb)"),
+    CountryInfo("Cuba", "🇨🇺", "GMT-05:00 (America/Havana)"),
+    CountryInfo("Cyprus", "🇨🇾", "GMT+02:00 (Asia/Nicosia)"),
+    CountryInfo("Czech Republic", "🇨🇿", "GMT+01:00 (Europe/Prague)"),
+    CountryInfo("Denmark", "🇩🇰", "GMT+01:00 (Europe/Copenhagen)"),
+    CountryInfo("Djibouti", "🇩🇯", "GMT+03:00 (Africa/Djibouti)"),
+    CountryInfo("Dominica", "🇩🇲", "GMT-04:00 (America/Dominica)"),
+    CountryInfo("Dominican Republic", "🇩🇴", "GMT-04:00 (America/Santo_Domingo)"),
+    CountryInfo("Ecuador", "🇪🇨", "GMT-05:00 (America/Guayaquil)"),
+    CountryInfo("Egypt", "🇪🇬", "GMT+02:00 (Africa/Cairo)"),
+    CountryInfo("El Salvador", "🇸🇻", "GMT-06:00 (America/El_Salvador)"),
+    CountryInfo("Equatorial Guinea", "🇬🇶", "GMT+01:00 (Africa/Malabo)"),
+    CountryInfo("Eritrea", "🇪🇷", "GMT+03:00 (Africa/Asmara)"),
+    CountryInfo("Estonia", "🇪🇪", "GMT+02:00 (Europe/Tallinn)"),
+    CountryInfo("Eswatini", "🇸🇿", "GMT+02:00 (Africa/Mbabane)"),
+    CountryInfo("Ethiopia", "🇪🇹", "GMT+03:00 (Africa/Addis_Ababa)"),
+    CountryInfo("Fiji", "🇫🇯", "GMT+12:00 (Pacific/Fiji)"),
+    CountryInfo("Finland", "🇫🇮", "GMT+02:00 (Europe/Helsinki)"),
+    CountryInfo("France", "🇫🇷", "GMT+01:00 (Europe/Paris)"),
+    CountryInfo("Gabon", "🇬🇦", "GMT+01:00 (Africa/Libreville)"),
+    CountryInfo("Gambia", "🇬🇲", "GMT+00:00 (Africa/Banjul)"),
+    CountryInfo("Georgia", "🇬🇪", "GMT+04:00 (Asia/Tbilisi)"),
+    CountryInfo("Germany", "🇩🇪", "GMT+01:00 (Europe/Berlin)"),
+    CountryInfo("Ghana", "🇬🇭", "GMT+00:00 (Africa/Accra)"),
+    CountryInfo("Greece", "🇬🇷", "GMT+02:00 (Europe/Athens)"),
+    CountryInfo("Grenada", "🇬🇩", "GMT-04:00 (America/Grenada)"),
+    CountryInfo("Guatemala", "🇬🇹", "GMT-06:00 (America/Guatemala)"),
+    CountryInfo("Guinea", "🇬🇳", "GMT+00:00 (Africa/Conakry)"),
+    CountryInfo("Guinea-Bissau", "🇬🇼", "GMT+00:00 (Africa/Bissau)"),
+    CountryInfo("Guyana", "🇬🇾", "GMT-04:00 (America/Guyana)"),
+    CountryInfo("Haiti", "🇭🇹", "GMT-05:00 (America/Port-au-Prince)"),
+    CountryInfo("Honduras", "🇭🇳", "GMT-06:00 (America/Tegucigalpa)"),
+    CountryInfo("Hungary", "🇭🇺", "GMT+01:00 (Europe/Budapest)"),
+    CountryInfo("Iceland", "🇮🇸", "GMT+00:00 (Atlantic/Reykjavik)"),
+    CountryInfo("India", "🇮🇳", "GMT+05:30 (Asia/Kolkata)"),
+    CountryInfo("Indonesia", "🇮🇩", "GMT+07:00 (Asia/Jakarta)"),
+    CountryInfo("Iran", "🇮🇷", "GMT+03:30 (Asia/Tehran)"),
+    CountryInfo("Iraq", "🇮🇶", "GMT+03:00 (Asia/Baghdad)"),
+    CountryInfo("Ireland", "🇮🇪", "GMT+00:00 (Europe/Dublin)"),
+    CountryInfo("Israel", "🇮🇱", "GMT+02:00 (Asia/Jerusalem)"),
+    CountryInfo("Italy", "🇮🇹", "GMT+01:00 (Europe/Rome)"),
+    CountryInfo("Jamaica", "🇯🇲", "GMT-05:00 (America/Jamaica)"),
+    CountryInfo("Japan", "🇯🇵", "GMT+09:00 (Asia/Tokyo)"),
+    CountryInfo("Jordan", "🇯🇴", "GMT+02:00 (Asia/Amman)"),
+    CountryInfo("Kazakhstan", "🇰🇿", "GMT+06:00 (Asia/Almaty)"),
+    CountryInfo("Kenya", "🇰🇪", "GMT+03:00 (Africa/Nairobi)"),
+    CountryInfo("Kiribati", "🇰🇮", "GMT+12:00 (Pacific/Kiritimati)"),
+    CountryInfo("Korea (North)", "🇰🇵", "GMT+09:00 (Asia/Pyongyang)"),
+    CountryInfo("Korea (South)", "🇰🇷", "GMT+09:00 (Asia/Seoul)"),
+    CountryInfo("Kuwait", "🇰🇼", "GMT+03:00 (Asia/Kuwait)"),
+    CountryInfo("Kyrgyzstan", "🇰🇬", "GMT+06:00 (Asia/Bishkek)"),
+    CountryInfo("Laos", "🇱🇸", "GMT+07:00 (Asia/Vientiane)"),
+    CountryInfo("Latvia", "🇱🇻", "GMT+02:00 (Europe/Riga)"),
+    CountryInfo("Lebanon", "🇱🇧", "GMT+02:00 (Asia/Beirut)"),
+    CountryInfo("Lesotho", "🇱🇸", "GMT+02:00 (Africa/Maseru)"),
+    CountryInfo("Liberia", "🇱🇸", "GMT+00:00 (Africa/Monrovia)"),
+    CountryInfo("Libya", "🇱🇾", "GMT+02:00 (Africa/Tripoli)"),
+    CountryInfo("Liechtenstein", "🇱🇮", "GMT+01:00 (Europe/Vaduz)"),
+    CountryInfo("Lithuania", "🇱🇹", "GMT+02:00 (Europe/Vilnius)"),
+    CountryInfo("Luxembourg", "🇱🇺", "GMT+01:00 (Europe/Luxembourg)"),
+    CountryInfo("Madagascar", "🇲🇬", "GMT+03:00 (Indian/Antananarivo)"),
+    CountryInfo("Malawi", "🇲🇼", "GMT+02:00 (Africa/Lilongwe)"),
+    CountryInfo("Malaysia", "🇲🇾", "GMT+08:00 (Asia/Kuala_Lumpur)"),
+    CountryInfo("Maldives", "🇲🇻", "GMT+05:00 (Indian/Maldives)"),
+    CountryInfo("Mali", "🇲🇱", "GMT+00:00 (Africa/Bamako)"),
+    CountryInfo("Malta", "🇲🇹", "GMT+01:00 (Europe/Malta)"),
+    CountryInfo("Marshall Islands", "🇲🇭", "GMT+12:00 (Pacific/Majuro)"),
+    CountryInfo("Mauritania", "🇲🇷", "GMT+00:00 (Africa/Nouakchott)"),
+    CountryInfo("Mauritius", "🇲🇺", "GMT+04:00 (Indian/Mauritius)"),
+    CountryInfo("Mexico", "🇲🇽", "GMT-06:00 (America/Mexico_City)"),
+    CountryInfo("Micronesia", "🇫🇲", "GMT+10:00 (Pacific/Chuuk)"),
+    CountryInfo("Moldova", "🇲🇩", "GMT+02:00 (Europe/Chisinau)"),
+    CountryInfo("Monaco", "🇲🇨", "GMT+01:00 (Europe/Monaco)"),
+    CountryInfo("Mongolia", "🇲🇳", "GMT+08:00 (Asia/Ulaanbaatar)"),
+    CountryInfo("Montenegro", "🇲🇪", "GMT+01:00 (Europe/Podgorica)"),
+    CountryInfo("Morocco", "🇲🇦", "GMT+01:00 (Africa/Casablanca)"),
+    CountryInfo("Mozambique", "🇲🇿", "GMT+02:00 (Africa/Maputo)"),
+    CountryInfo("Myanmar", "🇲🇲", "GMT+06:30 (Asia/Yangon)"),
+    CountryInfo("Namibia", "🇳🇦", "GMT+02:00 (Africa/Windhoek)"),
+    CountryInfo("Nauru", "🇳🇷", "GMT+12:00 (Pacific/Nauru)"),
+    CountryInfo("Nepal", "🇳🇵", "GMT+05:45 (Asia/Kathmandu)"),
+    CountryInfo("Netherlands", "🇳🇱", "GMT+01:00 (Europe/Amsterdam)"),
+    CountryInfo("New Zealand", "🇳🇿", "GMT+13:00 (Pacific/Auckland)"),
+    CountryInfo("Nicaragua", "🇳🇮", "GMT-06:00 (America/Managua)"),
+    CountryInfo("Niger", "🇳🇪", "GMT+01:00 (Africa/Niamey)"),
+    CountryInfo("Nigeria", "🇳🇬", "GMT+01:00 (Africa/Lagos)"),
+    CountryInfo("North Macedonia", "🇲🇰", "GMT+01:00 (Europe/Skopje)"),
+    CountryInfo("Norway", "🇳🇴", "GMT+01:00 (Europe/Oslo)"),
+    CountryInfo("Oman", "🇴🇲", "GMT+04:00 (Asia/Muscat)"),
+    CountryInfo("Pakistan", "🇵🇰", "GMT+05:00 (Asia/Karachi)"),
+    CountryInfo("Palau", "🇵🇬", "GMT+09:00 (Pacific/Palau)"),
+    CountryInfo("Panama", "🇵🇦", "GMT-05:00 (America/Panama)"),
+    CountryInfo("Papua New Guinea", "🇵🇬", "GMT+10:00 (Pacific/Port_Moresby)"),
+    CountryInfo("Paraguay", "🇵🇾", "GMT-04:00 (America/Asuncion)"),
+    CountryInfo("Peru", "🇵🇪", "GMT-05:00 (America/Lima)"),
+    CountryInfo("Philippines", "🇵🇭", "GMT+08:00 (Asia/Manila)"),
+    CountryInfo("Poland", "🇵🇱", "GMT+01:00 (Europe/Warsaw)"),
+    CountryInfo("Portugal", "🇵🇹", "GMT+00:00 (Europe/Lisbon)"),
+    CountryInfo("Qatar", "🇶🇦", "GMT+03:00 (Asia/Qatar)"),
+    CountryInfo("Romania", "🇷🇴", "GMT+02:00 (Europe/Bucharest)"),
+    CountryInfo("Russia", "🇷🇺", "GMT+03:00 (Europe/Moscow)"),
+    CountryInfo("Rwanda", "🇷🇼", "GMT+02:00 (Africa/Kigali)"),
+    CountryInfo("Saint Kitts and Nevis", "🇰🇳", "GMT-04:00 (America/St_Kitts)"),
+    CountryInfo("Saint Lucia", "🇱🇨", "GMT-04:00 (America/St_Lucia)"),
+    CountryInfo("Saint Vincent and the Grenadines", "🇻🇨", "GMT-04:00 (America/St_Vincent)"),
+    CountryInfo("Samoa", "🇼🇸", "GMT+13:00 (Pacific/Apia)"),
+    CountryInfo("San Marino", "🇸🇲", "GMT+01:00 (Europe/San_Marino)"),
+    CountryInfo("Sao Tome and Principe", "🇸🇹", "GMT+00:00 (Africa/Sao_Tome)"),
+    CountryInfo("Saudi Arabia", "🇸🇦", "GMT+03:00 (Asia/Riyadh)"),
+    CountryInfo("Senegal", "🇸🇳", "GMT+00:00 (Africa/Dakar)"),
+    CountryInfo("Serbia", "🇷🇸", "GMT+01:00 (Europe/Belgrade)"),
+    CountryInfo("Seychelles", "🇸🇨", "GMT+04:00 (Indian/Mahe)"),
+    CountryInfo("Sierra Leone", "🇸🇱", "GMT+00:00 (Africa/Freetown)"),
+    CountryInfo("Singapore", "🇸🇬", "GMT+08:00 (Asia/Singapore)"),
+    CountryInfo("Slovakia", "🇸🇰", "GMT+01:00 (Europe/Bratislava)"),
+    CountryInfo("Slovenia", "🇸🇮", "GMT+01:00 (Europe/Ljubljana)"),
+    CountryInfo("Solomon Islands", "🇸🇧", "GMT+11:00 (Pacific/Guadalcanal)"),
+    CountryInfo("Somalia", "🇸🇴", "GMT+03:00 (Africa/Mogadishu)"),
+    CountryInfo("South Africa", "🇿🇦", "GMT+02:00 (Africa/Johannesburg)"),
+    CountryInfo("South Korea", "🇰🇷", "GMT+09:00 (Asia/Seoul)"),
+    CountryInfo("South Sudan", "🇸🇸", "GMT+03:00 (Africa/Juba)"),
+    CountryInfo("Spain", "🇪🇸", "GMT+01:00 (Europe/Madrid)"),
+    CountryInfo("Sri Lanka", "🇱🇰", "GMT+05:30 (Asia/Colombo)"),
+    CountryInfo("Sudan", "🇸🇩", "GMT+02:00 (Africa/Khartoum)"),
+    CountryInfo("Suriname", "🇸🇷", "GMT-03:00 (America/Paramaribo)"),
+    CountryInfo("Sweden", "🇸🇪", "GMT+01:00 (Europe/Stockholm)"),
+    CountryInfo("Switzerland", "🇨🇭", "GMT+01:00 (Europe/Zurich)"),
+    CountryInfo("Syria", "🇸🇾", "GMT+02:00 (Asia/Damascus)"),
+    CountryInfo("Taiwan", "🇹🇼", "GMT+08:00 (Asia/Taipei)"),
+    CountryInfo("Tajikistan", "🇹🇯", "GMT+05:00 (Asia/Dushanbe)"),
+    CountryInfo("Tanzania", "🇹🇿", "GMT+03:00 (Africa/Dar_es_Salaam)"),
+    CountryInfo("Thailand", "🇹🇭", "GMT+07:00 (Asia/Bangkok)"),
+    CountryInfo("Timor-Leste", "🇹🇱", "GMT+09:00 (Asia/Dili)"),
+    CountryInfo("Togo", "🇹🇬", "GMT+00:00 (Africa/Lome)"),
+    CountryInfo("Tonga", "🇹🇴", "GMT+13:00 (Pacific/Tongatapu)"),
+    CountryInfo("Trinidad and Tobago", "🇹🇹", "GMT-04:00 (America/Port_of_Spain)"),
+    CountryInfo("Tunisia", "🇹🇳", "GMT+01:00 (Africa/Tunis)"),
+    CountryInfo("Turkey", "🇹🇷", "GMT+03:00 (Europe/Istanbul)"),
+    CountryInfo("Turkmenistan", "🇹🇲", "GMT+05:00 (Asia/Ashgabat)"),
+    CountryInfo("Tuvalu", "🇹🇻", "GMT+12:00 (Pacific/Funafuti)"),
+    CountryInfo("Uganda", "🇺🇬", "GMT+03:00 (Africa/Kampala)"),
+    CountryInfo("Ukraine", "🇺🇦", "GMT+02:00 (Europe/Kiev)"),
+    CountryInfo("United Arab Emirates", "🇦🇪", "GMT+04:00 (Asia/Dubai)"),
+    CountryInfo("United Kingdom", "🇬🇧", "GMT+00:00 (Europe/London)"),
+    CountryInfo("United States", "🇺🇸", "GMT-05:00 (America/New_York)"),
+    CountryInfo("Uruguay", "🇺🇾", "GMT-03:00 (America/Montevideo)"),
+    CountryInfo("Uzbekistan", "🇺🇿", "GMT+05:00 (Asia/Tashkent)"),
+    CountryInfo("Vanuatu", "🇻🇺", "GMT+11:00 (Pacific/Efate)"),
+    CountryInfo("Vatican City", "🇻🇦", "GMT+01:00 (Europe/Vatican)"),
+    CountryInfo("Venezuela", "🇻🇪", "GMT-04:00 (America/Caracas)"),
+    CountryInfo("Vietnam", "🇻🇳", "GMT+07:00 (Asia/Ho_Chi_Minh)"),
+    CountryInfo("Yemen", "🇾🇪", "GMT+03:00 (Asia/Aden)"),
+    CountryInfo("Zambia", "🇿🇲", "GMT+02:00 (Africa/Lusaka)"),
+    CountryInfo("Zimbabwe", "🇿🇼", "GMT+02:00 (Africa/Harare)")
+)

+ 49 - 34
app/src/main/java/com/fastest/pass/home/presentation/ui/components/HomeScreen.kt

@@ -2,7 +2,9 @@ package com.fastest.pass.home.presentation.ui.components
 
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
+import androidx.compose.foundation.border
 import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.ColumnScope
@@ -53,7 +55,6 @@ fun HomeScreen(clickType: (ClickType) -> Unit) {
     Box(
         modifier = Modifier
             .fillMaxSize(),
-        contentAlignment = Alignment.TopCenter
     ) {
         Column(
             modifier = Modifier,
@@ -61,8 +62,8 @@ fun HomeScreen(clickType: (ClickType) -> Unit) {
             Row(
                 modifier = Modifier
                     .fillMaxWidth()
-                    .height(75.dp)
-                    .background(colorResource(id = R.color.gray_splash))
+                    .height(25.dp)
+                    .background(colorResource(id = R.color.blue_login))
             ) { }
 
             Spacer(modifier = Modifier.height(20.dp))
@@ -74,31 +75,38 @@ fun HomeScreen(clickType: (ClickType) -> Unit) {
         Column(
             modifier = Modifier
                 .padding(horizontal = 30.dp)
-                .padding(bottom = 50.dp)
-                .align(Alignment.BottomCenter)
+                .align(Alignment.Center),
+            verticalArrangement = Arrangement.Center,
+            horizontalAlignment = Alignment.CenterHorizontally
         ) {
             SocialAppsLogo()
-            Spacer(modifier = Modifier.height(25.dp))
+//            Spacer(modifier = Modifier.height(25.dp))
+//            ItemText()
+//            Spacer(modifier = Modifier.height(5.dp))
+//            ItemText2()
+//            Spacer(modifier = Modifier.height(15.dp))
+//            AddItemsButton(buttonText = R.string.add_new_items) { clickType ->
+//                clickType(clickType)
+//            }
+//            Spacer(modifier = Modifier.height(15.dp))
+//            AddImportButton(buttonText = R.string.import_passwords)
+        }
+
+        Column(
+            modifier = Modifier
+                .padding(horizontal = 30.dp)
+                .padding(top = 0.dp)
+                .align(Alignment.BottomCenter)
+        ) {
             ItemText()
-            Spacer(modifier = Modifier.height(5.dp))
+            Spacer(modifier = Modifier.height(10.dp))
             ItemText2()
             Spacer(modifier = Modifier.height(15.dp))
             AddItemsButton(buttonText = R.string.add_new_items) { clickType ->
                 clickType(clickType)
             }
-//            Spacer(modifier = Modifier.height(15.dp))
-//            AddImportButton(buttonText = R.string.import_passwords)
+            Spacer(modifier = Modifier.height(25.dp))
         }
-
-//        Column(
-//            modifier = Modifier
-//                .padding(horizontal = 30.dp, vertical = 15.dp)
-//                .align(Alignment.BottomCenter)
-//        ) {
-//            AddItemsButton(buttonText = R.string.add_items_onebyone)
-//            Spacer(modifier = Modifier.height(10.dp))
-//            AddImportButton(buttonText = R.string.import_passwords)
-//        }
     }
 }
 
@@ -140,7 +148,7 @@ fun SearchBarRow() {
                 )
             },
             colors = SearchBarDefaults.colors(
-                containerColor = colorResource(id = R.color.white),
+                containerColor = colorResource(id = R.color.transparent),
                 dividerColor = Color.Transparent,
                 inputFieldColors = TextFieldDefaults.colors(
                     focusedTextColor = colorResource(id = R.color.gray_splash),
@@ -152,24 +160,30 @@ fun SearchBarRow() {
                 )
             ),
             modifier = Modifier
-                .padding(start = 30.dp)
+                .padding(horizontal = 30.dp)
                 .height(50.dp)
                 .weight(1F)
+                .border(
+                    1.dp,
+                    color = colorResource(id = R.color.gray_border_textfield),
+                    shape = RoundedCornerShape(25.dp)
+                ),
+            shape = RoundedCornerShape(25.dp),
         ) {}
 
-        Spacer(Modifier.width(10.dp))
-
-        Image(
-            painter = painterResource(id = R.drawable.notification_bell),
-            contentDescription = null,
-            colorFilter = ColorFilter.tint(
-                colorResource(id = R.color.gray_splash)
-            ),
-            modifier = Modifier
-                .padding(end = 30.dp)
-                .height(30.dp)
-                .align(Alignment.CenterVertically)
-        )
+//        Spacer(Modifier.width(10.dp))
+//
+//        Image(
+//            painter = painterResource(id = R.drawable.notification_bell),
+//            contentDescription = null,
+//            colorFilter = ColorFilter.tint(
+//                colorResource(id = R.color.gray_splash)
+//            ),
+//            modifier = Modifier
+//                .padding(end = 30.dp)
+//                .height(30.dp)
+//                .align(Alignment.CenterVertically)
+//        )
     }
 }
 
@@ -196,6 +210,7 @@ fun SocialAppsLogo() {
             contentDescription = null,
             modifier = Modifier
                 .size(205.dp, 203.dp)
+                .align(Alignment.Center)
         )
     }
 }

+ 32 - 13
app/src/main/java/com/fastest/pass/login/presentation/ui/LoginFragment.kt

@@ -4,10 +4,18 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material.Scaffold
+import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.ComposeView
+import androidx.compose.ui.res.colorResource
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import com.fastest.pass.BaseFragment
+import com.fastest.pass.R
 import com.fastest.pass.login.presentation.ui.components.ClickType
 import com.fastest.pass.login.presentation.ui.components.LoginScreen
 import com.fastest.pass.login.presentation.viewmodels.LoginViewModel
@@ -37,19 +45,30 @@ class LoginFragment : BaseFragment() {
         return ComposeView(requireActivity()).apply {
             setContent {
                 FastestPassTheme {
-                    LoginScreen { clickType ->
-                        when (clickType) {
-                            ClickType.SIGNUP_CLICK -> {
-                                viewmodel.navigateTo(LoginRoute.OpenSignUp)
-                            }
-                            ClickType.FORGOT_PASSWORD_CLICK -> {
-                                viewmodel.navigateTo(LoginRoute.OpenForgotPassword)
-                            }
-                            ClickType.GO_BACK -> {
-                                viewmodel.navigateTo(LoginRoute.GoBack)
-                            }
-                            ClickType.MASTER_LOGIN -> {
-                                viewmodel.navigateTo(LoginRoute.OpenMasterLoginScreen)
+                    Scaffold(
+                        modifier = Modifier.fillMaxSize()
+                    ) { paddingValues ->
+                        Box(
+                            modifier = Modifier
+                                .fillMaxSize()
+                                .background(colorResource(id = R.color.white))
+                                .padding(paddingValues.calculateBottomPadding())
+                        ) {
+                            LoginScreen { clickType ->
+                                when (clickType) {
+                                    ClickType.SIGNUP_CLICK -> {
+                                        viewmodel.navigateTo(LoginRoute.OpenSignUp)
+                                    }
+                                    ClickType.FORGOT_PASSWORD_CLICK -> {
+                                        viewmodel.navigateTo(LoginRoute.OpenForgotPassword)
+                                    }
+                                    ClickType.GO_BACK -> {
+                                        viewmodel.navigateTo(LoginRoute.GoBack)
+                                    }
+                                    ClickType.MASTER_LOGIN -> {
+                                        viewmodel.navigateTo(LoginRoute.OpenMasterLoginScreen)
+                                    }
+                                }
                             }
                         }
                     }

+ 17 - 16
app/src/main/java/com/fastest/pass/security/presentation/ui/components/SecurityScreen.kt

@@ -62,8 +62,8 @@ fun SecurityScreen() {
             Row(
                 modifier = Modifier
                     .fillMaxWidth()
-                    .height(75.dp)
-                    .background(colorResource(id = R.color.gray_splash))
+                    .height(25.dp)
+                    .background(colorResource(id = R.color.blue_login))
             ) { }
 
             Spacer(modifier = Modifier.height(20.dp))
@@ -136,24 +136,25 @@ fun SearchBarRowSS() {
                 )
             ),
             modifier = Modifier
-                .padding(start = 30.dp)
+                .padding(horizontal = 30.dp)
                 .height(50.dp)
                 .weight(1F)
+            ,
         ) {}
 
-        Spacer(Modifier.width(10.dp))
-
-        Image(
-            painter = painterResource(id = R.drawable.notification_bell),
-            contentDescription = null,
-            colorFilter = ColorFilter.tint(
-                colorResource(id = R.color.gray_splash)
-            ),
-            modifier = Modifier
-                .padding(end = 30.dp)
-                .height(30.dp)
-                .align(Alignment.CenterVertically)
-        )
+//        Spacer(Modifier.width(10.dp))
+//
+//        Image(
+//            painter = painterResource(id = R.drawable.notification_bell),
+//            contentDescription = null,
+//            colorFilter = ColorFilter.tint(
+//                colorResource(id = R.color.gray_splash)
+//            ),
+//            modifier = Modifier
+//                .padding(end = 30.dp)
+//                .height(30.dp)
+//                .align(Alignment.CenterVertically)
+//        )
     }
 }
 

+ 1 - 1
app/src/main/java/com/fastest/pass/ui/theme/Theme.kt

@@ -63,7 +63,7 @@ fun FastestPassTheme(
             window.statusBarColor = Color.Transparent.toArgb()
             window.navigationBarColor = Color.Transparent.toArgb()
 //            window.navigationBarColor = colorScheme.surfaceColorAtElevation(4.dp).toArgb()
-            WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme
+            WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme
             WindowCompat.getInsetsController(window, view).isAppearanceLightNavigationBars = darkTheme
         }
     }

+ 1 - 1
app/src/main/java/com/fastest/pass/welcome/presentation/ui/component/WelcomeScreen.kt

@@ -71,7 +71,7 @@ fun WelcomeTutorial(onClick: (ClickType) -> Unit) {
             modifier = Modifier
                 .fillMaxWidth()
                 .height(75.dp)
-                .background(colorResource(id = R.color.gray_splash))
+                .background(colorResource(id = R.color.blue_login))
         ) { }
 
         Box(modifier = Modifier