import SwiftUI

public struct PlaceholderModifier: ViewModifier {
    private let cornerRadius: CGFloat

    public init(cornerRadius: CGFloat) {
        self.cornerRadius = cornerRadius
    }

    public func body(content: Content) -> some View {
        content
            .overlay {
                Color.SemanticV1.backgroundQuaternary
                    .clipShape(.rect(cornerRadius: cornerRadius))
            }
    }
}

public extension View {
    @ViewBuilder func placeholder(
        isVisible: Bool,
        cornerRadius: CGFloat = 8
    ) -> some View {
        if isVisible {
            modifier(PlaceholderModifier(cornerRadius: cornerRadius))
        } else {
            self
        }
    }
}
