浏览代码

Created new item form fragment and screen for different types of form items depending upon the user selected item

Khubaib 4 月之前
父节点
当前提交
8100f3df4a
共有 19 个文件被更改,包括 341 次插入50 次删除
  1. 1 0
      app/src/main/java/com/fastest/pass/MainActivity.kt
  2. 19 0
      app/src/main/java/com/fastest/pass/home/di/NewItemFormModule.kt
  3. 1 0
      app/src/main/java/com/fastest/pass/home/domain/model/AddNewItem.kt
  4. 13 6
      app/src/main/java/com/fastest/pass/home/presentation/ui/components/AddNewItemCard.kt
  5. 36 27
      app/src/main/java/com/fastest/pass/home/presentation/ui/components/AddNewItemsScreen.kt
  6. 3 3
      app/src/main/java/com/fastest/pass/home/presentation/ui/components/HomeScreen.kt
  7. 98 0
      app/src/main/java/com/fastest/pass/home/presentation/ui/components/NewItemFormScreen.kt
  8. 32 5
      app/src/main/java/com/fastest/pass/home/presentation/ui/fragment/AddNewItemsFragment.kt
  9. 70 0
      app/src/main/java/com/fastest/pass/home/presentation/ui/fragment/NewItemFormFragment.kt
  10. 7 0
      app/src/main/java/com/fastest/pass/home/presentation/viewmodels/AddNewItemsViewModel.kt
  11. 14 0
      app/src/main/java/com/fastest/pass/home/presentation/viewmodels/NewItemFormViewModel.kt
  12. 7 0
      app/src/main/java/com/fastest/pass/home/utils/AddNewItemsNavigation.kt
  13. 1 0
      app/src/main/java/com/fastest/pass/home/utils/AddNewItemsRoute.kt
  14. 23 0
      app/src/main/java/com/fastest/pass/home/utils/NewItemFormNavigation.kt
  15. 7 0
      app/src/main/java/com/fastest/pass/home/utils/NewItemFormRoute.kt
  16. 0 6
      app/src/main/java/com/fastest/pass/security/presentation/ui/fragment/SecurityFragment.kt
  17. 2 2
      app/src/main/java/com/fastest/pass/welcome/presentation/ui/component/WelcomeScreen.kt
  18. 5 0
      app/src/main/res/navigation/nav_graph.xml
  19. 2 1
      app/src/main/res/values/strings.xml

+ 1 - 0
app/src/main/java/com/fastest/pass/MainActivity.kt

@@ -2,6 +2,7 @@ package com.fastest.pass
 
 import android.app.AlertDialog
 import android.os.Bundle
+import android.util.Log
 import androidx.activity.enableEdgeToEdge
 import androidx.fragment.app.FragmentActivity
 import androidx.navigation.NavController

+ 19 - 0
app/src/main/java/com/fastest/pass/home/di/NewItemFormModule.kt

@@ -0,0 +1,19 @@
+package com.fastest.pass.home.di
+
+import com.fastest.pass.home.utils.NewItemFormNavigation
+import dagger.Module
+import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
+import javax.inject.Singleton
+
+@Module
+@InstallIn(SingletonComponent::class)
+object NewItemFormModule {
+
+    @Provides
+    @Singleton
+    fun provideNavigation() : NewItemFormNavigation {
+        return NewItemFormNavigation()
+    }
+}

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

@@ -1,6 +1,7 @@
 package com.fastest.pass.home.domain.model
 
 data class AddNewItem(
+    val id: String,
     val name: String,
     val icon: Int
 )

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

@@ -1,5 +1,6 @@
 package com.fastest.pass.home.presentation.ui.components
 
+import android.util.Log
 import androidx.compose.foundation.BorderStroke
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
@@ -16,22 +17,24 @@ import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.clip
 import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.ColorFilter
-import androidx.compose.ui.graphics.RectangleShape
+import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.unit.dp
-import androidx.compose.ui.unit.sp
 import com.fastest.pass.R
 import com.fastest.pass.home.domain.model.AddNewItem
 
 @Composable
