aboutsummaryrefslogtreecommitdiff
path: root/Hotline/macOS/ServerAgreementView.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-11-27 23:38:04 +0100
committerRuben Beltran del Rio <git@r.bdr.sh>2025-11-27 23:38:04 +0100
commit213710bf5bd6413c747bf126db50816ef5de5a6e (patch)
tree912f8cf87955a08077c92fea8ad934f50b7ab975 /Hotline/macOS/ServerAgreementView.swift
parentf466b21dc02f78c984ba6748e703f6780a7a0db4 (diff)
parent6a95b53616a4abfa306ddce43151cf4fefbd20ed (diff)
Merge remote-tracking branch 'upstream/main'
Diffstat (limited to 'Hotline/macOS/ServerAgreementView.swift')
-rw-r--r--Hotline/macOS/ServerAgreementView.swift81
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.")
-}