aboutsummaryrefslogtreecommitdiff
path: root/Hotline/macOS/HotlinePanelView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hotline/macOS/HotlinePanelView.swift')
-rw-r--r--Hotline/macOS/HotlinePanelView.swift110
1 files changed, 54 insertions, 56 deletions
diff --git a/Hotline/macOS/HotlinePanelView.swift b/Hotline/macOS/HotlinePanelView.swift
index dc58698..2617bc8 100644
--- a/Hotline/macOS/HotlinePanelView.swift
+++ b/Hotline/macOS/HotlinePanelView.swift
@@ -3,30 +3,30 @@ import SwiftUI
struct HotlinePanelView: View {
@Environment(\.openWindow) var openWindow
@Environment(\.colorScheme) var colorScheme
-
+
var body: some View {
VStack(spacing: 0) {
- Image(nsImage: ApplicationState.shared.activeServerBanner ?? NSImage(named: "Default Banner")!)
- .interpolation(.high)
- .resizable()
- .scaledToFill()
- .frame(width: 468, height: 60)
- .frame(minWidth: 468, maxWidth: 468, minHeight: 60, maxHeight: 60)
- .clipped()
- .background(.black)
-// .clipShape(RoundedRectangle(cornerRadius: 6.0))
-// .padding([.top, .leading, .trailing], 4)
-
+ Image(
+ nsImage: ApplicationState.shared.activeServerBanner ?? NSImage(named: "Default Banner")!
+ )
+ .interpolation(.high)
+ .resizable()
+ .scaledToFill()
+ .frame(width: 468, height: 60)
+ .frame(minWidth: 468, maxWidth: 468, minHeight: 60, maxHeight: 60)
+ .clipped()
+ .background(.black)
+ // .clipShape(RoundedRectangle(cornerRadius: 6.0))
+ // .padding([.top, .leading, .trailing], 4)
+
HStack(spacing: 12) {
Button {
if NSEvent.modifierFlags.contains(.option) {
openWindow(id: "server")
- }
- else {
+ } else {
openWindow(id: "servers")
}
- }
- label: {
+ } label: {
Image("Section Servers")
.resizable()
.scaledToFit()
@@ -34,11 +34,10 @@ struct HotlinePanelView: View {
.buttonStyle(.plain)
.frame(width: 20, height: 20)
.help("Hotline Servers")
-
+
Button {
ApplicationState.shared.activeServerState?.selection = .chat
- }
- label: {
+ } label: {
Image("Section Chat")
.resizable()
.scaledToFit()
@@ -47,11 +46,10 @@ struct HotlinePanelView: View {
.frame(width: 20, height: 20)
.disabled(ApplicationState.shared.activeServerState == nil)
.help("Public Chat")
-
+
Button {
ApplicationState.shared.activeServerState?.selection = .board
- }
- label: {
+ } label: {
Image("Section Board")
.resizable()
.scaledToFit()
@@ -60,24 +58,25 @@ struct HotlinePanelView: View {
.frame(width: 20, height: 20)
.disabled(ApplicationState.shared.activeServerState == nil)
.help("Message Board")
-
+
Button {
ApplicationState.shared.activeServerState?.selection = .news
- }
- label: {
+ } label: {
Image("Section News")
.resizable()
.scaledToFit()
}
.buttonStyle(.plain)
.frame(width: 20, height: 20)
- .disabled(ApplicationState.shared.activeServerState == nil || (ApplicationState.shared.activeHotline?.serverVersion ?? 0) < 151)
+ .disabled(
+ ApplicationState.shared.activeServerState == nil
+ || (ApplicationState.shared.activeHotline?.serverVersion ?? 0) < 151
+ )
.help("News")
-
+
Button {
ApplicationState.shared.activeServerState?.selection = .files
- }
- label: {
+ } label: {
Image("Section Files")
.resizable()
.scaledToFit()
@@ -86,14 +85,13 @@ struct HotlinePanelView: View {
.frame(width: 20, height: 20)
.disabled(ApplicationState.shared.activeServerState == nil)
.help("Files")
-
+
Spacer()
-
+
if ApplicationState.shared.activeHotline?.access?.contains(.canOpenUsers) == true {
Button {
ApplicationState.shared.activeServerState?.selection = .accounts
- }
- label: {
+ } label: {
Image("Section Users")
.resizable()
.scaledToFit()
@@ -103,7 +101,7 @@ struct HotlinePanelView: View {
.disabled(ApplicationState.shared.activeServerState == nil)
.help("Accounts")
}
-
+
SettingsLink(label: {
Image("Section Settings")
.resizable()
@@ -116,29 +114,29 @@ struct HotlinePanelView: View {
.padding(.top, 12)
.padding(.bottom, 12)
.padding([.leading, .trailing], 12)
-// .background(Color.red.opacity(0.5).blendMode(.multiply))
-
-// GroupBox {
-// HStack(spacing: 0) {
-// Text("Not Connected")
-// .font(.system(size: 10.0))
-// .lineLimit(1)
-// .truncationMode(.tail)
-// .opacity(0.5)
-// .padding(.vertical, 0.0)
-// .padding(.horizontal, 4.0)
-//
-// Spacer()
-// }
-// }
-// .padding([.leading, .bottom, .trailing], 4.0)
+ // .background(Color.red.opacity(0.5).blendMode(.multiply))
+
+ // GroupBox {
+ // HStack(spacing: 0) {
+ // Text("Not Connected")
+ // .font(.system(size: 10.0))
+ // .lineLimit(1)
+ // .truncationMode(.tail)
+ // .opacity(0.5)
+ // .padding(.vertical, 0.0)
+ // .padding(.horizontal, 4.0)
+ //
+ // Spacer()
+ // }
+ // }
+ // .padding([.leading, .bottom, .trailing], 4.0)
}
-// .frame(width: 468)
-// .background(colorScheme == .dark ? .black : .white)
-// .background(
-// VisualEffectView(material: .headerView, blendingMode: .behindWindow)
-// .cornerRadius(10.0)
-// )
+ // .frame(width: 468)
+ // .background(colorScheme == .dark ? .black : .white)
+ // .background(
+ // VisualEffectView(material: .headerView, blendingMode: .behindWindow)
+ // .cornerRadius(10.0)
+ // )
}
}