-fun AddNewItemCard(item: AddNewItem) {
+fun AddNewItemCard(item: AddNewItem, clickType: (ClickTypeAddNewItem) -> Unit) {
     Column(
         modifier = Modifier
             .padding(top = 15.dp)
@@ -48,12 +51,16 @@ fun AddNewItemCard(item: AddNewItem) {
                 )
                 .clip(RoundedCornerShape(25.dp))
                 .background(Color.Transparent)
-                .padding(28.dp)
+                .clickable {
+                    clickType.invoke(ClickTypeAddNewItem.valueOf(item.id))
+                }
         ) {
             Image(
                 painter = painterResource(id = item.icon),
                 contentDescription = item.name,
-                modifier = Modifier.size(48.dp),
+                modifier = Modifier
+                    .padding(28.dp)
+                    .size(48.dp)
             )
         }
         Spacer(modifier = Modifier.height(8.dp))

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

@@ -43,7 +43,13 @@ import com.fastest.pass.home.domain.model.AddNewItem
 import com.fastest.pass.login.presentation.ui.components.ClickType
 
 enum class ClickTypeAddNewItem {
-    GOTO_HOME
+    GOTO_HOME,
+    Password,
+    Bank,
+    Payment,
+    Wifi,
+    Note,
+    Contact
 }
 
 @Composable
@@ -69,13 +75,14 @@ fun AddNewItemsScreen(clickType: (ClickTypeAddNewItem) -> Unit) {
         Spacer(modifier = Modifier.height(20.dp))
         GapLineANI()
         Spacer(modifier = Modifier.height(0.dp))
-        AddNewItemList()
+        AddNewItemList() { itemName ->
+            clickType(itemName)
         }
+    }
 }
 
 @Composable
 fun ColumnScope.ShowAddNewItemsHeader(text: String, clickType: (ClickTypeAddNewItem) -> Unit) {
-    val c = LocalContext.current
     Row(
         modifier = Modifier
             .align(Alignment.Start)
@@ -127,31 +134,16 @@ fun GapLineANI() {
 }
 
 @Composable
-fun AddNewItemList() {
+fun AddNewItemList(clickType: (ClickTypeAddNewItem) -> Unit) {
     val itemList by remember {
         mutableStateOf(
             listOf(
-                AddNewItem("Passwords", R.drawable.password_lock),
-                AddNewItem("Bank Account", R.drawable.bank),
-                AddNewItem("Payment Card", R.drawable.cards),
-                AddNewItem("Wi-Fi Password", R.drawable.wifi),
-                AddNewItem("Secure Note", R.drawable.secure_note),
-                AddNewItem("Contact Info", R.drawable.contact_info)
-
-//                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),
-//                AddNewItem("Server", R.drawable.server),
-//                AddNewItem("Software License", R.drawable.software_license),
-//                AddNewItem("Membership", R.drawable.membership),
-//                AddNewItem("Health Insurance", R.drawable.health_insurance),
-//                AddNewItem("Insurance Policy", R.drawable.insurance_policy),
-//                AddNewItem("Instant Messenger", R.drawable.messenger),
-//                AddNewItem("SSH Key", R.drawable.ssh_key),
-//                AddNewItem("Folders", R.drawable.folders),
+                AddNewItem("Password","Passwords", R.drawable.password_lock),
+                AddNewItem("Bank","Bank Account", R.drawable.bank),
+                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)
             )
         )
     }
@@ -169,9 +161,26 @@ fun AddNewItemList() {
             contentPadding = PaddingValues(6.dp)
         ) {
             items(itemList) { item ->
-                AddNewItemCard(item = item)
+                AddNewItemCard(item = item) { itemName ->
+                    clickType(itemName)
+                }
             }
         }
     }
 
-}
+}
+
+//                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),
+//                AddNewItem("Server", R.drawable.server),
+//                AddNewItem("Software License", R.drawable.software_license),
+//                AddNewItem("Membership", R.drawable.membership),
+//                AddNewItem("Health Insurance", R.drawable.health_insurance),
+//                AddNewItem("Insurance Policy", R.drawable.insurance_policy),
+//                AddNewItem("Instant Messenger", R.drawable.messenger),
+//                AddNewItem("SSH Key", R.drawable.ssh_key),
+//                AddNewItem("Folders", R.drawable.folders),

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

@@ -83,11 +83,11 @@ fun HomeScreen(clickType: (ClickType) -> Unit) {
             Spacer(modifier = Modifier.height(5.dp))
             ItemText2()
             Spacer(modifier = Modifier.height(15.dp))
-            AddItemsButton(buttonText = R.string.add_items_onebyone) { clickType ->
+            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(15.dp))
+//            AddImportButton(buttonText = R.string.import_passwords)
         }
 
 //        Column(

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

@@ -0,0 +1,98 @@
+package com.fastest.pass.home.presentation.ui.components
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
+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.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.navigationBarsPadding
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.statusBarsPadding
+import androidx.compose.material3.IconButton
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Surface
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.ColorFilter
+import androidx.compose.ui.res.colorResource
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
+import com.fastest.pass.R
+
+enum class ClickTypeNewItemForm {
+    GO_BACK_ADD_NEW_ITEM
+}
+
+@Composable
+fun NewItemFormScreen(clickType: (ClickTypeNewItemForm) -> Unit) {
+    Column(
+        modifier = Modifier
+            .fillMaxSize()
+            .padding(top = 0.dp)
+            .statusBarsPadding()
+            .navigationBarsPadding()
+    ) {
+        Row(
+            modifier = Modifier
+                .fillMaxWidth()
+                .height(75.dp)
+                .background(colorResource(id = R.color.gray_splash))
+        ) { }
+
+        Spacer(modifier = Modifier.height(20.dp))
+        ShowNewItemFormHeader(text = stringResource(id = R.string.add_password)) { clickTypeNewItemForm ->
+            clickType(clickTypeNewItemForm)
+        }
+    }
+}
+
+@Composable
+fun ColumnScope.ShowNewItemFormHeader(text: String, clickType: (ClickTypeNewItemForm) -> Unit) {
+    Row(
+        modifier = Modifier
+            .align(Alignment.Start)
+            .fillMaxWidth(),
+        verticalAlignment = Alignment.CenterVertically,
+    ) {
+        IconButton(
+            onClick = {
+                clickType.invoke(ClickTypeNewItemForm.GO_BACK_ADD_NEW_ITEM)
+            },
+            modifier = Modifier
+                .padding(start = 30.dp)
+                .size(24.dp, 24.dp)
+        ) {
+            Image(
+                painter = painterResource(id = R.drawable.arrow_left),
+                contentDescription = "Arrow-Back",
+                modifier = Modifier.size(24.dp, 24.dp),
+                colorFilter = ColorFilter.tint(
+                    color = colorResource(id = R.color.gray_splash)
+                )
+            )
+        }
+        Surface(
+            modifier = Modifier
+                .padding(start = 15.dp),
+            color = colorResource(id = R.color.transparent)
+        ) {
+            Text(
+                text = text,
+                color = colorResource(id = R.color.gray_splash),
+                style = MaterialTheme.typography.displayLarge.copy(
+                    fontSize = 24.sp
+                ),
+            )
+        }
+    }
+}

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

@@ -1,14 +1,17 @@
 package com.fastest.pass.home.presentation.ui.fragment
 
 import android.os.Bundle
+import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.widget.Toast
 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.runtime.collectAsState
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.ComposeView
 import androidx.compose.ui.res.colorResource
@@ -20,8 +23,11 @@ import com.fastest.pass.home.presentation.ui.components.ClickTypeAddNewItem
 import com.fastest.pass.home.presentation.viewmodels.AddNewItemsViewModel
 import com.fastest.pass.home.utils.AddNewItemsNavigation
 import com.fastest.pass.home.utils.AddNewItemsRoute
+import com.fastest.pass.login.presentation.ui.components.LoginScreen
+import com.fastest.pass.security.presentation.ui.components.SecurityScreen
 import com.fastest.pass.ui.theme.FastestPassTheme
 import dagger.hilt.android.AndroidEntryPoint
+import kotlinx.coroutines.flow.collect
 import javax.inject.Inject
 
 @AndroidEntryPoint
@@ -54,13 +60,34 @@ class AddNewItemsFragment : BaseFragment() {
                                 .background(colorResource(id = R.color.white))
                                 .padding(paddingValues.calculateBottomPadding())
                         ) {
-                            AddNewItemsScreen { clickTypeAddNewItem ->
-                                when (clickTypeAddNewItem) {
-                                    ClickTypeAddNewItem.GOTO_HOME -> {
-                                        viewmodel.navigateTo(AddNewItemsRoute.Go_Back_Home)
+                            AddNewItemsScreen(
+                                clickType = { clickTypeAddNewItem ->
+                                    when (clickTypeAddNewItem) {
+                                        ClickTypeAddNewItem.GOTO_HOME -> {
+                                            viewmodel.navigateTo(AddNewItemsRoute.Go_Back_Home)
+                                        }
+
+                                        ClickTypeAddNewItem.Password -> {
+                                            viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
+                                        }
+                                        ClickTypeAddNewItem.Bank -> {
+                                            viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
+                                        }
+                                        ClickTypeAddNewItem.Payment -> {
+                                            viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
+                                        }
+                                        ClickTypeAddNewItem.Wifi -> {
+                                            viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
+                                        }
+                                        ClickTypeAddNewItem.Note -> {
+                                            viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
+                                        }
+                                        ClickTypeAddNewItem.Contact -> {
+                                            viewmodel.navigateTo(AddNewItemsRoute.OpenNewItemFormScreen)
+                                        }
                                     }
-                                }
                             }
+                            )
                         }
                     }
                 }

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

@@ -0,0 +1,70 @@
+package com.fastest.pass.home.presentation.ui.fragment
+
+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.viewModels
+import com.fastest.pass.BaseFragment
+import com.fastest.pass.R
+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.NewItemFormViewModel
+import com.fastest.pass.home.utils.NewItemFormNavigation
+import com.fastest.pass.home.utils.NewItemFormRoute
+import com.fastest.pass.ui.theme.FastestPassTheme
+import dagger.hilt.android.AndroidEntryPoint
+import javax.inject.Inject
+
+@AndroidEntryPoint
+class NewItemFormFragment : BaseFragment() {
+
+    val viewmodel: NewItemFormViewModel by viewModels()
+
+    @Inject
+    lateinit var navigation: NewItemFormNavigation
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        navigation.navigate(this)
+    }
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View {
+        return ComposeView(requireActivity()).apply {
+            setContent {
+                FastestPassTheme {
+                    Scaffold(
+                        modifier = Modifier.fillMaxSize()
+                    ) { paddingValues ->
+                        Box(
+                            modifier = Modifier
+                                .fillMaxSize()
+                                .background(colorResource(id = R.color.white))
+                                .padding(paddingValues.calculateBottomPadding())
+                        ) {
+                            NewItemFormScreen { clickTypeNewItemForm ->
+                                when (clickTypeNewItemForm) {
+                                    ClickTypeNewItemForm.GO_BACK_ADD_NEW_ITEM -> {
+                                        viewmodel.navigateTo(NewItemFormRoute.GoBackAddNewItemsScreen)
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+}

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

@@ -8,7 +8,14 @@ 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
+
     fun navigateTo(addNewItemsRoute: AddNewItemsRoute) {
         _router.value = addNewItemsRoute
     }
+
+    fun navigateToItemScreen(screenName: String) {
+        _itemScreenName.value = screenName
+    }
 }

+ 14 - 0
app/src/main/java/com/fastest/pass/home/presentation/viewmodels/NewItemFormViewModel.kt

@@ -0,0 +1,14 @@
+package com.fastest.pass.home.presentation.viewmodels
+
+import androidx.lifecycle.ViewModel
+import com.fastest.pass.home.utils.NewItemFormRoute
+import kotlinx.coroutines.flow.MutableStateFlow
+
+class NewItemFormViewModel : ViewModel() {
+    private val _router = MutableStateFlow<NewItemFormRoute>(NewItemFormRoute.OpenNoneScreen)
+    val router: MutableStateFlow<NewItemFormRoute> = _router
+
+    fun navigateTo(newItemFormRoute: NewItemFormRoute) {
+        _router.value = newItemFormRoute
+    }
+}

+ 7 - 0
app/src/main/java/com/fastest/pass/home/utils/AddNewItemsNavigation.kt

@@ -1,7 +1,9 @@
 package com.fastest.pass.home.utils
 
+import android.util.Log
 import androidx.lifecycle.lifecycleScope
 import androidx.navigation.fragment.findNavController
+import com.fastest.pass.R
 import com.fastest.pass.home.presentation.ui.fragment.AddNewItemsFragment
 
 class AddNewItemsNavigation {
@@ -12,8 +14,13 @@ class AddNewItemsNavigation {
                     AddNewItemsRoute.Go_Back_Home -> {
                         addNewItemsFragment.findNavController().popBackStack()
                     }
+                    AddNewItemsRoute.OpenNewItemFormScreen -> {
+                        addNewItemsFragment.findNavController().navigate(R.id.newItemFormFragment)
+                    }
                     AddNewItemsRoute.OpenNoneScreen -> {}
                 }
+
+                addNewItemsFragment.viewmodel.navigateTo(AddNewItemsRoute.OpenNoneScreen)
             }
         }
     }

+ 1 - 0
app/src/main/java/com/fastest/pass/home/utils/AddNewItemsRoute.kt

@@ -2,5 +2,6 @@ package com.fastest.pass.home.utils
 
 sealed class AddNewItemsRoute {
     data object Go_Back_Home : AddNewItemsRoute()
+    data object OpenNewItemFormScreen : AddNewItemsRoute()
     data object OpenNoneScreen : AddNewItemsRoute()
 }

+ 23 - 0
app/src/main/java/com/fastest/pass/home/utils/NewItemFormNavigation.kt

@@ -0,0 +1,23 @@
+package com.fastest.pass.home.utils
+
+import androidx.lifecycle.lifecycleScope
+import androidx.navigation.fragment.findNavController
+import com.fastest.pass.R
+import com.fastest.pass.home.presentation.ui.fragment.NewItemFormFragment
+
+class NewItemFormNavigation {
+
+    fun navigate(newItemFormFragment: NewItemFormFragment) {
+        newItemFormFragment.lifecycleScope.launchWhenStarted {
+            newItemFormFragment.viewmodel.router.collect { router ->
+                when (router) {
+                    NewItemFormRoute.GoBackAddNewItemsScreen -> {
+                        newItemFormFragment.findNavController().popBackStack()
+                    }
+                    NewItemFormRoute.GoBackHomeScreen -> {}
+                    NewItemFormRoute.OpenNoneScreen -> {}
+                }
+            }
+        }
+    }
+}

+ 7 - 0
app/src/main/java/com/fastest/pass/home/utils/NewItemFormRoute.kt

@@ -0,0 +1,7 @@
+package com.fastest.pass.home.utils
+
+sealed class NewItemFormRoute {
+    data object GoBackAddNewItemsScreen : NewItemFormRoute()
+    data object GoBackHomeScreen : NewItemFormRoute()
+    data object OpenNoneScreen : NewItemFormRoute()
+}

+ 0 - 6
app/src/main/java/com/fastest/pass/security/presentation/ui/fragment/SecurityFragment.kt

@@ -9,20 +9,14 @@ 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.material.Text
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.ComposeView
 import androidx.compose.ui.res.colorResource
-import androidx.fragment.app.viewModels
 import com.fastest.pass.BaseFragment
 import com.fastest.pass.R
-import com.fastest.pass.home.presentation.ui.components.ClickType
-import com.fastest.pass.home.presentation.ui.components.HomeScreen
-import com.fastest.pass.home.utils.HomeRoute
 import com.fastest.pass.security.presentation.ui.components.SecurityScreen
 import com.fastest.pass.ui.theme.FastestPassTheme
 import dagger.hilt.android.AndroidEntryPoint
-import javax.inject.Inject
 
 @AndroidEntryPoint
 class SecurityFragment : BaseFragment() {

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

@@ -46,9 +46,9 @@ fun WelcomeTutorial(onClick: (ClickType) -> Unit) {
 
     val pages = listOf(
         Welcome(
-            "Welcome to LockMyPass",
+            "Welcome to FastestPass",
             R.drawable.welcome_1,
-            "LockMyPass securely stores, synchronizes, \nand manages your passwords and personal \ndata across all your devices.",
+            "FastestPass securely stores, synchronizes, \nand manages your passwords and personal \ndata across all your devices.",
         ),
         Welcome(
             "Never forget again",

+ 5 - 0
app/src/main/res/navigation/nav_graph.xml

@@ -60,4 +60,9 @@
         android:name="com.fastest.pass.home.presentation.ui.fragment.AddNewItemsFragment"
         android:label="AddNewItemsFragment" />
 
+    <fragment
+        android:id="@+id/newItemFormFragment"
+        android:name="com.fastest.pass.home.presentation.ui.fragment.NewItemFormFragment"
+        android:label="NewItemFormFragment" />
+
 </navigation>

+ 2 - 1
app/src/main/res/values/strings.xml

@@ -36,7 +36,7 @@
     <string name="search">Search</string>
     <string name="start_adding_items">Start adding items</string>
     <string name="safely_store_password">Safely store passwords and other items in \n FastestPass.</string>
-    <string name="add_items_onebyone">Add items one-by-one</string>
+    <string name="add_items_onebyone">Add new items</string>
     <string name="import_passwords">Import passwords</string>
     <string name="add_new_items">Add New Items</string>
     <string name="upgrade_to_premium">Upgrade to premium</string>
@@ -53,5 +53,6 @@
     <string name="organize_folders">Organize your folders that are shared</string>
     <string name="security_dashboard">Security dashboard</string>
     <string name="keep_track_online">Keep track of your online security</string>
+    <string name="add_password">Add Password</string>
 
 </resources>