feat: minMode into god object

This commit is contained in:
aro 2023-01-06 19:22:04 +01:00
parent 96882e5c84
commit 215e2d3ad7
7 changed files with 39 additions and 26 deletions

View file

@ -4,8 +4,8 @@ import androidx.compose.foundation.shape.CornerSize
import androidx.compose.material.BottomAppBar import androidx.compose.material.BottomAppBar
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.window.WindowState
import xyz.atnrch.wrench.components.filemanager.bottom.bar.NormalFileBottomRow import xyz.atnrch.wrench.components.filemanager.bottom.bar.NormalFileBottomRow
import xyz.atnrch.wrench.components.filemanager.bottom.bar.SmallFileBottomRow
import xyz.atnrch.wrench.ui.UIColors import xyz.atnrch.wrench.ui.UIColors
import xyz.atnrch.wrench.watcher.Watcher import xyz.atnrch.wrench.watcher.Watcher
import xyz.atnrch.wrench.watcher.WatcherManager import xyz.atnrch.wrench.watcher.WatcherManager
@ -13,7 +13,7 @@ import java.nio.file.Path
@Composable @Composable
fun AppBottomBar( fun AppBottomBar(
state: WindowState, minMode: Boolean,
watcherManager: WatcherManager, watcherManager: WatcherManager,
watcher: Watcher, watcher: Watcher,
currentClick: Int, currentClick: Int,
@ -25,5 +25,10 @@ fun AppBottomBar(
CornerSize(percent = 50) CornerSize(percent = 50)
), ),
backgroundColor = UIColors.DARK backgroundColor = UIColors.DARK
) { NormalFileBottomRow(state, watcherManager, watcher, currentClick, outputs, onCurrentClick) } ) {
if (minMode)
NormalFileBottomRow(watcherManager, watcher, currentClick, outputs, onCurrentClick)
else
SmallFileBottomRow(watcherManager, watcher, currentClick, outputs, onCurrentClick)
}
} }

View file

