|
@@ -0,0 +1,555 @@
|
|
|
+//
|
|
|
+// 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 bannerSection: TSDiscoverSectionModel = {
|
|
|
+ let section = TSDiscoverSectionModel()
|
|
|
+ section.style = .banner
|
|
|
+ section.setTitle(title: "")
|
|
|
+ section.items = [[
|
|
|
+ TSDiscoverItemModel(style: .photoLive,
|
|
|
+ viewModel: TSDiscoverAnimationItemVM(title: "",style: .video, imageNameds: ["Photo Animater.mp4"]),
|
|
|
+ generateModel: TSGenerateModel(json: video_PhotoAnimater)),
|
|
|
+ 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)),
|
|
|
+ ]]
|
|
|
+
|
|
|
+ return section
|
|
|
+ }()
|
|
|
+
|
|
|
+
|
|
|
+ lazy var videoEffectSection: TSDiscoverSectionModel = {
|
|
|
+ let section = TSDiscoverSectionModel()
|
|
|
+ section.style = .styleMore
|
|
|
+ section.setTitle(title: "🎞️ " + "Video Effect".localized,colors: ["#E7D1AB","#FFFFFF"])
|
|
|
+ section.items = [[
|
|
|
+ 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: ["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: ["Lafufu.mp4"]),
|
|
|
+ generateModel: TSGenerateModel(json: video_Lafufu)),
|
|
|
+ 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: ["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: ["Robot.mp4"]),
|
|
|
+ generateModel: TSGenerateModel(json: video_Robot)),
|
|
|
+ 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: ["Fly.mp4"]),
|
|
|
+ generateModel: TSGenerateModel(json: video_Fly)),
|
|
|
+ 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: ["Grab doll.mp4"]),
|
|
|
+ generateModel: TSGenerateModel(json: video_Grabdoll)),
|
|
|
+ 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: ["Hulk.mp4"]),
|
|
|
+ generateModel: TSGenerateModel(json: video_Hulk)),
|
|
|
+ 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: ["French Kiss.mp4"]),
|
|
|
+ generateModel: TSGenerateModel(json: video_FrenchKiss))
|
|
|
+ ]]
|
|
|
+
|
|
|
+ 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.items = [[
|
|
|
+ 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_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,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,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,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,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,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,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,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,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] = {
|
|
|
+ return [
|
|
|
+ bannerSection,
|
|
|
+ videoEffectSection,
|
|
|
+ popularStylesSection,
|
|
|
+ processPhotoSection,
|
|
|
+ figuresToysSection,
|
|
|
+ babyCardSection,
|
|
|
+ animeCartoonSection,
|
|
|
+ coolPersonalitySection,
|
|
|
+ ttpCardSection,
|
|
|
+ trendingSection,
|
|
|
+ artFilterSection,
|
|
|
+ bePrettySection,
|
|
|
+ oldAgeCardSection,
|
|
|
+ petToHumanSection,
|
|
|
+ chatCardSection,
|
|
|
+ ]
|
|
|
+ }()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|