Files
letro-ios/ElementX/Sources/Other/SwiftUI/Views/TimelineScrollToBottomButton.swift

35 lines
1.1 KiB
Swift

//
// Copyright 2025 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
//
import SwiftUI
struct TimelineScrollToBottomButton: View {
let isVisible: Bool
let callback: () -> Void
var body: some View {
Button { callback() } label: {
Image(systemName: "chevron.down")
.font(.compound.bodyLG)
.fontWeight(.semibold)
.foregroundColor(.compound.iconSecondary)
.padding(13)
.offset(y: 1)
.background {
Circle()
.fill(Color.compound.iconOnSolidPrimary)
// Intentionally using system primary colour to get white/black.
.shadow(color: .primary.opacity(0.33), radius: 2.0)
}
.padding()
}
.opacity(isVisible ? 0.0 : 1.0)
.accessibilityHidden(isVisible)
.animation(.elementDefault, value: isVisible)
}
}