@ -6,7 +6,6 @@ import androidx.compose.material.TabRow
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.window.WindowState
import xyz.atnrch.wrench.components.filemanager.FileManagerDisplay import xyz.atnrch.wrench.components.filemanager.FileManagerDisplay
import xyz.atnrch.wrench.components.server.ServerManagerDisplay import xyz.atnrch.wrench.components.server.ServerManagerDisplay
import xyz.atnrch.wrench.ui.UIColors import xyz.atnrch.wrench.ui.UIColors
@ -15,7 +14,7 @@ import java.nio.file.Path
@Composable @Composable
fun WatcherDisplay( fun WatcherDisplay(
state: WindowState, minMode: Boolean,
watcherManager: WatcherManager, watcherManager: WatcherManager,
currentClick: Int, currentClick: Int,
outputs: MutableList<Path>, outputs: MutableList<Path>,
@ -24,7 +23,6 @@ fun WatcherDisplay(
tabTitles: List<String>, tabTitles: List<String>,
onTabChange: (id: Int) -> Unit onTabChange: (id: Int) -> Unit
) { ) {
Column { Column {
TabRow( TabRow(
selectedTabIndex = tabIndex, selectedTabIndex = tabIndex,
@ -38,7 +36,7 @@ fun WatcherDisplay(
} }
} }
when (tabIndex) { when (tabIndex) {
0 -> FileManagerDisplay(state, watcherManager, currentClick, outputs, onEntryClick) 0 -> FileManagerDisplay(minMode, watcherManager, currentClick, outputs, onEntryClick)
1 -> ServerManagerDisplay() 1 -> ServerManagerDisplay()
} }
} }

View file

@ -4,6 +4,7 @@ import androidx.compose.material.Scaffold
import androidx.compose.material.ScaffoldState import androidx.compose.material.ScaffoldState
import androidx.compose.material.rememberScaffoldState import androidx.compose.material.rememberScaffoldState
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowState import androidx.compose.ui.window.WindowState
import xyz.atnrch.wrench.components.filemanager.bottom.FloatingButton import xyz.atnrch.wrench.components.filemanager.bottom.FloatingButton
import xyz.atnrch.wrench.components.filemanager.top.TopBar import xyz.atnrch.wrench.components.filemanager.top.TopBar
@ -23,20 +24,36 @@ fun WrenchScaffold(state: WindowState) {
val snackBarDataHolder = SnackBarDataHolder(scaffoldState, rememberCoroutineScope()) val snackBarDataHolder = SnackBarDataHolder(scaffoldState, rememberCoroutineScope())
val watcherManager = remember { WatcherManager(entries) } val watcherManager = remember { WatcherManager(entries) }
val watcher = remember { Watcher(watcherManager, snackBarDataHolder) } val watcher = remember { Watcher(watcherManager, snackBarDataHolder) }
var currentClick by remember { mutableStateOf(-1) }
var tabIndex by remember { mutableStateOf(0) }
val tabTitles = listOf("File Manager", "Servers") val tabTitles = listOf("File Manager", "Servers")
var currentClick by remember { mutableStateOf(-1) }
var tabIndex by remember { mutableStateOf(0) }
var minMode by remember { mutableStateOf(false) }
minMode = state.size.width <= 600.dp
if(!minMode) {
println("MODE: NORMAL MODE")
} else {
println("MODE: MINMODE")
}
Scaffold( Scaffold(
scaffoldState = scaffoldState, scaffoldState = scaffoldState,
topBar = { TopBar() }, topBar = { TopBar() },
floatingActionButton = { if (tabIndex == 0) FloatingButton(watcherManager) }, floatingActionButton = { if (tabIndex == 0) FloatingButton(watcherManager) },
isFloatingActionButtonDocked = true, isFloatingActionButtonDocked = true,
backgroundColor = UIColors.PRIMARY, backgroundColor = UIColors.PRIMARY,
bottomBar = { if(tabIndex == 0) AppBottomBar(state, watcherManager, watcher, currentClick, outputs) { currentClick = it } } bottomBar = {
if (tabIndex == 0) AppBottomBar(
minMode,
watcherManager,
watcher,
currentClick,
outputs
) { currentClick = it }
}
) { ) {
WatcherDisplay( WatcherDisplay(
state, minMode,
watcherManager, watcherManager,
currentClick, currentClick,
outputs, outputs,

View file

@ -8,7 +8,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowState
import xyz.atnrch.wrench.components.filemanager.center.empty.DefaultDisplay import xyz.atnrch.wrench.components.filemanager.center.empty.DefaultDisplay
import xyz.atnrch.wrench.components.filemanager.center.input.InputEntries import xyz.atnrch.wrench.components.filemanager.center.input.InputEntries
import xyz.atnrch.wrench.components.filemanager.center.output.OutputEntries import xyz.atnrch.wrench.components.filemanager.center.output.OutputEntries
@ -18,13 +17,13 @@ import java.nio.file.Path
@Composable @Composable
fun FileManagerDisplay( fun FileManagerDisplay(
state: WindowState, minMode: Boolean,
watcherManager: WatcherManager, watcherManager: WatcherManager,
currentClick: Int, currentClick: Int,
outputs: MutableList<Path>, outputs: MutableList<Path>,
onEntryClick: (id: Int) -> Unit onEntryClick: (id: Int) -> Unit
) { ) {
if (state.size.width <= 600.dp) { if (minMode) {
Column( Column(
modifier = Modifier.padding(0.dp, 0.dp, 0.dp, 55.dp), modifier = Modifier.padding(0.dp, 0.dp, 0.dp, 55.dp),
verticalArrangement = Arrangement.Top, verticalArrangement = Arrangement.Top,

View file

@ -16,13 +16,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowState
import xyz.atnrch.wrench.ui.UIColors import xyz.atnrch.wrench.ui.UIColors
import xyz.atnrch.wrench.watcher.Watcher import xyz.atnrch.wrench.watcher.Watcher
@Composable @Composable
fun MoveFilesButton( fun MoveFilesButton(
state: WindowState,
watcher: Watcher watcher: Watcher
) { ) {
Button( Button(

View file

@ -5,7 +5,6 @@ import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowState
import xyz.atnrch.wrench.components.filemanager.bottom.AddOutputButton import xyz.atnrch.wrench.components.filemanager.bottom.AddOutputButton
import xyz.atnrch.wrench.components.filemanager.bottom.MoveFilesButton import xyz.atnrch.wrench.components.filemanager.bottom.MoveFilesButton
import xyz.atnrch.wrench.components.filemanager.bottom.RemoveOutputButton import xyz.atnrch.wrench.components.filemanager.bottom.RemoveOutputButton
@ -15,7 +14,6 @@ import java.nio.file.Path
@Composable @Composable
fun NormalFileBottomRow( fun NormalFileBottomRow(
state: WindowState,
watcherManager: WatcherManager, watcherManager: WatcherManager,
watcher: Watcher, watcher: Watcher,
currentClick: Int, currentClick: Int,
@ -23,7 +21,7 @@ fun NormalFileBottomRow(
onCurrentClick: (Int) -> Unit, onCurrentClick: (Int) -> Unit,
) { ) {
Spacer(Modifier.width(10.dp)) Spacer(Modifier.width(10.dp))
MoveFilesButton(state, watcher) MoveFilesButton(watcher)
if (currentClick != -1) { if (currentClick != -1) {
Spacer(Modifier.width(10.dp)) Spacer(Modifier.width(10.dp))
AddOutputButton(watcherManager, outputs, currentClick) AddOutputButton(watcherManager, outputs, currentClick)

View file

@ -5,7 +5,6 @@ import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowState
import xyz.atnrch.wrench.components.filemanager.bottom.AddOutputButton import xyz.atnrch.wrench.components.filemanager.bottom.AddOutputButton
import xyz.atnrch.wrench.components.filemanager.bottom.MoveFilesButton import xyz.atnrch.wrench.components.filemanager.bottom.MoveFilesButton
import xyz.atnrch.wrench.components.filemanager.bottom.RemoveOutputButton import xyz.atnrch.wrench.components.filemanager.bottom.RemoveOutputButton
@ -15,19 +14,18 @@ import java.nio.file.Path
@Composable @Composable
fun SmallFileBottomRow( fun SmallFileBottomRow(
state: WindowState,
watcherManager: WatcherManager, watcherManager: WatcherManager,
watcher: Watcher, watcher: Watcher,
currentClick: Int, currentClick: Int,
outputs: MutableList<Path>, outputs: MutableList<Path>,
onCurrentClick: (Int) -> Unit, onCurrentClick: (Int) -> Unit,
) { ) {
Spacer(Modifier.width(10.dp)) Spacer(Modifier.width(5.dp))
MoveFilesButton(state, watcher) MoveFilesButton(watcher)
if (currentClick != -1) { if (currentClick != -1) {
Spacer(Modifier.width(10.dp)) Spacer(Modifier.width(5.dp))
AddOutputButton(watcherManager, outputs, currentClick) AddOutputButton(watcherManager, outputs, currentClick)
Spacer(Modifier.width(10.dp)) Spacer(Modifier.width(5.dp))
RemoveOutputButton(watcherManager, outputs, currentClick, onCurrentClick) RemoveOutputButton(watcherManager, outputs, currentClick, onCurrentClick)
} }
} }