Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
signalapp
GitHub Repository: signalapp/Signal-iOS
Path: blob/main/SignalUI/SwiftUIExtensions/ScrollableWhenCompact.swift
1 views
//
// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//

public import SwiftUI

public struct ScrollableWhenCompact<Content: View>: View {
    @Environment(\.verticalSizeClass) private var verticalSizeClass

    private var content: Content

    public init(@ViewBuilder content: () -> Content) {
        self.content = content()
    }

    public var body: some View {
        if verticalSizeClass == .compact {
            ScrollView {
                content
            }
            .scrollBounceBehaviorIfAvailable(.basedOnSize)
        } else {
            content
        }
    }
}