import APIClient
import Localization
import ShareAssetClient
import SwiftUI

struct VisualizerGalleryDebugPresets: VisualizerGalleryConfigSet {
    var defaultIndex: Int {
        return 0
    }

    func configs(_: Clip) -> [VisualizerAssetConfig] {
        let auraBlueV1: VisualizerAssetConfig = .init(
            id: "AuraBlue-V1",
            displayName: L10n.FeatureShareAssets.auraMidnight,
            shareAssetConfig: .init(
                backgroundPreset: .auraBlue,
                stickerStyle: .none,
                lyricsStyle: .none
            )
        )

        let auraBlueV2: VisualizerAssetConfig = .init(
            id: "AuraBlue-V2",
            displayName: L10n.FeatureShareAssets.auraMidnight,
            shareAssetConfig: .init(
                backgroundPreset: .auraBlue,
                stickerStyle: .coreInfoStandard,
                lyricsStyle: .none
            )
        )

        let auraBlueV3: VisualizerAssetConfig = .init(
            id: "AuraBlue-V3",
            displayName: L10n.FeatureShareAssets.auraMidnight,
            shareAssetConfig: .init(
                backgroundPreset: .auraBlue,
                stickerStyle: .coreLyricsStandard,
                lyricsStyle: .none
            )
        )

        let auraBlueV4: VisualizerAssetConfig = .init(
            id: "AuraBlue-V4",
            displayName: L10n.FeatureShareAssets.auraMidnight,
            shareAssetConfig: .init(
                backgroundPreset: .auraBlue,
                stickerStyle: .coreLyricsStandard,
                lyricsStyle: .lyricsBox
            )
        )

        let auraBlueV5: VisualizerAssetConfig = .init(
            id: "AuraBlue-V5",
            displayName: L10n.FeatureShareAssets.auraMidnight,
            shareAssetConfig: .init(
                backgroundPreset: .auraBlue,
                stickerStyle: .coreLyricsStandard,
                lyricsStyle: .lyricsTwoLine
            )
        )

        let auraBlueV6: VisualizerAssetConfig = .init(
            id: "AuraBlue-V6",
            displayName: L10n.FeatureShareAssets.auraMidnight,
            shareAssetConfig: .init(
                backgroundPreset: .auraBlue,
                stickerStyle: .coreLyricsStandard,
                lyricsStyle: .lyricsThreeLine
            )
        )

        let auraBlueV7: VisualizerAssetConfig = .init(
            id: "AuraBlue-V7",
            displayName: L10n.FeatureShareAssets.auraMidnight,
            shareAssetConfig: .init(
                backgroundPreset: .auraBlue,
                stickerStyle: .leadingInfoStandard,
                lyricsStyle: .none
            )
        )

        let auraBlueV8: VisualizerAssetConfig = .init(
            id: "AuraBlue-V8",
            displayName: L10n.FeatureShareAssets.auraMidnight,
            shareAssetConfig: .init(
                backgroundPreset: .auraBlue,
                stickerStyle: .framedCoreTop,
                lyricsStyle: .none
            )
        )

        let auraBlueV9: VisualizerAssetConfig = .init(
            id: "AuraBlue-V9",
            displayName: L10n.FeatureShareAssets.auraMidnight,
            shareAssetConfig: .init(
                backgroundPreset: .auraBlue,
                stickerStyle: .framedCoreCenter,
                lyricsStyle: .none
            )
        )

        let configs: [VisualizerAssetConfig] = [
            auraBlueV1,
            auraBlueV2,
            auraBlueV3,
            auraBlueV4,
            auraBlueV5,
            auraBlueV6,
            auraBlueV7,
            auraBlueV8,
            auraBlueV9,
        ]

        return configs
    }
}
