fix closing a session crash

remove theme preview thingy cos it doesnt work 😭
padding on aboutview
This commit is contained in:
neon443
2025-11-07 11:12:41 +00:00
parent 17d0a5a7f4
commit d4b778b458
5 changed files with 38 additions and 30 deletions

View File

@@ -55,6 +55,7 @@ struct AboutView: View {
} label: { } label: {
Text("Show Welcome") Text("Show Welcome")
} }
.padding()
NavigationLink { NavigationLink {
ShaderTestingView() ShaderTestingView()

View File

@@ -159,7 +159,11 @@ Hostkey fingerprint is \(handler.getHostkey() ?? "nil")
} }
} }
.fullScreenCover(isPresented: $showTerminal) { .fullScreenCover(isPresented: $showTerminal) {
ShellTabView(handler: handler, hostsManager: hostsManager) ShellTabView(
handler: handler,
hostsManager: hostsManager,
keyManager: keyManager
)
} }
} }
} }

View File

@@ -38,6 +38,7 @@ struct SessionView: View {
ShellTabView( ShellTabView(
handler: nil, handler: nil,
hostsManager: hostsManager, hostsManager: hostsManager,
keyManager: keyManager,
selectedID: key selectedID: key
) )
} }

View File

@@ -11,12 +11,13 @@ import SwiftTerm
struct ShellTabView: View { struct ShellTabView: View {
@State var handler: SSHHandler? @State var handler: SSHHandler?
@ObservedObject var hostsManager: HostsManager @ObservedObject var hostsManager: HostsManager
@ObservedObject var keyManager: KeyManager
@ObservedObject var container = TerminalViewContainer.shared @ObservedObject var container = TerminalViewContainer.shared
@State var selectedID: UUID? @State var selectedID: UUID?
var selectedHandler: SSHHandler { var selectedHandler: SSHHandler {
guard let selectedID, let contained = container.sessions[selectedID] else { guard let selectedID, let contained = container.sessions[selectedID] else {
guard let handler else { fatalError("no handler in shelltabview") } guard let handler else { return SSHHandler(host: Host.blank, keyManager: nil) }
return handler return handler
} }
return contained.handler return contained.handler
@@ -206,6 +207,7 @@ struct ShellTabView: View {
#Preview { #Preview {
ShellTabView( ShellTabView(
handler: SSHHandler(host: Host.blank, keyManager: nil), handler: SSHHandler(host: Host.blank, keyManager: nil),
hostsManager: HostsManager() hostsManager: HostsManager(),
keyManager: KeyManager()
) )
} }

View File

@@ -20,33 +20,33 @@ struct ThemeEditorView: View {
hostsManager.selectedTheme.background.suiColor.opacity(0.5) hostsManager.selectedTheme.background.suiColor.opacity(0.5)
.ignoresSafeArea(.all) .ignoresSafeArea(.all)
NavigationStack { NavigationStack {
ZStack { // ZStack {
RoundedRectangle(cornerRadius: 20) // RoundedRectangle(cornerRadius: 20)
.foregroundStyle(theme.background.suiColor) // .foregroundStyle(theme.background.suiColor)
VStack { // VStack {
Text(theme.name) // Text(theme.name)
.foregroundStyle(theme.foreground.suiColor) // .foregroundStyle(theme.foreground.suiColor)
.font(.headline) // .font(.headline)
.lineLimit(1) // .lineLimit(1)
Spacer() // Spacer()
VStack(spacing: 0) { // VStack(spacing: 0) {
ForEach(0...1, id: \.self) { row in // ForEach(0...1, id: \.self) { row in
HStack(spacing: 0) { // HStack(spacing: 0) {
let range = row == 0 ? 0..<8 : 8..<16 // let range = row == 0 ? 0..<8 : 8..<16
ForEach(range, id: \.self) { col in // ForEach(range, id: \.self) { col in
Rectangle() // Rectangle()
.aspectRatio(1, contentMode: .fit) // .aspectRatio(1, contentMode: .fit)
.foregroundStyle(theme.ansi[col].suiColor) // .foregroundStyle(theme.ansi[col].suiColor)
} // }
} // }
} // }
} // }
.clipShape(RoundedRectangle(cornerRadius: 10)) // .clipShape(RoundedRectangle(cornerRadius: 10))
} // }
.padding(10) // .padding(10)
} // }
.fixedSize(horizontal: false, vertical: true) // .fixedSize(horizontal: false, vertical: true)
.padding(.horizontal) // .padding(.horizontal)
List { List {
Section("Main Colors") { Section("Main Colors") {