mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-05 19:20:12 +08:00
feat: display tasks
This commit is contained in:
1 parent
dd7829b3e9
commit
a8147ecfa1
3 files changed
+33
-10
No files matched your search
@@ -23,6 +23,9 @@ onMounted(async () => {
|
|||||||
socket.on('graph', (event) => {
|
socket.on('graph', (event) => {
|
||||||
sessionManager.handleGraphUpdate(event)
|
sessionManager.handleGraphUpdate(event)
|
||||||
})
|
})
|
||||||
|
socket.on('tasks', (tasks) => {
|
||||||
|
sessionManager.setTasks(tasks)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue'
|
import { onMounted, ref } from 'vue'
|
||||||
import api from '../utils/api'
|
import api from '../utils/api'
|
||||||
|
import sessionManager from '../utils/session'
|
||||||
|
|
||||||
const questData = ref(null)
|
const questData = ref(null)
|
||||||
const questErr = ref(null)
|
const questErr = ref(null)
|
||||||
|
|
||||||
api
|
onMounted(async () => {
|
||||||
.get('/quests/helloworld')
|
try {
|
||||||
.then((res) => {
|
const res = await api.get('/quests/helloworld')
|
||||||
console.log(res.data)
|
|
||||||
questData.value = res.data
|
questData.value = res.data
|
||||||
})
|
} catch (err) {
|
||||||
.catch((err) => {
|
|
||||||
questErr.value = err
|
questErr.value = err
|
||||||
})
|
}
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -26,8 +26,24 @@ api
|
|||||||
</h1>
|
</h1>
|
||||||
<hr class="border-text-line border-2 my-2" />
|
<hr class="border-text-line border-2 my-2" />
|
||||||
<div>
|
<div>
|
||||||
<p class="text-red-500" v-if="questErr">{{ questErr.message }}</p>
|
<div v-if="questData">
|
||||||
<p class="text-text" v-else-if="questData">{{ questData.instruction }}</p>
|
<p class="text-text">{{ questData.instruction }}</p>
|
||||||
|
<br />
|
||||||
|
<p class="text-text">Tasks:</p>
|
||||||
|
<ul v-if="sessionManager.session.value">
|
||||||
|
<li v-for="task in sessionManager.session.value.tasks" :key="task.id">
|
||||||
|
<p class="text-text">
|
||||||
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
class="form-checkbox"
|
||||||
|
disabled
|
||||||
|
:checked="task.completed"
|
||||||
|
/>{{ task.name }}
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<p class="text-red-500" v-else-if="questErr">{{ questErr.message }}</p>
|
||||||
<p class="text-text" v-else>Loading...</p>
|
<p class="text-text" v-else>Loading...</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -35,6 +35,10 @@ class SessionManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setTasks(tasks) {
|
||||||
|
this.session.value.tasks = tasks
|
||||||
|
}
|
||||||
|
|
||||||
async createSession() {
|
async createSession() {
|
||||||
console.log('Creating a new session...')
|
console.log('Creating a new session...')
|
||||||
const res = await api.post('/sessions', { quest_id: this.questId })
|
const res = await api.post('/sessions', { quest_id: this.questId })
|
||||||
|
|||||||
Reference in new issue
Block a user