import Foundation
import Localization

public extension MultiButtonAlertStyleV2 {
    enum Preset: CaseIterable {
        case goBackConfirmation
        case areYouSureYouWantToUnpublish
        case areYouSureYouWantToUnpublishWithHook
        case areYouSureYouWantToDeleteClipWithHook

        var textCopy: TextCopy {
            switch self {
            case .goBackConfirmation:
                return .init(
                    title: L10n.FeatureHooks.goBackTitle,
                    description: L10n.FeatureHooks.goBackDescription,
                    primaryButtonLabel: L10n.FeatureHooks.goBack,
                    secondaryButtonLabel: L10n.FeatureHooks.cancel
                )

            case .areYouSureYouWantToUnpublish:
                return .init(
                    title: L10n.FeatureManageClip.areYouSureUnpublishTitle,
                    description: L10n.FeatureManageClip.areYouSureUnpublishMessage,
                    primaryButtonLabel: L10n.FeatureManageClip.areYouSureUnpublishButton,
                    secondaryButtonLabel: L10n.FeatureManageClip.cancel
                )

            case .areYouSureYouWantToUnpublishWithHook:
                return .init(
                    title: L10n.FeatureManageClip.areYouSureUnpublishWithHookTitle,
                    description: L10n.FeatureManageClip.areYouSureUnpublishWithHookMessage,
                    primaryButtonLabel: L10n.FeatureManageClip.areYouSureUnpublishButton,
                    secondaryButtonLabel: L10n.FeatureManageClip.cancel
                )

            case .areYouSureYouWantToDeleteClipWithHook:
                return .init(
                    title: L10n.FeatureManageClip.areYouSureDeleteSongWithHookTitle,
                    description: L10n.FeatureManageClip.areYouSureDeleteSongWithHookMessage,
                    primaryButtonLabel: L10n.FeatureManageClip.areYouSureDeleteSongWithHookButton,
                    secondaryButtonLabel: L10n.FeatureManageClip.cancel
                )
            }
        }
    }
}
