diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-11-27 23:38:04 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-11-27 23:38:04 +0100 |
| commit | 213710bf5bd6413c747bf126db50816ef5de5a6e (patch) | |
| tree | 912f8cf87955a08077c92fea8ad934f50b7ab975 /Hotline/macOS/ServerAgreementView.swift | |
| parent | f466b21dc02f78c984ba6748e703f6780a7a0db4 (diff) | |
| parent | 6a95b53616a4abfa306ddce43151cf4fefbd20ed (diff) | |
Merge remote-tracking branch 'upstream/main'
Diffstat (limited to 'Hotline/macOS/ServerAgreementView.swift')
| -rw-r--r-- | Hotline/macOS/ServerAgreementView.swift | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/Hotline/macOS/ServerAgreementView.swift b/Hotline/macOS/ServerAgreementView.swift deleted file mode 100644 index 77e9e15..0000000 --- a/Hotline/macOS/ServerAgreementView.swift +++ /dev/null @@ -1,81 +0,0 @@ -import SwiftUI - -private let MAX_AGREEMENT_HEIGHT: CGFloat = 280 - -struct ServerAgreementView: View { - let text: String - - @State private var expandable: Bool = false - @State private var expanded: Bool = false - - var body: some View { - ScrollView(.vertical) { - HStack(alignment: .top) { - Spacer() - Text(text.convertToAttributedStringWithLinks()) - .font(.system(size: 12)) - .fontDesign(.monospaced) - .textSelection(.enabled) - .tint(Color("Link Color")) - .frame(maxWidth: 400) - .padding(16) - .background( - GeometryReader { geometry in - Color.clear.onAppear { - if geometry.size.height > MAX_AGREEMENT_HEIGHT { - expandable = true - } else { - expandable = false - } - } - } - ) - Spacer() - } - } - .scrollIndicators(.never) - .frame(maxWidth: .infinity, maxHeight: (expandable && expanded) ? nil : MAX_AGREEMENT_HEIGHT) - .scrollBounceBehavior(.basedOnSize) - #if os(iOS) - .background(Color("Agreement Background")) - #elseif os(macOS) - .background(VisualEffectView(material: .titlebar, blendingMode: .withinWindow)) - #endif - .overlay( - ZStack(alignment: .bottomTrailing) { - Group { - if !expandable || expanded { - EmptyView() - } else { - Button( - action: { - withAnimation(.easeOut(duration: 0.15)) { - expanded = true - } - }, - label: { - Color.black - .opacity(0.00001) - .frame(width: 32, height: 32) - .overlay( - Image(systemName: "arrow.up.left.and.arrow.down.right") - .resizable() - .scaledToFit() - .fontWeight(.semibold) - .frame(width: 12, height: 12) - .foregroundColor(.primary.opacity(0.8)), alignment: .center) - } - ) - .buttonStyle(.plain) - .help("Expand Server Agreement") - } - } - }, alignment: .bottomTrailing - ) - .clipShape(RoundedRectangle(cornerRadius: 8)) - } -} - -#Preview { - ServerAgreementView(text: "Hello there and welcome to this server.") -} |