import Foundation
import Localization

public extension WalkthroughAlertStyle {
    enum Preset: CaseIterable {
        case introducingVideoSongArt

        var textCopy: WalkthroughAlertStyle.TextCopy {
            switch self {
            case .introducingVideoSongArt:
                return .init(
                    titleTagLabel: L10n.FeatureBrandedAlert.newFeatureTag,
                    pages: [
                        .init(
                            title: L10n.FeatureBrandedAlert.videoSongArtPage1Title,
                            description: nil,
                            assetId: WalkthroughAlertStyle.videoSongArtPage1AssetId,
                            primaryButton: .learnHow,
                            secondaryButton: .tryNow
                        ),
                        .init(
                            title: L10n.FeatureBrandedAlert.videoSongArtPage2Title,
                            description: L10n.FeatureBrandedAlert.videoSongArtPage2Description,
                            assetId: WalkthroughAlertStyle.videoSongArtPage2AssetId,
                            primaryButton: .next,
                            secondaryButton: .previous
                        ),
                        .init(
                            title: L10n.FeatureBrandedAlert.videoSongArtPage3Title,
                            description: L10n.FeatureBrandedAlert.videoSongArtPage3Description,
                            assetId: WalkthroughAlertStyle.videoSongArtPage3AssetId,
                            primaryButton: .next,
                            secondaryButton: .previous
                        ),
                        .init(
                            title: L10n.FeatureBrandedAlert.videoSongArtPage4Title,
                            description: L10n.FeatureBrandedAlert.videoSongArtPage4Description,
                            assetId: WalkthroughAlertStyle.videoSongArtPage4AssetId,
                            primaryButton: .tryNow,
                            secondaryButton: .previous
                        ),
                    ]
                )
            }
        }

        var tapAction: TapAction {
            switch self {
            case .introducingVideoSongArt:
                return .exitToLibrary
            }
        }
    }
}

private extension WalkthroughAlertStyle {
    static let videoSongArtPage1AssetId = "https://cdn-o.suno.com/video_covers_promo_04_14_2025.gif"
    static let videoSongArtPage2AssetId = "https://cdn-o.suno.com/Suno_VideoSongArt_Mobile_01a.gif"
    static let videoSongArtPage3AssetId = "https://cdn-o.suno.com/Suno_VideoSongArt_Mobile_03.gif"
    static let videoSongArtPage4AssetId = "https://cdn-o.suno.com/Suno_VideoSongArt_Mobile_05.gif"
}
