mirror of
https://github.com/neon443/ShhShell.git
synced 2026-03-11 13:26:16 +00:00
71 lines
1.5 KiB
Swift
71 lines
1.5 KiB
Swift
//
|
|
// ShellView.swift
|
|
// ShhShell
|
|
//
|
|
// Created by neon443 on 22/06/2025.
|
|
//
|
|
|
|
import SwiftUI
|
|
import AudioToolbox
|
|
|
|
struct ShellView: View {
|
|
@ObservedObject var handler: SSHHandler
|
|
@ObservedObject var hostsManager: HostsManager
|
|
|
|
@ObservedObject var container = TerminalViewContainer.shared
|
|
|
|
@Environment(\.dismiss) var dismiss
|
|
|
|
var body: some View {
|
|
NavigationStack {
|
|
ZStack {
|
|
hostsManager.selectedTheme.background.suiColor
|
|
.ignoresSafeArea(.all)
|
|
|
|
ZStack {
|
|
TerminalController(handler: handler, hostsManager: hostsManager)
|
|
// .colorMultiply(Color(red: 0.95, green: 1, blue: 0.95, opacity: 1))
|
|
// .colorMultiply(.white)
|
|
.overlay {
|
|
if hostsManager.settings.filter == .crt {
|
|
CRTView()
|
|
.opacity(0.75)
|
|
// .blendMode(.overlay)
|
|
.allowsHitTesting(false)
|
|
}
|
|
}
|
|
}
|
|
|
|
Group {
|
|
Color.gray.opacity(0.2)
|
|
.transition(.opacity)
|
|
Image(systemName: "bell.fill")
|
|
.foregroundStyle(
|
|
hostsManager.selectedTheme.background.luminance > 0.5 ?
|
|
.black : .white
|
|
)
|
|
.font(.largeTitle)
|
|
.shadow(color: .black, radius: 5)
|
|
}
|
|
.opacity(handler.bell ? 1 : 0)
|
|
.onChange(of: handler.bell) { _ in
|
|
guard handler.bell else { return }
|
|
if hostsManager.settings.bellHaptic {
|
|
Haptic.warning.trigger()
|
|
}
|
|
if hostsManager.settings.bellSound {
|
|
AudioServicesPlaySystemSound(1103)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
ShellView(
|
|
handler: SSHHandler(host: Host.debug, keyManager: nil),
|
|
hostsManager: HostsManager()
|
|
)
|
|
}
|