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) => {
|
||||
sessionManager.handleGraphUpdate(event)
|
||||
})
|
||||
socket.on('tasks', (tasks) => {
|
||||
sessionManager.setTasks(tasks)
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { onMounted, ref } from 'vue'
|
||||
import api from '../utils/api'
|
||||
import sessionManager from '../utils/session'
|
||||
|
||||
const questData = ref(null)
|
||||
const questErr = ref(null)
|
||||
|
||||
api
|
||||
.get('/quests/helloworld')
|
||||
.then((res) => {
|
||||
console.log(res.data)
|
||||
onMounted(async () => {
|
||||
try {
|
||||
const res = await api.get('/quests/helloworld')
|
||||
questData.value = res.data
|
||||
})
|
||||
.catch((err) => {
|
||||
} catch (err) {
|
||||
questErr.value = err
|
||||
})
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -26,8 +26,24 @@ api
|
||||
</h1>
|
||||
<hr class="border-text-line border-2 my-2" />
|
||||
<div>
|
||||
<p class="text-red-500" v-if="questErr">{{ questErr.message }}</p>
|
||||
<p class="text-text" v-else-if="questData">{{ questData.instruction }}</p>
|
||||
<div v-if="questData">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -35,6 +35,10 @@ class SessionManager {
|
||||
}
|
||||
}
|
||||
|
||||
setTasks(tasks) {
|
||||
this.session.value.tasks = tasks
|
||||
}
|
||||
|
||||
async createSession() {
|
||||
console.log('Creating a new session...')
|
||||
const res = await api.post('/sessions', { quest_id: this.questId })
|
||||
|
||||
Reference in new issue
Block a user