Allow retrying multiworld generation
This commit is contained in:
@@ -10,6 +10,7 @@ export default defineComponent({
|
|||||||
multidata: null,
|
multidata: null,
|
||||||
worlds: {},
|
worlds: {},
|
||||||
error: null,
|
error: null,
|
||||||
|
retry: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -25,6 +26,20 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
async retryGeneration() {
|
||||||
|
await axios.post(`/multi/${this.id}`, {}, {
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "text/plain",
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then(response => {
|
||||||
|
this.$router.go();
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
this.$router.go();
|
||||||
|
});
|
||||||
|
},
|
||||||
async fetchMulti() {
|
async fetchMulti() {
|
||||||
await axios.get(`/multi/${this.id}`)
|
await axios.get(`/multi/${this.id}`)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
@@ -40,6 +55,9 @@ export default defineComponent({
|
|||||||
if (error.response?.status == 409) {
|
if (error.response?.status == 409) {
|
||||||
// still generating, try again
|
// still generating, try again
|
||||||
setTimeout(this.fetchMulti.bind(this), 10000);
|
setTimeout(this.fetchMulti.bind(this), 10000);
|
||||||
|
} else if (error.response?.data?.retry) {
|
||||||
|
this.error = "Multiworld generation failed. :(";
|
||||||
|
this.retry = true;
|
||||||
} else {
|
} else {
|
||||||
this.error = "Multiworld not found. :(";
|
this.error = "Multiworld not found. :(";
|
||||||
}
|
}
|
||||||
@@ -76,6 +94,11 @@ export default defineComponent({
|
|||||||
</div>
|
</div>
|
||||||
<div v-else-if="error" class="error-message">
|
<div v-else-if="error" class="error-message">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
|
<div v-if="retry">
|
||||||
|
<button type="submit" class="btn btn-primary submit-btn" @click="retryGeneration">
|
||||||
|
Retry
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<img class="center" src="/bludormspinbig.gif" />
|
<img class="center" src="/bludormspinbig.gif" />
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ export default defineComponent({
|
|||||||
async retryGeneration() {
|
async retryGeneration() {
|
||||||
await axios.post(`/seed/${this.id}`, {}, {
|
await axios.post(`/seed/${this.id}`, {}, {
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "text/pain",
|
"Content-Type": "text/plain",
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
@@ -124,13 +124,11 @@ export default defineComponent({
|
|||||||
if (error.response?.status == 409) {
|
if (error.response?.status == 409) {
|
||||||
// still generating, try again
|
// still generating, try again
|
||||||
setTimeout(this.fetchSeed.bind(this), 2000);
|
setTimeout(this.fetchSeed.bind(this), 2000);
|
||||||
|
} else if (error.response?.data?.retry) {
|
||||||
|
this.error = "Seed generation failed. :(";
|
||||||
|
this.retry = true;
|
||||||
} else {
|
} else {
|
||||||
if (error.response?.data?.retry) {
|
this.error = "Seed not found. :(";
|
||||||
this.error = "Seed generation failed. :(";
|
|
||||||
this.retry = true;
|
|
||||||
} else {
|
|
||||||
this.error = "Seed not found. :(";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user