From f9e5f8a3a66df6e59726ca1659043fb54ed894e4 Mon Sep 17 00:00:00 2001 From: Dustin Mierau Date: Wed, 24 Jul 2024 16:11:16 -0700 Subject: Moving to an experimental result builder for Data to simplify construction of headers for Hotline's binary protocol. Fix some UI quirks around file transfers. --- Hotline/macOS/ServerView.swift | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'Hotline/macOS/ServerView.swift') diff --git a/Hotline/macOS/ServerView.swift b/Hotline/macOS/ServerView.swift index 5b5b8e3..4e24a1b 100644 --- a/Hotline/macOS/ServerView.swift +++ b/Hotline/macOS/ServerView.swift @@ -579,6 +579,7 @@ struct ServerView: View { struct TransferItemView: View { let transfer: TransferInfo + @Environment(\.controlActiveState) private var controlActiveState @Environment(Hotline.self) private var model: Hotline @State private var hovered: Bool = false @State private var buttonHovered: Bool = false @@ -607,6 +608,7 @@ struct TransferItemView: View { Spacer() FileIconView(filename: transfer.title) .frame(width: 16, height: 16) + .opacity(controlActiveState == .inactive ? 0.5 : 1.0) // .padding(.leading, 2) Spacer() } @@ -631,22 +633,27 @@ struct TransferItemView: View { .buttonStyle(.plain) .padding(0) .frame(width: 16, height: 16) + .opacity(controlActiveState == .inactive ? 0.5 : 1.0) .help(transfer.completed || transfer.failed ? "Remove" : "Cancel Transfer") .onHover { hovered in self.buttonHovered = hovered } } else if transfer.failed { - Image(systemName: "exclamationmark.triangle") + Image(systemName: "exclamationmark.triangle.fill") .resizable() + .symbolRenderingMode(.multicolor) .aspectRatio(contentMode: .fit) .frame(width: 16, height: 16) + .opacity(controlActiveState == .inactive ? 0.5 : 1.0) } else if transfer.completed { Image(systemName: "checkmark.circle.fill") .resizable() + .foregroundStyle(Color.fileComplete) .aspectRatio(contentMode: .fit) .frame(width: 16, height: 16) + .opacity(controlActiveState == .inactive ? 0.5 : 1.0) } else if transfer.progress == 0.0 { ProgressView() @@ -660,7 +667,9 @@ struct TransferItemView: View { } } .onHover { hovered in - self.hovered = hovered + withAnimation(.easeOut(duration: 0.25)) { + self.hovered = hovered + } } .help(formattedProgressHelp()) } -- cgit