#52 Restructuring finalised
This commit is contained in:
		
							parent
							
								
									0d65637d91
								
							
						
					
					
						commit
						f733e4bf14
					
				
					 7 changed files with 9 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -14,7 +14,6 @@ import androidx.compose.ui.graphics.vector.ImageVector
 | 
			
		|||
import androidx.compose.ui.res.vectorResource
 | 
			
		||||
import androidx.compose.ui.tooling.preview.Preview
 | 
			
		||||
import be.ugent.sel.studeez.R
 | 
			
		||||
import be.ugent.sel.studeez.data.local.models.User
 | 
			
		||||
import be.ugent.sel.studeez.resources
 | 
			
		||||
import be.ugent.sel.studeez.ui.theme.StudeezTheme
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
package be.ugent.sel.studeez.screens.templates.primary_screen
 | 
			
		||||
package be.ugent.sel.studeez.common.composable
 | 
			
		||||
 | 
			
		||||
import androidx.compose.foundation.layout.PaddingValues
 | 
			
		||||
import androidx.compose.material.*
 | 
			
		||||
| 
						 | 
				
			
			@ -8,17 +8,13 @@ import androidx.compose.runtime.Composable
 | 
			
		|||
import androidx.compose.runtime.rememberCoroutineScope
 | 
			
		||||
import androidx.compose.ui.tooling.preview.Preview
 | 
			
		||||
import be.ugent.sel.studeez.R
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.CollapsedAddButton
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.Drawer
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.NavigationBar
 | 
			
		||||
import be.ugent.sel.studeez.data.local.models.User
 | 
			
		||||
import be.ugent.sel.studeez.resources
 | 
			
		||||
import be.ugent.sel.studeez.ui.theme.StudeezTheme
 | 
			
		||||
import kotlinx.coroutines.CoroutineScope
 | 
			
		||||
import kotlinx.coroutines.launch
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun PrimaryScreen(
 | 
			
		||||
fun PrimaryScreenTemplate(
 | 
			
		||||
    title: String,
 | 
			
		||||
    onLogoutClick: () -> Unit,
 | 
			
		||||
    content: @Composable (PaddingValues) -> Unit
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +58,7 @@ fun PrimaryScreen(
 | 
			
		|||
@Composable
 | 
			
		||||
fun PrimaryScreenPreview() {
 | 
			
		||||
    StudeezTheme {
 | 
			
		||||
        PrimaryScreen(
 | 
			
		||||
        PrimaryScreenTemplate(
 | 
			
		||||
            "Preview screen",
 | 
			
		||||
            {}
 | 
			
		||||
        ) {}
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +14,7 @@ import be.ugent.sel.studeez.ui.theme.StudeezTheme
 | 
			
		|||
 | 
			
		||||
@Composable
 | 
			
		||||
// Does not contain floatingActionButton and bottom bar, used in all the other screens
 | 
			
		||||
fun SecondaryScreenToolbar(
 | 
			
		||||
fun SecondaryScreenTemplate(
 | 
			
		||||
    title: String,
 | 
			
		||||
    popUp: () -> Unit,
 | 
			
		||||
    content: @Composable (PaddingValues) -> Unit
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +40,7 @@ fun SecondaryScreenToolbar(
 | 
			
		|||
@Preview
 | 
			
		||||
@Composable
 | 
			
		||||
fun SecondaryScreenToolbarPreview() {
 | 
			
		||||
    StudeezTheme { SecondaryScreenToolbar(
 | 
			
		||||
    StudeezTheme { SecondaryScreenTemplate(
 | 
			
		||||
        "Preview screen",
 | 
			
		||||
        {}
 | 
			
		||||
    ) {} }
 | 
			
		||||
| 
						 | 
				
			
			@ -18,8 +18,6 @@ package be.ugent.sel.studeez.domain.implementation
 | 
			
		|||
 | 
			
		||||
import be.ugent.sel.studeez.data.local.models.User
 | 
			
		||||
import be.ugent.sel.studeez.domain.AccountDAO
 | 
			
		||||
import be.ugent.sel.studeez.domain.trace
 | 
			
		||||
import com.google.firebase.auth.EmailAuthProvider
 | 
			
		||||
import com.google.firebase.auth.FirebaseAuth
 | 
			
		||||
import kotlinx.coroutines.channels.awaitClose
 | 
			
		||||
import kotlinx.coroutines.flow.Flow
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,16 +5,16 @@ import androidx.compose.ui.Modifier
 | 
			
		|||
import androidx.hilt.navigation.compose.hiltViewModel
 | 
			
		||||
import be.ugent.sel.studeez.R
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.BasicButton
 | 
			
		||||
import be.ugent.sel.studeez.common.composable.PrimaryScreenTemplate
 | 
			
		||||
import be.ugent.sel.studeez.common.ext.basicButton
 | 
			
		||||
import be.ugent.sel.studeez.resources
 | 
			
		||||
import be.ugent.sel.studeez.screens.templates.primary_screen.PrimaryScreen
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
fun HomeScreen(
 | 
			
		||||
    openAndPopUp: (String, String) -> Unit,
 | 
			
		||||
    viewModel: HomeViewModel = hiltViewModel()
 | 
			
		||||
) {
 | 
			
		||||
    PrimaryScreen(
 | 
			
		||||
    PrimaryScreenTemplate(
 | 
			
		||||
        title = resources().getString(R.string.home),
 | 
			
		||||
        onLogoutClick = { viewModel.onLogoutClick(openAndPopUp) }
 | 
			
		||||
    ) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ fun LoginScreen(
 | 
			
		|||
    val uiState by viewModel.uiState
 | 
			
		||||
 | 
			
		||||
    // TODO Make this a separate kind of screen?
 | 
			
		||||
    SecondaryScreenToolbar(title = resources().getString(AppText.sign_in), {}) {
 | 
			
		||||
    SecondaryScreenTemplate(title = resources().getString(AppText.sign_in), {}) {
 | 
			
		||||
        Column(
 | 
			
		||||
            modifier = modifier
 | 
			
		||||
                .fillMaxWidth()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ fun SignUpScreen(
 | 
			
		|||
    val uiState by viewModel.uiState
 | 
			
		||||
    val fieldModifier = Modifier.fieldModifier()
 | 
			
		||||
 | 
			
		||||
    SecondaryScreenToolbar(title = resources().getString(AppText.create_account), {}) {
 | 
			
		||||
    SecondaryScreenTemplate(title = resources().getString(AppText.create_account), {}) {
 | 
			
		||||
        Column(
 | 
			
		||||
            modifier = modifier
 | 
			
		||||
                .fillMaxWidth()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue