Просмотр исходного кода

Added 2 more categories to the list, driver's license & passport

Khubaib 5 месяцев назад
Родитель
Сommit
2c962581ac

+ 6 - 4
app/src/main/java/com/fastest/pass/home/presentation/ui/components/AddNewItemsScreen.kt

@@ -49,7 +49,9 @@ enum class ClickTypeAddNewItem {
     Payment,
     Wifi,
     Note,
-    Contact
+    Contact,
+    Driver,
+    Passport
 }
 
 @Composable
@@ -143,7 +145,9 @@ fun AddNewItemList(clickType: (ClickTypeAddNewItem) -> Unit) {
                 AddNewItem("Payment","Payment Card", R.drawable.cards),
                 AddNewItem("Wifi","Wi-Fi Password", R.drawable.wifi),
                 AddNewItem("Note","Secure Note", R.drawable.secure_note),
-                AddNewItem("Contact","Contact Info", R.drawable.contact_info)
+                AddNewItem("Contact","Contact Info", R.drawable.contact_info),
+                AddNewItem("Driver","Driver's License", R.drawable.driver_license),
+                AddNewItem("Passport","Passport", R.drawable.passport),
             )
         )
     }
@@ -171,8 +175,6 @@ fun AddNewItemList(clickType: (ClickTypeAddNewItem) -> Unit) {
 }
 
 //                AddNewItem("Email Account", R.drawable.email_account),
-//                AddNewItem("Driver's License", R.drawable.driver_license),
-//                AddNewItem("Passport", R.drawable.passport),
 //                AddNewItem("Social Security Number", R.drawable.social_security_num),
 //                AddNewItem("Address", R.drawable.address),
 //                AddNewItem("Database", R.drawable.database),

+ 24 - 1
app/src/main/java/com/fastest/pass/home/presentation/ui/components/NewItemFormScreen.kt

@@ -34,7 +34,7 @@ enum class ClickTypeNewItemForm {
 }
 
 @Composable
-fun NewItemFormScreen(screenName: String, clickType: (ClickTypeNewItemForm) -> Unit) {
+fun NewItemFormScreen(screenName: String, screenNameType: ClickTypeAddNewItem, clickType: (ClickTypeNewItemForm) -> Unit) {
     Column(
         modifier = Modifier
             .fillMaxSize()
@@ -53,6 +53,29 @@ fun NewItemFormScreen(screenName: String, clickType: (ClickTypeNewItemForm) -> U
         ShowNewItemFormHeader(text = screenName) { clickTypeNewItemForm ->
             clickType(clickTypeNewItemForm)
         }
+
+        when (screenNameType) {
+            ClickTypeAddNewItem.Password -> {
+            }
+            ClickTypeAddNewItem.Bank -> {
+            }
+            ClickTypeAddNewItem.Payment -> {
+            }
+            ClickTypeAddNewItem.Wifi -> {
+            }
+            ClickTypeAddNewItem.Note -> {
+            }
+            ClickTypeAddNewItem.Contact -> {
+            }
+            ClickTypeAddNewItem.Driver -> {
+
+            }
+            ClickTypeAddNewItem.Passport -> {
+
+            }
+            ClickTypeAddNewItem.GOTO_HOME -> {}
+        }
+
     }
 }
 

+ 14 - 7
app/src/main/java/com/fastest/pass/home/presentation/ui/fragment/AddNewItemsFragment.kt

@@ -68,28 +68,35 @@ class AddNewItemsFragment : BaseFragment() {
                                             viewmodel.navigateTo(AddNewItemsRoute.Go_Back_Home)
                                         }
                                         ClickTypeAddNewItem.Password -> {
-                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem.name)
+                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem)
                                             viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
-
                                         }
                                         ClickTypeAddNewItem.Bank -> {
-                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem.name)
+                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem)
                                             viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
                                         }
                                         ClickTypeAddNewItem.Payment -> {
-                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem.name)
+                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem)
                                             viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
                                         }
                                         ClickTypeAddNewItem.Wifi -> {
-                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem.name)
+                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem)
                                             viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
                                         }
                                         ClickTypeAddNewItem.Note -> {
-                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem.name)
+                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem)
                                             viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
                                         }
                                         ClickTypeAddNewItem.Contact -> {
-                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem.name)
+                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem)
+                                            viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
+                                        }
+                                        ClickTypeAddNewItem.Driver -> {
+                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem)
+                                            viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
+                                        }
+                                        ClickTypeAddNewItem.Passport -> {
+                                            viewmodel.navigateToItemScreen(clickTypeAddNewItem)
                                             viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
                                         }
                                     }

