add floating action buttons column

This commit is contained in:
toadlyBroodle
2023-03-11 16:57:09 +09:00
parent 322853f696
commit fba873dab9
2 changed files with 24 additions and 16 deletions

View File

@@ -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)
}
}

View File

@@ -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)
} }
} }
} }