aboutsummaryrefslogtreecommitdiff
path: root/Hotline/macOS/ServerAgreementView.swift
diff options
context:
space:
mode:
authorDustin Mierau <dustin@mierau.me>2025-10-27 21:48:20 -0700
committerDustin Mierau <dustin@mierau.me>2025-10-27 21:48:20 -0700
commit4bb0ffba596e41a8309ba50d222248a0ba3eb42e (patch)
treefcd1c2b11c071a624d0b3b56ed16340272200c7d /Hotline/macOS/ServerAgreementView.swift
parent924012e6ee03fff5570e9362e29be9b04816b777 (diff)
Random project housekeeping/organizing source files.
Diffstat (limited to 'Hotline/macOS/ServerAgreementView.swift')
-rw-r--r--Hotline/macOS/ServerAgreementView.swift78
1 files changed, 0 insertions, 78 deletions
diff --git a/Hotline/macOS/ServerAgreementView.swift b/Hotline/macOS/ServerAgreementView.swift
deleted file mode 100644
index e72de7d..0000000
--- a/Hotline/macOS/ServerAgreementView.swift
+++ /dev/null
@@ -1,78 +0,0 @@
-import SwiftUI
-
-fileprivate let MAX_AGREEMENT_HEIGHT: CGFloat = 340
-
-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(alignment: .bottomTrailing) {
- ZStack(alignment: .bottomTrailing) {
- Group {
- if !expandable || expanded {
- EmptyView()
- }
- else {
- Button(action: {
- withAnimation(.easeOut(duration: 0.15)) {
- expanded = true
- }
- }, label: {
- Image(systemName: "arrow.up.and.down.circle.fill")
- .resizable()
- .scaledToFit()
- .fontWeight(.semibold)
- .frame(width: 16, height: 16)
- .foregroundColor(.primary.opacity(0.5))
- })
- .buttonStyle(.plain)
- .buttonBorderShape(.circle)
- .help("Expand Server Agreement")
- .padding([.trailing, .bottom], 16)
- }
- }
- }
- }
- .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous))
- }
-}
-
-#Preview {
- ServerAgreementView(text: "Hello there and welcome to this server.")
-}