mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-05 19:20:12 +08:00
load quest info before start
This commit is contained in:
1 parent
0b136a830a
commit
ea2ba2c7a0
2 files changed
+10
-9
No files matched your search
@@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import { useToast } from 'vue-toastification'
|
||||
import { ref } from 'vue'
|
||||
import { init } from '../../store/session'
|
||||
import { init, setQuest } from '../../store/session'
|
||||
import { LoadQuestError, LoadSessionError } from '../../utils/errors'
|
||||
|
||||
const props = defineProps({
|
||||
@@ -13,6 +13,7 @@ const props = defineProps({
|
||||
|
||||
const toast = useToast()
|
||||
const showCover = ref(true)
|
||||
setQuest(props.questId)
|
||||
const startSession = async () => {
|
||||
showCover.value = false
|
||||
try {
|
||||
|
||||
@@ -42,7 +42,7 @@ const store = reactive<Store>({
|
||||
const socket = new Socket()
|
||||
const term = new SocketTerminal(40, 80)
|
||||
|
||||
function setQuest(questId: string) {
|
||||
export function setQuest(questId: string) {
|
||||
return api.get(`/quests/${questId}`).then((res) => {
|
||||
store.questId = res.data._id
|
||||
store.quest = res.data
|
||||
@@ -121,13 +121,13 @@ export function reset() {
|
||||
|
||||
export async function init(questId: string) {
|
||||
if (!questId) throw new Error('No quest ID provided')
|
||||
reset()
|
||||
try {
|
||||
await setQuest(questId)
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
throw new LoadQuestError('Failed to load quest', questId)
|
||||
}
|
||||
// reset()
|
||||
// try {
|
||||
// await setQuest(questId)
|
||||
// } catch (err) {
|
||||
// console.error(err)
|
||||
// throw new LoadQuestError('Failed to load quest', questId)
|
||||
// }
|
||||
try {
|
||||
await getActiveSession(questId)
|
||||
} catch (err) {
|
||||
|
||||
Reference in new issue
Block a user