diff --git a/AnimeGen.xcodeproj/project.pbxproj b/AnimeGen.xcodeproj/project.pbxproj index 9e1abb4f..73b9b159 100644 --- a/AnimeGen.xcodeproj/project.pbxproj +++ b/AnimeGen.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 132376E12C20602900D87012 /* Tags Selection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 132376E02C20602900D87012 /* Tags Selection.swift */; }; + 132376E32C20606400D87012 /* ImageGenerationSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 132376E22C20606400D87012 /* ImageGenerationSettings.swift */; }; 133C4C872BE67CAB00258EDD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 133C4C862BE67CAB00258EDD /* AppDelegate.swift */; }; 133C4C892BE67CAB00258EDD /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 133C4C882BE67CAB00258EDD /* SceneDelegate.swift */; }; 133C4C8B2BE67CAB00258EDD /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 133C4C8A2BE67CAB00258EDD /* ViewController.swift */; }; @@ -62,6 +64,8 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 132376E02C20602900D87012 /* Tags Selection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Tags Selection.swift"; sourceTree = ""; }; + 132376E22C20606400D87012 /* ImageGenerationSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageGenerationSettings.swift; sourceTree = ""; }; 133C4C832BE67CAB00258EDD /* AnimeGen.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnimeGen.app; sourceTree = BUILT_PRODUCTS_DIR; }; 133C4C862BE67CAB00258EDD /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 133C4C882BE67CAB00258EDD /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -250,8 +254,8 @@ 13D4FC2B2BE7710C00BC3D1C /* Hmtai */ = { isa = PBXGroup; children = ( - 13D4FC272BE7710400BC3D1C /* HmtaiReader.swift */, 13D4FC282BE7710400BC3D1C /* HmtaiSender.swift */, + 13D4FC272BE7710400BC3D1C /* HmtaiReader.swift */, ); path = Hmtai; sourceTree = ""; @@ -269,6 +273,8 @@ 13AB1D292BE93E3D009132CB /* Historyy.swift */, 13DD19D92BEA58B00034B014 /* SettingsMain.swift */, 13AC382B2BEFA34A00676546 /* APIsValid.swift */, + 132376E02C20602900D87012 /* Tags Selection.swift */, + 132376E22C20606400D87012 /* ImageGenerationSettings.swift */, ); path = Settings; sourceTree = ""; @@ -379,6 +385,7 @@ 136BD7E42BE7DFEE00ED23AE /* AppPref.swift in Sources */, 13D4FBEB2BE76D0600BC3D1C /* ImageExtensions.swift in Sources */, 13D4FBE92BE768C100BC3D1C /* HeartButton.swift in Sources */, + 132376E32C20606400D87012 /* ImageGenerationSettings.swift in Sources */, 13D4FC212BE770EC00BC3D1C /* kyoko.swift in Sources */, 13D4FBF22BE76DCA00BC3D1C /* Web-Share.swift in Sources */, 13AC382C2BEFA34A00676546 /* APIsValid.swift in Sources */, @@ -416,6 +423,7 @@ 13AB1D2A2BE93E3D009132CB /* Historyy.swift in Sources */, 133C4C892BE67CAB00258EDD /* SceneDelegate.swift in Sources */, 136BD7E62BE7E1B300ED23AE /* Contents.swift in Sources */, + 132376E12C20602900D87012 /* Tags Selection.swift in Sources */, 13C1E03C2BE9068600A27DEE /* AboutPage.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -561,7 +569,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.9.5; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = me.cranci.AnimeGen; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -592,7 +600,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.9.5; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = me.cranci.AnimeGen; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; diff --git a/AnimeGen.xcodeproj/project.xcworkspace/xcuserdata/Francesco.xcuserdatad/UserInterfaceState.xcuserstate b/AnimeGen.xcodeproj/project.xcworkspace/xcuserdata/Francesco.xcuserdatad/UserInterfaceState.xcuserstate index 2bc6d5f0..52047f32 100644 Binary files a/AnimeGen.xcodeproj/project.xcworkspace/xcuserdata/Francesco.xcuserdatad/UserInterfaceState.xcuserstate and b/AnimeGen.xcodeproj/project.xcworkspace/xcuserdata/Francesco.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/AnimeGen/APIs Requests/Hmtai/HmtaiSender.swift b/AnimeGen/APIs Requests/Hmtai/HmtaiSender.swift index 441d22ea..7c7c2ed7 100644 --- a/AnimeGen/APIs Requests/Hmtai/HmtaiSender.swift +++ b/AnimeGen/APIs Requests/Hmtai/HmtaiSender.swift @@ -15,15 +15,24 @@ extension ViewController { let categories3: [String] let endpointPrefix: String + if let selectedTags = UserDefaults.standard.array(forKey: "SelectedTagsHmtai") as? [String], !selectedTags.isEmpty { + categories3 = selectedTags + } else { + if UserDefaults.standard.bool(forKey: "explicitContents") { + categories3 = ["ass", "anal", "bdsm", "classic", "cum", "creampie", "manga", "femdom", "hentai", "incest", "masturbation", "public", "ero", "orgy", "elves", "yuri", "pantsu", "pussy", "glasses", "cuckold", "blowjob", "boobjob", "handjob", "footjob", "boobs", "thighs", "ahegao", "uniform", "gangbang", "tentacles", "gif", "nsfwNeko", "nsfwMobileWallpaper", "zettaiRyouiki"] + } else { + categories3 = ["wave", "wink", "tea", "bonk", "punch", "poke", "bully", "pat", "kiss", "kick", "blush", "feed", "smug", "hug", "cuddle", "cry", "cringe", "slap", "five", "glomp", "happy", "hold", "nom", "smile", "throw", "lick", "bite", "dance", "boop", "sleep", "like", "kill", "tickle", "nosebleed", "threaten", "depression", "wolf_arts", "jahy_arts", "neko_arts", "coffee_arts", "wallpaper", "mobileWallpaper"] + } + } + if UserDefaults.standard.bool(forKey: "explicitContents") { - categories3 = ["ass", "anal", "bdsm", "classic", "cum", "creampie", "manga", "femdom", "hentai", "incest", "masturbation", "public", "ero", "orgy", "elves", "yuri", "pantsu", "pussy", "glasses", "cuckold", "blowjob", "boobjob", "handjob", "footjob", "boobs", "thighs", "ahegao", "uniform", "gangbang", "tentacles", "gif", "nsfwNeko", "nsfwMobileWallpaper", "zettaiRyouiki"] endpointPrefix = "https://hmtai.hatsunia.cfd/nsfw/" } else { - categories3 = ["wave", "wink", "tea", "bonk", "punch", "poke", "bully", "pat", "kiss", "kick", "blush", "feed", "smug", "hug", "cuddle", "cry", "cringe", "slap", "five", "glomp", "happy", "hold", "nom", "smile", "throw", "lick", "bite", "dance", "boop", "sleep", "like", "kill", "tickle", "nosebleed", "threaten", "depression", "wolf_arts", "jahy_arts", "neko_arts", "coffee_arts", "wallpaper", "mobileWallpaper"] endpointPrefix = "https://hmtai.hatsunia.cfd/sfw/" } - let randomCategory3 = categories3.randomElement() ?? "pat" + let randomIndex = Int(arc4random_uniform(UInt32(categories3.count))) + let randomCategory3 = categories3[randomIndex] let apiEndpoint = "\(endpointPrefix)\(randomCategory3)" guard let url = URL(string: apiEndpoint) else { diff --git a/AnimeGen/APIs Requests/kyoko.swift b/AnimeGen/APIs Requests/kyoko.swift index dc029424..90a64bd8 100644 --- a/AnimeGen/APIs Requests/kyoko.swift +++ b/AnimeGen/APIs Requests/kyoko.swift @@ -19,13 +19,21 @@ extension ViewController { guard let self = self else { return } var endpointPrefix: String - var categories: [String] + var categories: [String] = [] + + if let selectedTags = UserDefaults.standard.array(forKey: "SelectedTagsKyoko") as? [String], !selectedTags.isEmpty { + categories = selectedTags + } else { + if UserDefaults.standard.bool(forKey: "explicitContents") { + categories = ["waifu", "neko", "trap", "blowjob"] + } else { + categories = ["waifu", "neko", "shinobu", "megumin", "bully", "cuddle", "cry", "hug", "awoo", "kiss", "lick", "pat", "smug", "bonk", "blush", "smile", "nom", "bite", "glomp", "slap", "kick", "happy", "poke", "dance"] + } + } if UserDefaults.standard.bool(forKey: "explicitContents") { - categories = ["waifu", "neko", "trap", "blowjob"] endpointPrefix = "https://waifu.rei.my.id/nsfw/" } else { - categories = ["waifu", "neko", "shinobu", "megumin", "bully", "cuddle", "cry", "hug", "awoo", "kiss", "lick", "pat", "smug", "bonk", "blush", "smile", "nom", "bite", "glomp", "slap", "kick", "happy", "poke", "dance"] endpointPrefix = "https://waifu.rei.my.id/sfw/" } diff --git a/AnimeGen/APIs Requests/n-sfw.swift b/AnimeGen/APIs Requests/n-sfw.swift index b2b3d52c..3c92b484 100644 --- a/AnimeGen/APIs Requests/n-sfw.swift +++ b/AnimeGen/APIs Requests/n-sfw.swift @@ -19,13 +19,21 @@ extension ViewController { guard let self = self else { return } var endpointPrefix: String - var categories: [String] + var categories: [String] = [] + + if let selectedTags = UserDefaults.standard.array(forKey: "SelectedTagsN-Sfw.Com") as? [String], !selectedTags.isEmpty { + categories = selectedTags + } else { + if UserDefaults.standard.bool(forKey: "explicitContents") { + categories = ["anal","ass", "blowjob", "breeding", "buttplug", "cages", "ecchi", "feet", "fo", "furry", "gif", "hentai", "legs", "masturbation", "milf", "muscle", "neko", "paizuri", "petgirls", "pierced", "selfie", "smothering", "socks", "trap", "vagina", "yaoi", "yuri"] + } else { + categories = ["bunny-girl", "charlotte", "date-a-live", "death-note", "demon-slayer", "haikyu", "hxh", "kakegurui", "konosuba", "komi", "memes", "naruto", "noragami", "one-piece", "rag", "sakurasou", "sao", "sds", "spy-x-family", "takagi-san", "toradora", "your-name"] + } + } if UserDefaults.standard.bool(forKey: "explicitContents") { - categories = ["anal","ass", "blowjob", "breeding", "buttplug", "cages", "ecchi", "feet", "fo", "furry", "gif", "hentai", "legs", "masturbation", "milf", "muscle", "neko", "paizuri", "petgirls", "pierced", "selfie", "smothering", "socks", "trap", "vagina", "yaoi", "yuri"] endpointPrefix = "https://api.n-sfw.com/nsfw/" } else { - categories = ["bunny-girl", "charlotte", "date-a-live", "death-note", "demon-slayer", "haikyu", "hxh", "kakegurui", "konosuba", "komi", "memes", "naruto", "noragami", "one-piece", "rag", "sakurasou", "sao", "sds", "spy-x-family", "takagi-san", "toradora", "your-name"] endpointPrefix = "https://api.n-sfw.com/sfw/" } diff --git a/AnimeGen/APIs Requests/nekos-best.swift b/AnimeGen/APIs Requests/nekos-best.swift index 7af79252..3edfecac 100644 --- a/AnimeGen/APIs Requests/nekos-best.swift +++ b/AnimeGen/APIs Requests/nekos-best.swift @@ -12,27 +12,36 @@ extension ViewController { func loadImageFromNekosBest() { startLoadingIndicator() - let categories = ["neko", "waifu", "kitsune"] - - let randomIndex = Int(arc4random_uniform(UInt32(categories.count))) - let randomCategory = categories[randomIndex] + DispatchQueue.global().async { [weak self] in + guard let self = self else { return } + + var categories: [String] = [] + + if let selectedTags = UserDefaults.standard.array(forKey: "SelectedTagsNekos.Best") as? [String], !selectedTags.isEmpty { + categories = selectedTags + } else { + categories = ["neko", "waifu", "kitsune"] + } + + let randomIndex = Int(arc4random_uniform(UInt32(categories.count))) + let randomCategory = categories[randomIndex] - let apiEndpoint = "https://nekos.best/api/v2/\(randomCategory)" + let apiEndpoint = "https://nekos.best/api/v2/\(randomCategory)" - guard let components = URLComponents(string: apiEndpoint) else { - print("Invalid URL") - stopLoadingIndicator() - return - } + guard let url = URL(string: apiEndpoint) else { + print("Invalid URL") + DispatchQueue.main.async { + self.stopLoadingIndicator() + } + return + } - guard let url = components.url else { - print("Invalid URL components") - stopLoadingIndicator() - return + let request = URLRequest(url: url) + + DispatchQueue.main.async { + self.fetchImage(with: request, tag: randomCategory) + } } - - let request = URLRequest(url: url) - fetchImage(with: request, tag: randomCategory) } private func fetchImage(with request: URLRequest, tag: String) { diff --git a/AnimeGen/APIs Requests/nekos-life.swift b/AnimeGen/APIs Requests/nekos-life.swift index f7feea24..b3b67970 100644 --- a/AnimeGen/APIs Requests/nekos-life.swift +++ b/AnimeGen/APIs Requests/nekos-life.swift @@ -19,7 +19,13 @@ extension ViewController { guard let self = self else { return } let endpointPrefix = "https://nekos.life/api/v2/img/" - let categories = ["tickle", "slap", "pat", "neko", "kiss", "hug", "fox_girl", "feed", "cuddle", "ngif", "smug", "wallpaper", "gecg", "avatar", "waifu"] + var categories: [String] = [] + + if let selectedTags = UserDefaults.standard.array(forKey: "SelectedTagsNekos.Life") as? [String], !selectedTags.isEmpty { + categories = selectedTags + } else { + categories = ["tickle", "slap", "pat", "neko", "kiss", "hug", "fox_girl", "feed", "cuddle", "ngif", "smug", "gecg", "avatar", "waifu"] + } let randomIndex = Int(arc4random_uniform(UInt32(categories.count))) let randomCategory = categories[randomIndex] diff --git a/AnimeGen/APIs Requests/nekosbot.swift b/AnimeGen/APIs Requests/nekosbot.swift index 8a593c86..df647b54 100644 --- a/AnimeGen/APIs Requests/nekosbot.swift +++ b/AnimeGen/APIs Requests/nekosbot.swift @@ -18,15 +18,17 @@ extension ViewController { DispatchQueue.global().async { [weak self] in guard let self = self else { return } - var endpointPrefix: String - var categories: [String] + let endpointPrefix: String = "https://nekobot.xyz/api/image?type=" + var categories: [String] = [] - if UserDefaults.standard.bool(forKey: "explicitContents") { - categories = ["hentai", "hkitsune", "hanal", "hthigh", "hboobs", "yaoi"] - endpointPrefix = "https://nekobot.xyz/api/image?type=" + if let selectedTags = UserDefaults.standard.array(forKey: "SelectedTagsNekosbot") as? [String], !selectedTags.isEmpty { + categories = selectedTags } else { - categories = ["neko", "coffee", "food", "kemonomimi"] - endpointPrefix = "https://nekobot.xyz/api/image?type=" + if UserDefaults.standard.bool(forKey: "explicitContents") { + categories = ["hentai", "hkitsune", "hanal", "hthigh", "hboobs", "yaoi"] + } else { + categories = ["neko", "coffee", "food", "kemonomimi"] + } } let randomIndex = Int(arc4random_uniform(UInt32(categories.count))) diff --git a/AnimeGen/APIs Requests/purr.swift b/AnimeGen/APIs Requests/purr.swift index 5dc40a93..b745061a 100644 --- a/AnimeGen/APIs Requests/purr.swift +++ b/AnimeGen/APIs Requests/purr.swift @@ -19,13 +19,21 @@ extension ViewController { guard let self = self else { return } var endpointPrefix: String - var categories: [String] + var categories: [String] = [] + + if let selectedTags = UserDefaults.standard.array(forKey: "SelectedTagsPurr") as? [String], !selectedTags.isEmpty { + categories = selectedTags + } else { + if UserDefaults.standard.bool(forKey: "explicitContents") { + categories = ["anal/gif", "blowjob/gif", "cum/gif", "fuck/gif", "neko/gif", "pussylick/gif", "solo/gif", "solo_male/gif", "threesome_fff/gif", "threesome_ffm/gif", "threesome_mmf/gif", "yuri/gif", "neko/img"] + } else { + categories = ["angry/gif", "bite/gif", "blush/gif", "comfy/gif", "cry/gif", "cuddle/gif", "dance/gif", "eevee/gif", "fluff/gif", "holo/gif", "hug/gif", "kiss/gif", "lay/gif", "lick/gif", "neko/gif", "pat/gif", "poke/gif", "pout/gif", "slap/gif", "smile/gif", "tail/gif", "tickle/gif", "background/img", "eevee/img", "holo/img", "icon/img", "kitsune/img", "neko/img", "okami/img", "senko/img", "shiro/img"] + } + } if UserDefaults.standard.bool(forKey: "explicitContents") { - categories = ["anal/gif", "blowjob/gif", "cum/gif", "fuck/gif", "neko/gif", "pussylick/gif", "solo/gif", "solo_male/gif", "threesome_fff/gif", "threesome_ffm/gif", "threesome_mmf/gif", "yuri/gif", "neko/img"] endpointPrefix = "https://purrbot.site/api/img/nsfw/" } else { - categories = ["angry/gif", "bite/gif", "blush/gif", "comfy/gif", "cry/gif", "cuddle/gif", "dance/gif", "eevee/gif", "fluff/gif", "holo/gif", "hug/gif", "kiss/gif", "lay/gif", "lick/gif", "neko/gif", "pat/gif", "poke/gif", "pout/gif", "slap/gif", "smile/gif", "tail/gif", "tickle/gif", "background/img", "eevee/img", "holo/img", "icon/img", "kitsune/img", "neko/img", "okami/img", "senko/img", "shiro/img"] endpointPrefix = "https://purrbot.site/api/img/sfw/" } diff --git a/AnimeGen/APIs Requests/waifu-it.swift b/AnimeGen/APIs Requests/waifu-it.swift index 966eda7e..8f0814e7 100644 --- a/AnimeGen/APIs Requests/waifu-it.swift +++ b/AnimeGen/APIs Requests/waifu-it.swift @@ -18,13 +18,17 @@ extension ViewController { DispatchQueue.global().async { [weak self] in guard let self = self else { return } - let categories: [String] let endpointPrefix: String = "https://waifu.it/api/v4/" - - if UserDefaults.standard.bool(forKey: "explicitContents") { - categories = ["angry", "baka", "bite", "blush", "bonk", "bored", "bully", "bye", "chase", "cheer", "cringe", "cry", "dab", "dance", "die", "disgust", "facepalm", "feed", "glomp", "happy", "hi", "highfive", "hold", "hug", "kick", "kill", "kiss", "laugh", "lick", "love", "lurk", "midfing", "nervous", "nom", "nope", "nuzzle", "panic", "pat", "peck", "poke", "pout", "punch", "run", "sad", "shoot", "shrug", "sip", "slap", "sleepy", "smile", "smug", "stab", "stare", "suicide", "tease", "think", "thumbsup", "tickle", "triggered", "wag", "wave", "wink", "yes"] + var categories: [String] = [] + + if let selectedTags = UserDefaults.standard.array(forKey: "SelectedTagsWaifu.It") as? [String], !selectedTags.isEmpty { + categories = selectedTags } else { - categories = ["angry", "baka", "bite", "blush", "bonk", "bored", "bye", "chase", "cheer", "cringe", "cry", "cuddle", "dab", "dance", "disgust", "facepalm", "feed", "glomp", "happy", "hi", "highfive", "hold", "hug", "kick", "kiss", "laugh", "lurk", "nervous", "nom", "nope", "nuzzle", "panic", "pat", "peck", "poke", "pout", "run", "sad", "shrug", "sip", "slap", "sleepy", "smile", "smug", "stare", "tease", "think", "thumbsup", "tickle", "wag", "wave", "wink", "yes"] + if UserDefaults.standard.bool(forKey: "explicitContents") { + categories = ["angry", "baka", "bite", "blush", "bonk", "bored", "bully", "bye", "chase", "cheer", "cringe", "cry", "dab", "dance", "die", "disgust", "facepalm", "feed", "glomp", "happy", "hi", "highfive", "hold", "hug", "kick", "kill", "kiss", "laugh", "lick", "love", "lurk", "midfing", "nervous", "nom", "nope", "nuzzle", "panic", "pat", "peck", "poke", "pout", "punch", "run", "sad", "shoot", "shrug", "sip", "slap", "sleepy", "smile", "smug", "stab", "stare", "suicide", "tease", "think", "thumbsup", "tickle", "triggered", "wag", "wave", "wink", "yes"] + } else { + categories = ["angry", "baka", "bite", "blush", "bonk", "bored", "bye", "chase", "cheer", "cringe", "cry", "cuddle", "dab", "dance", "disgust", "facepalm", "feed", "glomp", "happy", "hi", "highfive", "hold", "hug", "kick", "kiss", "laugh", "lurk", "nervous", "nom", "nope", "nuzzle", "panic", "pat", "peck", "poke", "pout", "run", "sad", "shrug", "sip", "slap", "sleepy", "smile", "smug", "stare", "tease", "think", "thumbsup", "tickle", "wag", "wave", "wink", "yes"] + } } let randomIndex = Int(arc4random_uniform(UInt32(categories.count))) @@ -38,9 +42,7 @@ extension ViewController { return } - var request = URLRequest(url: url) - - request.setValue(Secrets.waifuItToken, forHTTPHeaderField: "Authorization") + let request = URLRequest(url: url) self.fetchImage(with: request, startTime: startTime, tag: randomCategory) } diff --git a/AnimeGen/APIs Requests/waifu-pics.swift b/AnimeGen/APIs Requests/waifu-pics.swift index 5ba175f4..771345da 100644 --- a/AnimeGen/APIs Requests/waifu-pics.swift +++ b/AnimeGen/APIs Requests/waifu-pics.swift @@ -19,13 +19,21 @@ extension ViewController { guard let self = self else { return } var endpointPrefix: String - var categories: [String] + var categories: [String] = [] + + if let selectedTags = UserDefaults.standard.array(forKey: "SelectedTagsWaifu.Pics") as? [String], !selectedTags.isEmpty { + categories = selectedTags + } else { + if UserDefaults.standard.bool(forKey: "explicitContents") { + categories = ["waifu", "neko", "trap", "blowjob"] + } else { + categories = ["waifu", "neko", "shinobu", "cuddle", "hug", "kiss", "lick", "pat", "bonk", "blush", "smile", "nom", "bite", "glomp", "slap", "kick", "happy", "poke", "dance"] + } + } if UserDefaults.standard.bool(forKey: "explicitContents") { - categories = ["waifu", "neko", "trap", "blowjob"] endpointPrefix = "https://api.waifu.pics/nsfw/" } else { - categories = ["waifu", "neko", "shinobu", "cuddle", "hug", "kiss", "lick", "pat", "bonk", "blush", "smile", "nom", "bite", "glomp", "slap", "kick", "happy", "poke", "dance"] endpointPrefix = "https://api.waifu.pics/sfw/" } diff --git a/AnimeGen/Main.storyboard b/AnimeGen/Main.storyboard index 88e012ff..efd50c94 100644 --- a/AnimeGen/Main.storyboard +++ b/AnimeGen/Main.storyboard @@ -20,7 +20,7 @@ - - + + + - + - - + + - - + + - + - - + + - + - @@ -178,7 +181,7 @@ - + @@ -198,7 +201,7 @@ - + @@ -208,7 +211,7 @@ - + @@ -241,7 +244,7 @@ - + @@ -274,7 +277,7 @@ - + @@ -307,7 +310,7 @@ @@ -367,7 +370,7 @@ - + @@ -377,7 +380,7 @@