refactor: better packaging

This commit is contained in:
aro 2022-12-26 12:38:26 +01:00
parent ee6c2f6519
commit 8534c3ebc5
4 changed files with 50 additions and 39 deletions

View file

@ -5,7 +5,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Window import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application import androidx.compose.ui.window.application
import androidx.compose.ui.window.rememberWindowState import androidx.compose.ui.window.rememberWindowState
import xyz.atnrch.wrench.components.filemanager.WrenchScaffold import xyz.atnrch.wrench.components.WrenchScaffold
import xyz.atnrch.wrench.logger.Logger import xyz.atnrch.wrench.logger.Logger
import javax.swing.UIManager import javax.swing.UIManager

View file

@ -0,0 +1,47 @@
package xyz.atnrch.wrench.components
import androidx.compose.foundation.layout.Column
import androidx.compose.material.Tab
import androidx.compose.material.TabRow
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.window.WindowState
import xyz.atnrch.wrench.components.filemanager.FileManagerDisplay
import xyz.atnrch.wrench.ui.UIColors
import xyz.atnrch.wrench.watcher.WatcherManager
import java.nio.file.Path
@Composable
fun WatcherDisplay(
state: WindowState,
watcherManager: WatcherManager,
currentClick: Int,
outputs: MutableList<Path>,
onEntryClick: (id: Int) -> Unit,
tabIndex: Int,
tabTitles: List<String>,
onTabChange: (id: Int) -> Unit
) {
Column {
TabRow(
selectedTabIndex = tabIndex,
backgroundColor = UIColors.ORANGE,
contentColor = Color.White
) {
tabTitles.forEachIndexed { index, title ->
Tab(selected = tabIndex == index,
onClick = { onTabChange(index) },
text = { Text(text = title) })
}
}
when (tabIndex) {
0 -> FileManagerDisplay(state, watcherManager, currentClick, outputs, onEntryClick)
1 -> Text(
color = Color.White,
text = "Hello!"
)
}
}
}

View file

@ -1,4 +1,4 @@
package xyz.atnrch.wrench.components.filemanager package xyz.atnrch.wrench.components
import androidx.compose.material.Scaffold import androidx.compose.material.Scaffold
import androidx.compose.material.ScaffoldState import androidx.compose.material.ScaffoldState

View file

@ -4,53 +4,17 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding 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.Composable 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.graphics.Color
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowState 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
import xyz.atnrch.wrench.ui.UIColors
import xyz.atnrch.wrench.watcher.WatcherManager import xyz.atnrch.wrench.watcher.WatcherManager
import java.nio.file.Path import java.nio.file.Path
@Composable
fun WatcherDisplay(
state: WindowState,
watcherManager: WatcherManager,
currentClick: Int,
outputs: MutableList<Path>,
onEntryClick: (id: Int) -> Unit,
tabIndex: Int,
tabTitles: List<String>,
onTabChange: (id: Int) -> Unit
) {
Column {
TabRow(
selectedTabIndex = tabIndex,
backgroundColor = UIColors.ORANGE,
contentColor = Color.White
) {
tabTitles.forEachIndexed { index, title ->
Tab(selected = tabIndex == index,
onClick = { onTabChange(index) },
text = { Text(text = title) })
}
}
when (tabIndex) {
0 -> FileManagerDisplay(state, watcherManager, currentClick, outputs, onEntryClick)
1 -> TODO("Add Server Manager")
}
}
}
@Composable @Composable
fun FileManagerDisplay( fun FileManagerDisplay(
state: WindowState, state: WindowState,