mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-26 15:07:39 +00:00
Fix debug pane restart button visibility and improve layout
- Always show restart button when in Rust server mode (previously was hidden when server was healthy) - Move server mode selection above HTTP server status for better UX flow - Users can now always manually restart the Rust server regardless of health status
This commit is contained in:
parent
36c4f9066c
commit
447a43719d
1 changed files with 42 additions and 42 deletions
|
|
@ -253,6 +253,46 @@ private struct ServerSection: View {
|
|||
var body: some View {
|
||||
Section {
|
||||
VStack(alignment: .leading, spacing: 12) {
|
||||
// Server Mode Configuration
|
||||
HStack {
|
||||
Text("Server Mode")
|
||||
Spacer()
|
||||
Picker("", selection: Binding(
|
||||
get: { ServerMode(rawValue: serverModeString) ?? .hummingbird },
|
||||
set: { newMode in
|
||||
serverModeString = newMode.rawValue
|
||||
Task {
|
||||
await serverManager.switchMode(to: newMode)
|
||||
}
|
||||
}
|
||||
)) {
|
||||
ForEach(ServerMode.allCases, id: \.self) { mode in
|
||||
VStack(alignment: .leading) {
|
||||
Text(mode.displayName)
|
||||
Text(mode.description)
|
||||
.font(.caption)
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
.tag(mode)
|
||||
}
|
||||
}
|
||||
.pickerStyle(.menu)
|
||||
.labelsHidden()
|
||||
.disabled(serverManager.isSwitching)
|
||||
}
|
||||
|
||||
if serverManager.isSwitching {
|
||||
HStack {
|
||||
ProgressView()
|
||||
.scaleEffect(0.8)
|
||||
Text("Switching server mode...")
|
||||
.font(.caption)
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
}
|
||||
|
||||
Divider()
|
||||
|
||||
// Server Status
|
||||
HStack {
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
|
|
@ -275,8 +315,8 @@ private struct ServerSection: View {
|
|||
|
||||
Spacer()
|
||||
|
||||
// Show restart button for Rust mode when server is not healthy
|
||||
if serverModeString == ServerMode.rust.rawValue && (!isServerRunning || !isServerHealthy) {
|
||||
// Show restart button for Rust mode always
|
||||
if serverModeString == ServerMode.rust.rawValue {
|
||||
Button("Restart") {
|
||||
Task {
|
||||
await serverManager.manualRestart()
|
||||
|
|
@ -324,46 +364,6 @@ private struct ServerSection: View {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
Divider()
|
||||
|
||||
// Server Mode Configuration
|
||||
HStack {
|
||||
Text("Server Mode")
|
||||
Spacer()
|
||||
Picker("", selection: Binding(
|
||||
get: { ServerMode(rawValue: serverModeString) ?? .hummingbird },
|
||||
set: { newMode in
|
||||
serverModeString = newMode.rawValue
|
||||
Task {
|
||||
await serverManager.switchMode(to: newMode)
|
||||
}
|
||||
}
|
||||
)) {
|
||||
ForEach(ServerMode.allCases, id: \.self) { mode in
|
||||
VStack(alignment: .leading) {
|
||||
Text(mode.displayName)
|
||||
Text(mode.description)
|
||||
.font(.caption)
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
.tag(mode)
|
||||
}
|
||||
}
|
||||
.pickerStyle(.menu)
|
||||
.labelsHidden()
|
||||
.disabled(serverManager.isSwitching)
|
||||
}
|
||||
|
||||
if serverManager.isSwitching {
|
||||
HStack {
|
||||
ProgressView()
|
||||
.scaleEffect(0.8)
|
||||
Text("Switching server mode...")
|
||||
.font(.caption)
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding(.vertical, 4)
|
||||
} header: {
|
||||
|
|
|
|||
Loading…
Reference in a new issue