Files
sodalive-ios/SodaLive/Sources/V2/CreatorChannel/FanTalk/Components/CreatorChannelFanTalkActionPopup.swift

58 lines
1.6 KiB
Swift

import SwiftUI
struct CreatorChannelActionPopup: View {
let canEdit: Bool
let canDelete: Bool
let onTapEdit: () -> Void
let onTapDelete: () -> Void
var editTitle = I18n.Explorer.editAction
var deleteTitle = I18n.Explorer.deleteAction
var body: some View {
VStack(alignment: .leading, spacing: 0) {
if canEdit {
actionButton(title: editTitle, action: onTapEdit)
}
if canDelete {
actionButton(title: deleteTitle, action: onTapDelete)
}
}
.background(Color.gray900)
.cornerRadius(14)
.overlay(
RoundedRectangle(cornerRadius: 14, style: .continuous)
.stroke(Color.gray700, lineWidth: 1)
)
}
private func actionButton(title: String, action: @escaping () -> Void) -> some View {
Button(action: action) {
Text(title)
.appFont(size: 14, weight: .medium)
.foregroundColor(.white)
.lineLimit(1)
.frame(minWidth: 80, alignment: .leading)
.padding(.horizontal, SodaSpacing.s12)
.padding(.vertical, SodaSpacing.s8)
}
.buttonStyle(.plain)
}
}
struct CreatorChannelFanTalkActionPopup: View {
let isMine: Bool
let isOwnCreatorChannel: Bool
let onTapEdit: () -> Void
let onTapDelete: () -> Void
var body: some View {
CreatorChannelActionPopup(
canEdit: isMine,
canDelete: isMine || isOwnCreatorChannel,
onTapEdit: onTapEdit,
onTapDelete: onTapDelete
)
}
}