123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651 |
- //
- // TSDiscoverViewModel+Data.swift
- // AIEmoji
- //
- // Created by 100Years on 2025/7/17.
- //
- // MARK: 组装数据
- let kTSDiscoverVM = TSDiscoverViewModel.shared
- class TSDiscoverViewModel {
- static let shared: TSDiscoverViewModel = TSDiscoverViewModel()
- lazy var bannerItems: [TSDiscoverItemModel] = {
- [
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Animal Diving Show.mp4"]),
- generateModel: TSGenerateModel(json: video_AnimalDivingShow)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Oscar Gala.mp4"]),
- generateModel: TSGenerateModel(json: video_OscarGala)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverBaseItemVM(title: "", imageNamed: "discover_0_AnimeBanner"),
- generateModel: TSGenerateModel(json: ptp_Anime)),
- ]
- }()
- lazy var bannerSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .banner
- section.setTitle(title: "")
- section.items = [bannerItems]
- return section
- }()
- lazy var videoEffectItems: [TSDiscoverItemModel] = {
- [
- /// Trending Video Effect
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Alien Kidnap.mp4"]),
- generateModel: TSGenerateModel(json: video_AlienKidnap)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Drive my yacht.mp4"]),
- generateModel: TSGenerateModel(json: video_DriveMyYacht)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Earth Zoom out.mp4"]),
- generateModel: TSGenerateModel(json: video_EarthZoomOut)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Superman.mp4"]),
- generateModel: TSGenerateModel(json: video_SuperMan)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Box Me.mp4"]),
- generateModel: TSGenerateModel(json: video_BoxMe)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Toy Me.mp4"]),
- generateModel: TSGenerateModel(json: video_ToyMe)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Mermaid.mp4"]),
- generateModel: TSGenerateModel(json: video_Mermaid)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Fairy.mp4"]),
- generateModel: TSGenerateModel(json: video_Fairy)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Anime Me.mp4"]),
- generateModel: TSGenerateModel(json: video_AnimeMe)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["360° Microwave.mp4"]),
- generateModel: TSGenerateModel(json: video_360Microwave)),
- ]
- }()
- lazy var aiDanceItems: [TSDiscoverItemModel] = {
- let items: [TSDiscoverItemModel] = [
- /// AI Dance
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Shake.mp4"]),
- generateModel: TSGenerateModel(json: video_Shake)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["PUBG Winner Hit.mp4"]),
- generateModel: TSGenerateModel(json: video_PUBGWinnerHit)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Subject 3.mp4"]),
- generateModel: TSGenerateModel(json: video_Subject3)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Body Shake.mp4"]),
- generateModel: TSGenerateModel(json: video_BodyShake)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Motor Dance.mp4"]),
- generateModel: TSGenerateModel(json: video_MotorDance)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Hip Twist.mp4"]),
- generateModel: TSGenerateModel(json: video_HipTwist)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Rat Dance.mp4"]),
- generateModel: TSGenerateModel(json: video_RatDance)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Shake it Down.mp4"]),
- generateModel: TSGenerateModel(json: video_ShakeitDown)),
- ]
- return items
- }()
- lazy var creativeEffectItems: [TSDiscoverItemModel] = {
- let items: [TSDiscoverItemModel] = [
- // Creative Effect
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Fly.mp4"]),
- generateModel: TSGenerateModel(json: video_Fly)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Happy Birthday.mp4"]),
- generateModel: TSGenerateModel(json: video_HappyBirthday)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Surprise Flower.mp4"]),
- generateModel: TSGenerateModel(json: video_SurpriseFlower)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Pet to Human.mp4"]),
- generateModel: TSGenerateModel(json: video_PettoHuman)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Making Face.mp4"]),
- generateModel: TSGenerateModel(json: video_MakingFace)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Pixel World.mp4"]),
- generateModel: TSGenerateModel(json: video_PixelWorld)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Robot.mp4"]),
- generateModel: TSGenerateModel(json: video_Robot)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Pinch.mp4"]),
- generateModel: TSGenerateModel(json: video_Pinch)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Punch Face.mp4"]),
- generateModel: TSGenerateModel(json: video_PunchFace)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Grab doll.mp4"]),
- generateModel: TSGenerateModel(json: video_Grabdoll)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Hulk.mp4"]),
- generateModel: TSGenerateModel(json: video_Hulk)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Walking with Beasts.mp4"]),
- generateModel: TSGenerateModel(json: video_WalkingwithBeasts)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Funny Pet.mp4"]),
- generateModel: TSGenerateModel(json: video_FunnyPet)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["MuscleUp.mp4"]),
- generateModel: TSGenerateModel(json: video_MuscleUp)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Lafufu.mp4"]),
- generateModel: TSGenerateModel(json: video_Lafufu)),
- TSDiscoverItemModel(style: .videoV2,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Jump to Cloud.mp4"]),
- generateModel: TSGenerateModel(json: video_JumpToCloud)),
- // TSDiscoverItemModel(style: .videoV2,
- // viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Sexy me.mp4"]),
- // generateModel: TSGenerateModel(json: video_Sexyme)),
- // TSDiscoverItemModel(style: .videoV2,
- // viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Kiss.mp4"]),
- // generateModel: TSGenerateModel(json: video_Kiss)),
- // TSDiscoverItemModel(style: .videoV2,
- // viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["French Kiss.mp4"]),
- // generateModel: TSGenerateModel(json: video_FrenchKiss)),
- // TSDiscoverItemModel(style: .videoV2,
- // viewModel: TSDiscoverAnimationItemVM(title: "", style: .video, imageNameds: ["Photo Animater.mp4"]),
- // generateModel: TSGenerateModel(json: video_PhotoAnimater),
- // showAtHome: false
- // ),
- ]
- return items
- }()
-
-
- lazy var videoEffectSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Trending Video Effect".localized, imageNamed: "🏆", colors: ["#FCB728", "#FFFFFF"])
- section.items = [videoEffectItems.filter({ $0.showAtHome == true })]
- return section
- }()
-
- lazy var aiDanceSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "AI Dance".localized, imageNamed: "💃", colors: ["#EF2C00", "#FFFFFF"])
- section.items = [aiDanceItems.filter({ $0.showAtHome == true })]
- return section
- }()
-
-
- lazy var creativeEffectSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Creative Effect".localized, imageNamed: "✨", colors: ["#FCDF3B", "#FFFFFF"])
- section.items = [creativeEffectItems.filter({ $0.showAtHome == true })]
- return section
- }()
- // //顶部按钮功能(金刚区)
- // lazy var topFuncSection:TSDiscoverSectionModel = {
- // let section = TSDiscoverSectionModel()
- // section.style = .funcItems
- // section.items = [[
- //// TSDiscoverItemModel(style: .futureBaby,
- //// viewModel: TSDiscoverBaseItemVM(title: "AI Baby", imageNamed: "discover_AIBaby"),
- //// generateModel: TSFuncStyle.futureBaby.generateModel),
- // TSDiscoverItemModel(style: .ttp,
- // viewModel: TSDiscoverBaseItemVM(title: "Text to Image", imageNamed: "discover_TextImage")),
- // TSDiscoverItemModel(style: .chat,
- // viewModel: TSDiscoverBaseItemVM(title: "AI Assistant", imageNamed: "discover_AIAssistant")),
- // TSDiscoverItemModel(style: .photoQuality,
- // viewModel: TSDiscoverBaseItemVM(title: "Enhance Photo", imageNamed: "discover_HD"),
- // generateModel: TSFuncStyle.oldPhoto.generateModel),
- // TSDiscoverItemModel(style: .photoLive,
- // viewModel: TSDiscoverBaseItemVM(title: "Old Photo Animation", imageNamed: "discover_PredictOld"),
- // generateModel: TSFuncStyle.photoLive.generateModel),
- // ]]
- // return section
- // }()
- lazy var popularStylesSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Popular Photo Filter".localized, imageNamed: "🔥", colors: ["#EF2C00", "#FEFEE7"])
- section.items = [[
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_StickerMe", "discover_1_StickerMe"]),
- generateModel: TSGenerateModel(json: ptp_StickerMe)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_ToonMe", "discover_1_ToonMe"]),
- generateModel: TSGenerateModel(json: ptp_ToonMe)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_EmojiMe", "discover_1_EmojiMe"]),
- generateModel: TSGenerateModel(json: ptp_EmojiMe)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Bride", "discover_1_Bride"]),
- generateModel: TSGenerateModel(json: ptp_Bride)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_ChibiSticker", "discover_1_ChibiSticker"]),
- generateModel: TSGenerateModel(json: ptp_ChibiSticker)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Irasutoya", "discover_1_Irasutoya"]),
- generateModel: TSGenerateModel(json: ptp_Irasutoya)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_BlytheDoll", "discover_1_BlytheDoll"]),
- generateModel: TSGenerateModel(json: ptp_BlytheDoll)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Caricature", "discover_1_Caricature"]),
- generateModel: TSGenerateModel(json: ptp_Caricature)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Illustration", "discover_1_Illustration"]),
- generateModel: TSGenerateModel(json: ptp_Illustration)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_90sAnime", "discover_1_90sAnime"]),
- generateModel: TSGenerateModel(json: ptp_90sAnime)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_FreshWatercolor", "discover_1_FreshWatercolor"]),
- generateModel: TSGenerateModel(json: ptp_FreshWatercolor)),
- // TSDiscoverItemModel(style: .ptp,
- // viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_FairyTail","discover_1_FairyTail"]),
- // generateModel: TSGenerateModel(json: ptp_FairyTail)),
- // TSDiscoverItemModel(style: .ptp,
- // viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_TouhouSeries","discover_1_TouhouSeries"]),
- // generateModel: TSGenerateModel(json: ptp_TouhouSeries)),
- // TSDiscoverItemModel(style: .ptp,
- // viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Anime","discover_1_Anime"]),
- // generateModel: TSGenerateModel(json: ptp_Anime)),
- ]]
- return section
- }()
- lazy var petToHumanSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .fullCard
- section.items = [
- TSDiscoverItemModel(style: .catTohuman,
- viewModel: TSDiscoverBaseItemVM(
- title: "Pet Humanization".localized,
- imageNamed: "aiList_catTohuman",
- info: "Curious about what your pet is like?".localized
- ),
- generateModel: TSGenerateModel(json: catTohuman)),
- ]
- return section
- }()
- lazy var figuresToysSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Figures&Toys".localized, imageNamed: "🧸", colors: ["#D7A863", "#FFFFFF"])
- section.items = [[
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_AnimeFigure", "discover_1_AnimeFigure"]),
- generateModel: TSGenerateModel(json: ptp_ActionFigure)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Lafufu", "discover_1_Lafufu"]),
- generateModel: TSGenerateModel(json: ptp_Lafufu)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_WhimsicalDoll", "discover_1_WhimsicalDoll"]),
- generateModel: TSGenerateModel(json: ptp_WhimsicalDoll)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_PushToy", "discover_1_PushToy"]),
- generateModel: TSGenerateModel(json: ptp_PlushToy)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Polaroid", "discover_1_Polaroid"]),
- generateModel: TSGenerateModel(json: ptp_Polaroid)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_MusicBox", "discover_1_MusicBox"]),
- generateModel: TSGenerateModel(json: ptp_MusicBox)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Earphone", "discover_1_Earphone"]),
- generateModel: TSGenerateModel(json: ptp_Earphone)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Kulomi", "discover_1_Kulomi"]),
- generateModel: TSGenerateModel(json: ptp_Kulomi)),
- ]]
- return section
- }()
- // lazy var babyCardSection: TSDiscoverSectionModel = {
- // let section = TSDiscoverSectionModel()
- // section.style = .fullCard
- // section.items = [
- // TSDiscoverItemModel(style: .futureBaby,
- // viewModel: TSDiscoverAnimationItemVM(
- // title: "Future Baby".localized,
- // info: "To see what will your future baby look like".localized,
- // style: .apng,
- // imageNameds: ["animated_aiBaby.apng"]
- // ),
- // generateModel: TSGenerateModel(json: futureBaby)),
- // ]
- //
- // return section
- // }()
- lazy var babyCardSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .fullCard
- section.items = [
- TSDiscoverItemModel(style: .futureBaby,
- viewModel: TSDiscoverBaseItemVM(
- title: "Future Baby".localized,
- imageNamed: "discover_aiBaby",
- info: "To see what will your future baby look like".localized
- ),
- generateModel: TSGenerateModel(json: futureBaby)),
- ]
- return section
- }()
- lazy var coolPersonalitySection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Cool Personality".localized, imageNamed: "🔮", colors: ["#DB6BE6", "#FFFFFF"])
- section.items = [[
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Cyberpunk", "discover_1_Cyberpunk"]),
- generateModel: TSGenerateModel(json: ptp_Cyberpunk)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Gothic", "discover_1_Gothic"]),
- generateModel: TSGenerateModel(json: ptp_Gothic)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Y2K", "discover_1_Y2K"]),
- generateModel: TSGenerateModel(json: ptp_Y2KMillennium)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Dopamine", "discover_1_Dopamine"]),
- generateModel: TSGenerateModel(json: ptp_Dopamine)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Neon", "discover_1_Neon"]),
- generateModel: TSGenerateModel(json: ptp_Neon)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_DarkAcademia", "discover_1_DarkAcademia"]),
- generateModel: TSGenerateModel(json: ptp_DarkAcademia)),
- ]]
- return section
- }()
- lazy var animeCartoonSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Anime&Cartoon".localized, imageNamed: "🧚🏻♀️", colors: ["#A4EAD4", "#FFFFFF"])
- section.items = [[
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_AnimalCrossing", "discover_1_AnimalCrossing"]),
- generateModel: TSGenerateModel(json: ptp_AnimalCrossing)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_YellowBunch", "discover_1_YellowBunch"]),
- generateModel: TSGenerateModel(json: ptp_YellowBunch)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_SweetieCat", "discover_1_SweetieCat"]),
- generateModel: TSGenerateModel(json: ptp_SweetieCat)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Puppy", "discover_1_Puppy"]),
- generateModel: TSGenerateModel(json: ptp_Puppy)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Cibi", "discover_1_Cibi"]),
- generateModel: TSGenerateModel(json: ptp_Cibi)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_MarinerKing", "discover_1_MarinerKing"]),
- generateModel: TSGenerateModel(json: ptp_MarinerKing)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_SonOfDragon", "discover_1_SonOfDragon"]),
- generateModel: TSGenerateModel(json: ptp_SonOfDragon)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Barbie", "discover_1_Barbie"]),
- generateModel: TSGenerateModel(json: ptp_Barbie)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Chiikawa", "discover_1_Chiikawa"]),
- generateModel: TSGenerateModel(json: ptp_Chiikawa)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_3DBox", "discover_1_3DBox"]),
- generateModel: TSGenerateModel(json: ptp_3DBox)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_BattleBlitz", "discover_1_BattleBlitz"]),
- generateModel: TSGenerateModel(json: ptp_BattleBlitz)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Mythos", "discover_1_Mythos"]),
- generateModel: TSGenerateModel(json: ptp_Mythos)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_EmpireDash", "discover_1_EmpireDash"]),
- generateModel: TSGenerateModel(json: ptp_EmpireDash)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_PocketBeasts", "discover_1_PocketBeasts"]),
- generateModel: TSGenerateModel(json: ptp_PocketBeasts)),
- ]]
- return section
- }()
- lazy var ttpCardSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .fullCard
- section.items = [
- TSDiscoverItemModel(style: .ttp,
- viewModel: TSDiscoverBaseItemVM(
- title: "Text to Image".localized,
- imageNamed: "discover_ttp",
- info: "Turn words into visually stunning artwork".localized
- ),
- generateModel: nil),
- ]
- return section
- }()
- lazy var trendingSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Trending".localized, imageNamed: "🚀", colors: ["#4887BB", "#FFFFFF"])
- section.items = [[
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Fairy", "discover_1_Fairy"]),
- generateModel: TSGenerateModel(json: ptp_Fairy)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_CyberFairy", "discover_1_CyberFairy"]),
- generateModel: TSGenerateModel(json: ptp_CyberFairy)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Mermaid", "discover_1_Mermaid"]),
- generateModel: TSGenerateModel(json: ptp_Mermaid)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Mermaid", "discover_1_CyberMermaid"]),
- generateModel: TSGenerateModel(json: ptp_CyberpunkMermaid)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Mermaid", "discover_1_CuteMermaid"]),
- generateModel: TSGenerateModel(json: ptp_CuteMermaid)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Mermaid", "discover_1_DarckMermaid"]),
- generateModel: TSGenerateModel(json: ptp_DarkMermaid)),
- ]]
- return section
- }()
- lazy var processPhotoSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Process Photo".localized, imageNamed: "🚀", colors: ["#DEA94E", "#FFFFFF"])
- section.items = [[
- TSDiscoverItemModel(style: .photoLive,
- viewModel: TSDiscoverAnimationItemVM(title: "", style: .gif, imageNameds: ["discover_0_AnimatePhoto1"]),
- generateModel: TSGenerateModel(json: photoLive)),
- TSDiscoverItemModel(style: .photoQuality,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_EnhancerPhoto", "discover_1_EnhancerPhoto"]),
- generateModel: TSGenerateModel(json: photoQuality)),
- TSDiscoverItemModel(style: .process,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_RecreatePhoto", "discover_1_RecreatePhoto"]),
- generateModel: TSGenerateModel(json: recreatePhoto)),
- TSDiscoverItemModel(style: .oldPhoto,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_RestorPhoto", "discover_1_RestorPhoto"]),
- generateModel: TSGenerateModel(json: oldPhoto)),
- TSDiscoverItemModel(style: .process,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Colorize", "discover_1_Colorize"]),
- generateModel: TSGenerateModel(json: colorize)),
- TSDiscoverItemModel(style: .photoExpand,
- viewModel: TSDiscoverBaseItemVM(title: "", imageNamed: "discover_0_ExpandPhoto"),
- generateModel: TSGenerateModel(json: photoExpand)),
- ]]
- return section
- }()
- lazy var chatCardSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .fullCard
- section.items = [
- TSDiscoverItemModel(style: .chat,
- viewModel: TSDiscoverBaseItemVM(
- title: "AI Assistant".localized,
- imageNamed: "aiList_aiChat",
- info: "Get smart and instant answers".localized
- ),
- generateModel: nil),
- ]
- return section
- }()
- lazy var artFilterSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Art Filter".localized, imageNamed: "🖼️", colors: ["#6CCC2B", "#FFFFFF"])
- section.items = [[
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_OilPainting", "discover_1_OilPainting"]),
- generateModel: TSGenerateModel(json: ptp_OilPainting)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_MonaLisa", "discover_1_MonaLisa"]),
- generateModel: TSGenerateModel(json: ptp_MonaLisa)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Pixel", "discover_1_Pixel"]),
- generateModel: TSGenerateModel(json: ptp_Pixel)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Sketch", "discover_1_Sketch"]),
- generateModel: TSGenerateModel(json: ptp_Sketch)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Watercolor", "discover_1_Watercolor"]),
- generateModel: TSGenerateModel(json: ptp_Watercolor)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_VanGogh", "discover_1_VanGogh"]),
- generateModel: TSGenerateModel(json: ptp_VanGogh)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Dreamcore", "discover_1_Dreamcore"]),
- generateModel: TSGenerateModel(json: ptp_Dreamcore)),
- TSDiscoverItemModel(style: .ptp,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Doodle", "discover_1_Doodle"]),
- generateModel: TSGenerateModel(json: ptp_Doodle)),
- ]]
- return section
- }()
- lazy var bePrettySection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .styleMore
- section.setTitle(title: "Be Pretty".localized, imageNamed: "🥰", colors: ["#FFA537", "#FFFFFF"])
- section.items = [[
- TSDiscoverItemModel(style: .changehair,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_HairSalon", "discover_1_HairSalon", "discover_2_HairSalon"]),
- generateModel: TSGenerateModel(json: hairSalon)),
- TSDiscoverItemModel(style: .changehairColor,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_HairColor", "discover_1_HairColor", "discover_2_HairColor"]),
- generateModel: TSGenerateModel(json: hairColor)),
- TSDiscoverItemModel(style: .pretty,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_Pretty", "discover_1_Pretty"]),
- generateModel: TSGenerateModel(json: pretty)),
- TSDiscoverItemModel(style: .eyeOpen,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_FaceFix", "discover_1_FaceFix"]),
- generateModel: TSGenerateModel(json: eyeOpen)),
- TSDiscoverItemModel(style: .changeEmote,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_FacialExpression", "discover_1_FacialExpression"]),
- generateModel: TSGenerateModel(json: changeEmotion)),
- TSDiscoverItemModel(style: .ageChild,
- viewModel: TSDiscoverAnimationItemVM(title: "", imageNameds: ["discover_0_BackToBaby", "discover_1_BackToBaby"]),
- generateModel: TSGenerateModel(json: ageChild)),
- ]]
- return section
- }()
- lazy var oldAgeCardSection: TSDiscoverSectionModel = {
- let section = TSDiscoverSectionModel()
- section.style = .fullCard
- section.setTitle(title: "More AI Tools".localized, imageNamed: "🪄", colors: ["#FFFF73", "#FFFFFF"])
- section.items = [
- TSDiscoverItemModel(style: .ageOld,
- viewModel: TSDiscoverBaseItemVM(
- title: "Predicting Old Age".localized,
- imageNamed: "aiList_oldPeople",
- info: "AI predicts what you look like in your old age".localized
- ),
- generateModel: TSGenerateModel(json: ageOld)),
- ]
- return section
- }()
- lazy var discoverDatas: [TSDiscoverSectionModel] = {
- [
- bannerSection,
- videoEffectSection,
- aiDanceSection,
- creativeEffectSection,
- popularStylesSection,
- processPhotoSection,
- figuresToysSection,
- babyCardSection,
- animeCartoonSection,
- coolPersonalitySection,
- ttpCardSection,
- trendingSection,
- artFilterSection,
- bePrettySection,
- oldAgeCardSection,
- petToHumanSection,
- chatCardSection,
- ]
- }()
- }
|