+ 29 - 2
app/src/main/java/com/fastest/pass/home/presentation/ui/fragment/NewItemFormFragment.kt

@@ -19,10 +19,12 @@ import androidx.fragment.app.viewModels
 import androidx.lifecycle.ViewModelProvider
 import com.fastest.pass.BaseFragment
 import com.fastest.pass.R
+import com.fastest.pass.home.presentation.ui.components.ClickTypeAddNewItem
 import com.fastest.pass.home.presentation.ui.components.ClickTypeNewItemForm
 import com.fastest.pass.home.presentation.ui.components.NewItemFormScreen
 import com.fastest.pass.home.presentation.viewmodels.AddNewItemsViewModel
 import com.fastest.pass.home.presentation.viewmodels.NewItemFormViewModel
+import com.fastest.pass.home.utils.AddNewItemsRoute
 import com.fastest.pass.home.utils.NewItemFormNavigation
 import com.fastest.pass.home.utils.NewItemFormRoute
 import com.fastest.pass.ui.theme.FastestPassTheme
@@ -61,13 +63,38 @@ class NewItemFormFragment : BaseFragment() {
                                 .padding(paddingValues.calculateBottomPadding())
                         ) {
                             val screenName = viewmodelAddNewItems.itemScreenName.collectAsState()
+                            var headerName: String = ""
                             Log.d("test_screen_name", "NIFF::screenName = ${screenName.value}")
 
                             when (screenName.value) {
-
+                                ClickTypeAddNewItem.Password -> {
+                                   headerName = "Add Password"
+                                }
+                                ClickTypeAddNewItem.Bank -> {
+                                    headerName = "Add Bank Account"
+                                }
+                                ClickTypeAddNewItem.Payment -> {
+                                    headerName = "Add Payment Card"
+                                }
+                                ClickTypeAddNewItem.Wifi -> {
+                                    headerName = "Add Wi-Fi Password"
+                                }
+                                ClickTypeAddNewItem.Note -> {
+                                    headerName = "Add Secure Note"
+                                }
+                                ClickTypeAddNewItem.Contact -> {
+                                    headerName = "Add Contact Info"
+                                }
+                                ClickTypeAddNewItem.Driver -> {
+                                    headerName = "Add Driver's License"
+                                }
+                                ClickTypeAddNewItem.Passport -> {
+                                    headerName = "Add Passport"
+                                }
+                                ClickTypeAddNewItem.GOTO_HOME -> {}
                             }
 
-                            NewItemFormScreen(screenName.value) { clickTypeNewItemForm ->
+                            NewItemFormScreen(headerName, screenName.value) { clickTypeNewItemForm ->
                                 when (clickTypeNewItemForm) {
                                     ClickTypeNewItemForm.GO_BACK_ADD_NEW_ITEM -> {
                                         viewmodel.navigateTo(NewItemFormRoute.GoBackAddNewItemsScreen)

+ 6 - 5
app/src/main/java/com/fastest/pass/home/presentation/viewmodels/AddNewItemsViewModel.kt

@@ -2,6 +2,7 @@ package com.fastest.pass.home.presentation.viewmodels
 
 import android.util.Log
 import androidx.lifecycle.ViewModel
+import com.fastest.pass.home.presentation.ui.components.ClickTypeAddNewItem
 import com.fastest.pass.home.utils.AddNewItemsRoute
 import kotlinx.coroutines.flow.MutableStateFlow
 
@@ -9,15 +10,15 @@ class AddNewItemsViewModel : ViewModel() {
     private val _router = MutableStateFlow<AddNewItemsRoute>(AddNewItemsRoute.OpenNoneScreen)
     val router: MutableStateFlow<AddNewItemsRoute> = _router
 
-    private val _itemScreenName = MutableStateFlow<String>("test")
-    val itemScreenName: MutableStateFlow<String> = _itemScreenName
+    private val _itemScreenName = MutableStateFlow<ClickTypeAddNewItem>(ClickTypeAddNewItem.Password)
+    val itemScreenName: MutableStateFlow<ClickTypeAddNewItem> = _itemScreenName
 
     fun navigateTo(addNewItemsRoute: AddNewItemsRoute) {
         _router.value = addNewItemsRoute
     }
 
-    fun navigateToItemScreen(screenName: String) {
-        Log.d("test_screen_name", "screenName = $screenName")
-        _itemScreenName.value = screenName
+    fun navigateToItemScreen(clickTypeAddNewItem: ClickTypeAddNewItem) {
+        Log.d("test_screen_name", "screenName = ${clickTypeAddNewItem.name}")
+        _itemScreenName.value = clickTypeAddNewItem
     }
 }