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 ) } }