mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-09-28 17:57:39 +02:00
add floating action buttons column
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
package com.vitorpamplona.amethyst.buttons
|
||||||
|
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.Spacer
|
||||||
|
import androidx.compose.foundation.layout.height
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun FabColumn(account: Account) {
|
||||||
|
Column() {
|
||||||
|
NewPollButton(account)
|
||||||
|
Spacer(modifier = Modifier.height(20.dp))
|
||||||
|
NewNoteButton(account)
|
||||||
|
}
|
||||||
|
}
|
@@ -6,25 +6,16 @@ import androidx.compose.foundation.background
|
|||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.statusBarsPadding
|
import androidx.compose.foundation.layout.statusBarsPadding
|
||||||
import androidx.compose.material.DrawerValue
|
import androidx.compose.material.*
|
||||||
import androidx.compose.material.MaterialTheme
|
|
||||||
import androidx.compose.material.Scaffold
|
|
||||||
import androidx.compose.material.rememberDrawerState
|
|
||||||
import androidx.compose.material.rememberScaffoldState
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import androidx.navigation.compose.rememberNavController
|
import androidx.navigation.compose.rememberNavController
|
||||||
|
import com.vitorpamplona.amethyst.buttons.FabColumn
|
||||||
import com.vitorpamplona.amethyst.buttons.NewChannelButton
|
import com.vitorpamplona.amethyst.buttons.NewChannelButton
|
||||||
import com.vitorpamplona.amethyst.buttons.NewPollButton
|
import com.vitorpamplona.amethyst.ui.navigation.*
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.AppBottomBar
|
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.AppNavigation
|
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.AppTopBar
|
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.DrawerContent
|
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.Route
|
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.currentRoute
|
|
||||||
import com.vitorpamplona.amethyst.ui.screen.AccountState
|
import com.vitorpamplona.amethyst.ui.screen.AccountState
|
||||||
import com.vitorpamplona.amethyst.ui.screen.AccountStateViewModel
|
import com.vitorpamplona.amethyst.ui.screen.AccountStateViewModel
|
||||||
|
|
||||||
@@ -47,7 +38,7 @@ fun MainScreen(accountViewModel: AccountViewModel, accountStateViewModel: Accoun
|
|||||||
DrawerContent(navController, scaffoldState, accountViewModel, accountStateViewModel)
|
DrawerContent(navController, scaffoldState, accountViewModel, accountStateViewModel)
|
||||||
},
|
},
|
||||||
floatingActionButton = {
|
floatingActionButton = {
|
||||||
FloatingButton(navController, accountStateViewModel)
|
FloatingButtons(navController, accountStateViewModel)
|
||||||
},
|
},
|
||||||
scaffoldState = scaffoldState
|
scaffoldState = scaffoldState
|
||||||
) {
|
) {
|
||||||
@@ -58,7 +49,7 @@ fun MainScreen(accountViewModel: AccountViewModel, accountStateViewModel: Accoun
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun FloatingButton(navController: NavHostController, accountViewModel: AccountStateViewModel) {
|
fun FloatingButtons(navController: NavHostController, accountViewModel: AccountStateViewModel) {
|
||||||
val accountState by accountViewModel.accountContent.collectAsState()
|
val accountState by accountViewModel.accountContent.collectAsState()
|
||||||
|
|
||||||
if (currentRoute(navController) == Route.Home.route) {
|
if (currentRoute(navController) == Route.Home.route) {
|
||||||
@@ -71,8 +62,7 @@ fun FloatingButton(navController: NavHostController, accountViewModel: AccountSt
|
|||||||
// Does nothing.
|
// Does nothing.
|
||||||
}
|
}
|
||||||
is AccountState.LoggedIn -> {
|
is AccountState.LoggedIn -> {
|
||||||
NewPollButton(state.account)
|
FabColumn(state.account)
|
||||||
// NewNoteButton(state.account)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user