From 62ae292436a6502264323f7b85ae6613d794131c Mon Sep 17 00:00:00 2001 From: aro Date: Mon, 26 Dec 2022 12:30:07 +0100 Subject: [PATCH] refactor: cleaning up --- .../components/filemanager/WatcherDisplay.kt | 36 ++++++++++--------- .../components/filemanager/WrenchScaffold.kt | 15 +++++++- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/WatcherDisplay.kt b/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/WatcherDisplay.kt index 3a0d49e..df530eb 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/WatcherDisplay.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/WatcherDisplay.kt @@ -7,9 +7,10 @@ import androidx.compose.foundation.layout.padding import androidx.compose.material.Tab import androidx.compose.material.TabRow import androidx.compose.material.Text -import androidx.compose.runtime.* +import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.compose.ui.window.WindowState import xyz.atnrch.wrench.components.filemanager.center.empty.DefaultDisplay @@ -25,30 +26,33 @@ fun WatcherDisplay( watcherManager: WatcherManager, currentClick: Int, outputs: MutableList, - onEntryClick: (id: Int) -> Unit + onEntryClick: (id: Int) -> Unit, + tabIndex: Int, + tabTitles: List, + onTabChange: (id: Int) -> Unit ) { - var tabIndex by remember { mutableStateOf(0) } // 1. - val tabTitles = listOf("File Manager", "Servers") - Column { // 2. + + Column { TabRow( selectedTabIndex = tabIndex, - backgroundColor = UIColors.ORANGE + backgroundColor = UIColors.ORANGE, + contentColor = Color.White ) { // 3. tabTitles.forEachIndexed { index, title -> - Tab(selected = tabIndex == index, // 4. - onClick = { tabIndex = index }, - text = { Text(text = title) }) // 5. + Tab(selected = tabIndex == index, + onClick = { onTabChange(index) }, + text = { Text(text = title) }) } } - when (tabIndex) { // 6. - 0 -> getDisplayDependingOnSize(state, watcherManager, currentClick, outputs, onEntryClick) - 1 -> Text("There content") + when (tabIndex) { + 0 -> FileManagerDisplay(state, watcherManager, currentClick, outputs, onEntryClick) + 1 -> TODO("Add Server Manager") } } } @Composable -fun getDisplayDependingOnSize( +fun FileManagerDisplay( state: WindowState, watcherManager: WatcherManager, currentClick: Int, @@ -61,7 +65,7 @@ fun getDisplayDependingOnSize( verticalArrangement = Arrangement.Top, horizontalAlignment = Alignment.CenterHorizontally ) { - displayEntries(true, watcherManager, currentClick, outputs, onEntryClick) + DisplayEntries(true, watcherManager, currentClick, outputs, onEntryClick) } } else { Row( @@ -69,13 +73,13 @@ fun getDisplayDependingOnSize( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Center ) { - displayEntries(false, watcherManager, currentClick, outputs, onEntryClick) + DisplayEntries(false, watcherManager, currentClick, outputs, onEntryClick) } } } @Composable -fun displayEntries( +fun DisplayEntries( minmode: Boolean, watcherManager: WatcherManager, currentClick: Int, diff --git a/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/WrenchScaffold.kt b/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/WrenchScaffold.kt index 9a9283a..1d57036 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/WrenchScaffold.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/WrenchScaffold.kt @@ -17,6 +17,7 @@ import java.nio.file.Path @Composable fun WrenchScaffold(state: WindowState) { + // i love god objects val scaffoldState: ScaffoldState = rememberScaffoldState() val entries: MutableMap = remember { mutableStateMapOf() } val outputs: MutableList = remember { mutableStateListOf() } @@ -24,6 +25,8 @@ fun WrenchScaffold(state: WindowState) { val watcherManager = remember { WatcherManager(entries) } val watcher = remember { Watcher(watcherManager, snackBarDataHolder) } var currentClick by remember { mutableStateOf(-1) } + var tabIndex by remember { mutableStateOf(0) } + val tabTitles = listOf("File Manager", "Servers") Scaffold( scaffoldState = scaffoldState, @@ -32,5 +35,15 @@ fun WrenchScaffold(state: WindowState) { isFloatingActionButtonDocked = true, backgroundColor = UIColors.PRIMARY, bottomBar = { BottomAppBar(state, watcherManager, watcher, currentClick, outputs) { currentClick = it } } - ) { WatcherDisplay(state, watcherManager, currentClick, outputs) { currentClick = it } } + ) { + WatcherDisplay( + state, + watcherManager, + currentClick, + outputs, + { currentClick = it }, + tabIndex, + tabTitles + ) { tabIndex = it } + } } \ No newline at end of file