Move some things
This commit is contained in:
		
							
								
								
									
										59
									
								
								app/src/main/java/com/ti/mobpo/Compontents.kt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								app/src/main/java/com/ti/mobpo/Compontents.kt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					package com.ti.mobpo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import androidx.compose.foundation.layout.fillMaxWidth
 | 
				
			||||||
 | 
					import androidx.compose.foundation.text.KeyboardActions
 | 
				
			||||||
 | 
					import androidx.compose.foundation.text.KeyboardOptions
 | 
				
			||||||
 | 
					import androidx.compose.material.icons.Icons
 | 
				
			||||||
 | 
					import androidx.compose.material.icons.filled.Search
 | 
				
			||||||
 | 
					import androidx.compose.material3.Icon
 | 
				
			||||||
 | 
					import androidx.compose.material3.OutlinedTextField
 | 
				
			||||||
 | 
					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.ExperimentalComposeUiApi
 | 
				
			||||||
 | 
					import androidx.compose.ui.Modifier
 | 
				
			||||||
 | 
					import androidx.compose.ui.graphics.vector.ImageVector
 | 
				
			||||||
 | 
					import androidx.compose.ui.platform.LocalFocusManager
 | 
				
			||||||
 | 
					import androidx.compose.ui.platform.LocalSoftwareKeyboardController
 | 
				
			||||||
 | 
					import androidx.compose.ui.text.input.ImeAction
 | 
				
			||||||
 | 
					import androidx.compose.ui.tooling.preview.Preview
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					data class BottomNavigationItem(
 | 
				
			||||||
 | 
					    val title: String,
 | 
				
			||||||
 | 
					    val selectedIcon: ImageVector,
 | 
				
			||||||
 | 
					    val unselectedItem: ImageVector,
 | 
				
			||||||
 | 
					    val route: String
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					@OptIn(ExperimentalComposeUiApi::class)
 | 
				
			||||||
 | 
					@Composable
 | 
				
			||||||
 | 
					fun SearchBar(label: String,onSearch: (String) -> Unit) {
 | 
				
			||||||
 | 
					    var text by remember { mutableStateOf("") }
 | 
				
			||||||
 | 
					    val keyboardController = LocalSoftwareKeyboardController.current
 | 
				
			||||||
 | 
					    val focusManager = LocalFocusManager.current
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    OutlinedTextField(
 | 
				
			||||||
 | 
					        value = text,
 | 
				
			||||||
 | 
					        onValueChange = { text = it },
 | 
				
			||||||
 | 
					        label = { Text(label) },
 | 
				
			||||||
 | 
					        leadingIcon = { Icon(Icons.Filled.Search, contentDescription = null) },
 | 
				
			||||||
 | 
					        modifier = Modifier.fillMaxWidth(),
 | 
				
			||||||
 | 
					        keyboardOptions = KeyboardOptions(imeAction = ImeAction.Search),
 | 
				
			||||||
 | 
					        keyboardActions = KeyboardActions(onSearch = {
 | 
				
			||||||
 | 
					            onSearch(text)
 | 
				
			||||||
 | 
					            keyboardController?.hide()
 | 
				
			||||||
 | 
					            focusManager.clearFocus()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@Preview(showBackground = true)
 | 
				
			||||||
 | 
					@Composable
 | 
				
			||||||
 | 
					fun SearchBarPreview(){
 | 
				
			||||||
 | 
					    SearchBar(label = "Preview") {
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -4,38 +4,8 @@ import android.annotation.SuppressLint
 | 
				
			|||||||
import android.os.Bundle
 | 
					import android.os.Bundle
 | 
				
			||||||
import androidx.activity.ComponentActivity
 | 
					import androidx.activity.ComponentActivity
 | 
				
			||||||
import androidx.activity.compose.setContent
 | 
					import androidx.activity.compose.setContent
 | 
				
			||||||
import androidx.compose.foundation.layout.fillMaxSize
 | 
					 | 
				
			||||||
import androidx.compose.material.icons.Icons
 | 
					 | 
				
			||||||
import androidx.compose.material.icons.filled.Favorite
 | 
					 | 
				
			||||||
import androidx.compose.material.icons.filled.Home
 | 
					 | 
				
			||||||
import androidx.compose.material.icons.filled.Person
 | 
					 | 
				
			||||||
import androidx.compose.material.icons.outlined.Favorite
 | 
					 | 
				
			||||||
import androidx.compose.material.icons.outlined.Home
 | 
					 | 
				
			||||||
import androidx.compose.material.icons.outlined.Person
 | 
					 | 
				
			||||||
import androidx.compose.material3.MaterialTheme
 | 
					 | 
				
			||||||
import androidx.compose.material3.NavigationBar
 | 
					 | 
				
			||||||
import androidx.compose.material3.NavigationBarItem
 | 
					 | 
				
			||||||
import androidx.compose.material3.Scaffold
 | 
					 | 
				
			||||||
import androidx.compose.material3.Surface
 | 
					 | 
				
			||||||
import androidx.compose.runtime.mutableStateOf
 | 
					 | 
				
			||||||
import androidx.compose.runtime.setValue
 | 
					 | 
				
			||||||
import androidx.compose.runtime.getValue
 | 
					 | 
				
			||||||
import androidx.compose.runtime.saveable.rememberSaveable
 | 
					 | 
				
			||||||
import androidx.compose.ui.Modifier
 | 
					 | 
				
			||||||
import androidx.compose.ui.graphics.vector.ImageVector
 | 
					 | 
				
			||||||
import androidx.navigation.compose.NavHost
 | 
					 | 
				
			||||||
import androidx.navigation.compose.composable
 | 
					 | 
				
			||||||
import androidx.navigation.compose.navigation
 | 
					 | 
				
			||||||
import androidx.navigation.compose.rememberNavController
 | 
					 | 
				
			||||||
import com.ti.mobpo.ui.theme.MobileSecurityTheme
 | 
					import com.ti.mobpo.ui.theme.MobileSecurityTheme
 | 
				
			||||||
 | 
					
 | 
				
			||||||
data class BottomNavigationItem(
 | 
					 | 
				
			||||||
    val title: String,
 | 
					 | 
				
			||||||
    val selectedIcon: ImageVector,
 | 
					 | 
				
			||||||
    val unselectedItem: ImageVector,
 | 
					 | 
				
			||||||
    val route: String
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class MainActivity : ComponentActivity() {
 | 
					class MainActivity : ComponentActivity() {
 | 
				
			||||||
    @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
 | 
					    @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
 | 
				
			||||||
    override fun onCreate(savedInstanceState: Bundle?) {
 | 
					    override fun onCreate(savedInstanceState: Bundle?) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,37 +2,16 @@ package com.ti.mobpo.screens
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import androidx.compose.foundation.layout.Arrangement
 | 
					import androidx.compose.foundation.layout.Arrangement
 | 
				
			||||||
import androidx.compose.foundation.layout.Column
 | 
					import androidx.compose.foundation.layout.Column
 | 
				
			||||||
import androidx.compose.foundation.layout.Row
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.fillMaxSize
 | 
					import androidx.compose.foundation.layout.fillMaxSize
 | 
				
			||||||
import androidx.compose.foundation.layout.fillMaxWidth
 | 
					 | 
				
			||||||
import androidx.compose.foundation.layout.padding
 | 
					import androidx.compose.foundation.layout.padding
 | 
				
			||||||
import androidx.compose.foundation.layout.wrapContentSize
 | 
					 | 
				
			||||||
import androidx.compose.foundation.text.KeyboardActions
 | 
					 | 
				
			||||||
import androidx.compose.foundation.text.KeyboardOptions
 | 
					 | 
				
			||||||
import androidx.compose.material.icons.Icons
 | 
					 | 
				
			||||||
import androidx.compose.material.icons.filled.Search
 | 
					 | 
				
			||||||
import androidx.compose.material3.Button
 | 
					 | 
				
			||||||
import androidx.compose.material3.Icon
 | 
					 | 
				
			||||||
import androidx.compose.material3.OutlinedTextField
 | 
					 | 
				
			||||||
import androidx.compose.material3.Text
 | 
					 | 
				
			||||||
import androidx.compose.material3.TextField
 | 
					 | 
				
			||||||
import androidx.compose.runtime.Composable
 | 
					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.Alignment
 | 
				
			||||||
import androidx.compose.ui.ExperimentalComposeUiApi
 | 
					 | 
				
			||||||
import androidx.compose.ui.Modifier
 | 
					import androidx.compose.ui.Modifier
 | 
				
			||||||
import androidx.compose.ui.platform.LocalFocusManager
 | 
					 | 
				
			||||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
 | 
					 | 
				
			||||||
import androidx.compose.ui.res.stringResource
 | 
					import androidx.compose.ui.res.stringResource
 | 
				
			||||||
import androidx.compose.ui.text.input.ImeAction
 | 
					 | 
				
			||||||
import androidx.compose.ui.tooling.preview.Preview
 | 
					import androidx.compose.ui.tooling.preview.Preview
 | 
				
			||||||
import androidx.compose.ui.unit.dp
 | 
					import androidx.compose.ui.unit.dp
 | 
				
			||||||
import androidx.navigation.NavController
 | 
					 | 
				
			||||||
import androidx.navigation.compose.rememberNavController
 | 
					 | 
				
			||||||
import com.ti.mobpo.R
 | 
					import com.ti.mobpo.R
 | 
				
			||||||
 | 
					import com.ti.mobpo.SearchBar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Composable
 | 
					@Composable
 | 
				
			||||||
@@ -42,37 +21,13 @@ fun PokeSearch() {
 | 
				
			|||||||
        horizontalAlignment = Alignment.CenterHorizontally,
 | 
					        horizontalAlignment = Alignment.CenterHorizontally,
 | 
				
			||||||
        modifier = Modifier.fillMaxSize().padding(20.dp)
 | 
					        modifier = Modifier.fillMaxSize().padding(20.dp)
 | 
				
			||||||
    ) {
 | 
					    ) {
 | 
				
			||||||
        SearchBar(){ value ->
 | 
					        SearchBar(stringResource(R.string.input_field_label)){ value ->
 | 
				
			||||||
            run {
 | 
					            run {
 | 
				
			||||||
                println(value)
 | 
					                println(value)
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
@OptIn(ExperimentalComposeUiApi::class)
 | 
					 | 
				
			||||||
@Composable
 | 
					 | 
				
			||||||
fun SearchBar(onSearch: (String) -> Unit) {
 | 
					 | 
				
			||||||
    var text by remember { mutableStateOf("") }
 | 
					 | 
				
			||||||
    val keyboardController = LocalSoftwareKeyboardController.current
 | 
					 | 
				
			||||||
    val focusManager = LocalFocusManager.current
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    OutlinedTextField(
 | 
					 | 
				
			||||||
        value = text,
 | 
					 | 
				
			||||||
        onValueChange = { text = it },
 | 
					 | 
				
			||||||
        label = { Text(stringResource(R.string.input_field_label)) },
 | 
					 | 
				
			||||||
        leadingIcon = { Icon(Icons.Filled.Search, contentDescription = null) },
 | 
					 | 
				
			||||||
        modifier = Modifier.fillMaxWidth(),
 | 
					 | 
				
			||||||
        keyboardOptions = KeyboardOptions(imeAction = ImeAction.Search),
 | 
					 | 
				
			||||||
        keyboardActions = KeyboardActions(onSearch = {
 | 
					 | 
				
			||||||
            onSearch(text)
 | 
					 | 
				
			||||||
            keyboardController?.hide()
 | 
					 | 
				
			||||||
            focusManager.clearFocus()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    )
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@Preview(showBackground = true)
 | 
					@Preview(showBackground = true)
 | 
				
			||||||
@Composable
 | 
					@Composable
 | 
				
			||||||
fun PokeSearchApp(){
 | 
					fun PokeSearchApp(){
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user