Skip to content

Commit 38a9054

Browse files
committed
feat: Add settings toggle button to TableView and adjust panel visibility logic
1 parent 622b0eb commit 38a9054

1 file changed

Lines changed: 27 additions & 2 deletions

File tree

ui/src/main/kotlin/dev/paulee/ui/components/TableView.kt

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ fun TableView(
6868

6969
var hiddenColumns by remember { mutableStateOf(Config.getHidden(pool)) }
7070
var panelExpanded by remember { mutableStateOf(false) }
71+
var settingsExpanded by remember { mutableStateOf(false) }
7172

7273
val textMeasurer = rememberTextMeasurer()
7374
val density = LocalDensity.current
@@ -114,6 +115,27 @@ fun TableView(
114115
Icon(Icons.Default.Delete, contentDescription = locale["table.delete"])
115116
}
116117

118+
OutlinedButton(
119+
onClick = {
120+
settingsExpanded = !settingsExpanded
121+
if (settingsExpanded) panelExpanded = false
122+
},
123+
enabled = false,
124+
shape = RoundedCornerShape(50.dp),
125+
contentPadding = PaddingValues(horizontal = 14.dp, vertical = 8.dp),
126+
modifier = Modifier.width(120.dp).padding(bottom = 12.dp)
127+
) {
128+
Icon(
129+
imageVector = if (settingsExpanded) Icons.Default.KeyboardArrowUp else Icons.Default.KeyboardArrowDown,
130+
contentDescription = locale["settings.title"],
131+
modifier = Modifier.size(18.dp)
132+
)
133+
134+
Spacer(Modifier.width(8.dp))
135+
136+
Text(locale["settings.title"])
137+
}
138+
117139
Column(
118140
modifier = Modifier.weight(1f).padding(horizontal = 12.dp),
119141
horizontalAlignment = Alignment.CenterHorizontally
@@ -123,7 +145,10 @@ fun TableView(
123145
horizontalArrangement = Arrangement.End
124146
) {
125147
OutlinedButton(
126-
onClick = { panelExpanded = !panelExpanded },
148+
onClick = {
149+
panelExpanded = !panelExpanded
150+
if (panelExpanded) settingsExpanded = false
151+
},
127152
shape = RoundedCornerShape(50.dp),
128153
contentPadding = PaddingValues(horizontal = 14.dp, vertical = 8.dp),
129154
modifier = Modifier.width(170.dp)
@@ -141,7 +166,7 @@ fun TableView(
141166
}
142167

143168
AnimatedVisibility(
144-
visible = panelExpanded,
169+
visible = panelExpanded || settingsExpanded,
145170
enter = fadeIn() + expandVertically(),
146171
exit = fadeOut() + shrinkVertically()
147172
) {

0 commit comments

Comments
 (0)