From dd880caf79ca6b469bf88f67757fd99788491a2f Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Tue, 18 Mar 2025 20:54:44 -0500 Subject: [PATCH] Add playthrough spoiler --- src/components/Seed.vue | 27 +++++++++++++- src/components/Spoiler.vue | 70 +++++++++++++++++++++++++++++++++++++ src/views/GenerateMulti.vue | 4 +-- 3 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 src/components/Spoiler.vue diff --git a/src/components/Seed.vue b/src/components/Seed.vue index e8af7bf..b7b3320 100644 --- a/src/components/Seed.vue +++ b/src/components/Seed.vue @@ -9,6 +9,7 @@ import ReduceFlashingPicker from "@/components/ReduceFlashingPicker.vue"; import BackgroundMusicPicker from "@/components/BackgroundMusicPicker.vue"; import MsuResumePicker from "@/components/MsuResumePicker.vue"; import CollectionRatePicker from "@/components/CollectionRatePicker.vue"; +import Spoiler from "@/components/Spoiler.vue"; import SeedSettings from "@/components/SeedSettings.vue"; @@ -29,6 +30,7 @@ export default defineComponent({ BackgroundMusicPicker, MsuResumePicker, CollectionRatePicker, + Spoiler, }, data() { return { @@ -38,7 +40,9 @@ export default defineComponent({ patch: null, error: null, settings: {}, + spoiler: {}, multi: null, + show_spoiler: false, }; }, props: { @@ -73,6 +77,7 @@ export default defineComponent({ this.patch = patch; this.settings = seedData.settings; this.multi = seedData.parent; + this.spoiler = seedData.spoiler; }, async fetchSeed() { await axios.get(`/seed/${this.id}`) @@ -167,7 +172,15 @@ export default defineComponent({ link.href = URL.createObjectURL(blob); link.download = `GK_${this.id}.sfc`; link.click(); - } + }, + async downloadSpoiler() { + const spoiler = JSON.stringify(this.spoiler, null, 2); + const blob = new Blob([spoiler], { type: 'application/json' }); + const link = document.getElementById('downloader'); + link.href = URL.createObjectURL(blob); + link.download = `GK_${this.id}_spoiler.json`; + link.click(); + }, } }); @@ -223,6 +236,15 @@ export default defineComponent({ +