mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-08 03:20:12 +08:00
fix: ui revise
This commit is contained in:
1 parent
9bdaa95bad
commit
f84a163b77
12 files changed
+45
-46
No files matched your search
@@ -1,5 +1,3 @@
|
|||||||
<script setup></script>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<font-awesome-icon :icon="['fas', 'list']" class="text-text-primary p-1" />
|
<font-awesome-icon :icon="['fas', 'list']" class="text-text-primary p-1" />
|
||||||
<h1 class="inline text-text-primary font-xl">Command Cheatsheets</h1>
|
<h1 class="inline text-text-primary font-xl">Command Cheatsheets</h1>
|
||||||
|
|||||||
@@ -1,6 +1,15 @@
|
|||||||
|
<script setup>
|
||||||
|
import { createSession } from '../store/session'
|
||||||
|
|
||||||
|
const reset = async () => {
|
||||||
|
console.log('resetting...')
|
||||||
|
await createSession()
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section class="h-[10%] p-3 grid grid-cols-3 gap-4 place-content-between">
|
<section class="h-[10%] p-3 grid grid-cols-3 gap-4 place-content-between">
|
||||||
<button id="solution" class="bg-bg-disabled rounded-lg p-2">
|
<button disabled id="solution" class="bg-bg-disabled rounded-lg p-2">
|
||||||
<font-awesome-icon
|
<font-awesome-icon
|
||||||
:icon="['far', 'circle-question']"
|
:icon="['far', 'circle-question']"
|
||||||
class="text-text-disabled"
|
class="text-text-disabled"
|
||||||
@@ -14,7 +23,7 @@
|
|||||||
/>
|
/>
|
||||||
<p class="text-text-primary inline ml-1">Reset</p>
|
<p class="text-text-primary inline ml-1">Reset</p>
|
||||||
</button>
|
</button>
|
||||||
<button id="continue" class="bg-bg-disabled rounded-lg p-2">
|
<button disabled id="continue" class="bg-bg-disabled rounded-lg p-2">
|
||||||
<font-awesome-icon
|
<font-awesome-icon
|
||||||
:icon="['far', 'circle-right']"
|
:icon="['far', 'circle-right']"
|
||||||
class="text-text-disabled"
|
class="text-text-disabled"
|
||||||
@@ -23,12 +32,3 @@
|
|||||||
</button>
|
</button>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { createSession } from '../store/session'
|
|
||||||
|
|
||||||
const reset = async () => {
|
|
||||||
console.log('resetting...')
|
|
||||||
await createSession()
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
@@ -1,9 +1,3 @@
|
|||||||
<template>
|
|
||||||
<div id="box">
|
|
||||||
<canvas ref="canvas"></canvas>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, onMounted } from 'vue'
|
import { ref, onMounted } from 'vue'
|
||||||
|
|
||||||
@@ -79,6 +73,12 @@ onMounted(() => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div id="box">
|
||||||
|
<canvas ref="canvas"></canvas>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
#box {
|
#box {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|||||||
@@ -1,12 +1,3 @@
|
|||||||
<template>
|
|
||||||
<a href="#" :class="nodeClass()">{{ node.discovered ? node.name : '???' }}</a>
|
|
||||||
<ul :class="nodeClass()" v-if="node.children && node.children.length > 0">
|
|
||||||
<li :class="nodeClass()" v-for="child in node.children" :key="child.path">
|
|
||||||
<FileNode :node="child" :pwd="pwd" />
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
node: {
|
node: {
|
||||||
@@ -27,3 +18,12 @@ function nodeClass() {
|
|||||||
return classes
|
return classes
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<a href="#" :class="nodeClass()">{{ node.discovered ? node.name : '???' }}</a>
|
||||||
|
<ul :class="nodeClass()" v-if="node.children && node.children.length > 0">
|
||||||
|
<li :class="nodeClass()" v-for="child in node.children" :key="child.path">
|
||||||
|
<FileNode :node="child" :pwd="pwd" />
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
@@ -34,7 +34,7 @@ const handleLogout = async () => {
|
|||||||
<button id="backward" class="flex items-center h-5 w-5">
|
<button id="backward" class="flex items-center h-5 w-5">
|
||||||
<font-awesome-icon
|
<font-awesome-icon
|
||||||
:icon="['fas', 'arrow-left']"
|
:icon="['fas', 'arrow-left']"
|
||||||
class="text-text-tertiary h-full w-full"
|
class="text-border h-full w-full"
|
||||||
/>
|
/>
|
||||||
</button> -->
|
</button> -->
|
||||||
<p
|
<p
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ import sessionStore from '../store/session'
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="h-full w-full max-h-full">
|
<div class="h-full w-full max-h-full">
|
||||||
<h1 id="topic" class="text-text" v-if="sessionStore.quest">
|
<p id="topic" class="text-text font-black" v-if="sessionStore.quest">
|
||||||
{{ sessionStore.quest.title }}
|
{{ sessionStore.quest.title }}
|
||||||
</h1>
|
</p>
|
||||||
<hr class="border-text-tertiary border-2 my-2" />
|
<br />
|
||||||
<div>
|
<div>
|
||||||
<div v-if="sessionStore.quest" class="whitespace-pre-wrap">
|
<div v-if="sessionStore.quest" class="whitespace-pre-wrap">
|
||||||
<p class="text-text">{{ sessionStore.quest.instruction }}</p>
|
<p class="text-text">{{ sessionStore.quest.instruction }}</p>
|
||||||
<br />
|
<hr class="border-border border-2 my-2" />
|
||||||
<p class="text-text">Tasks:</p>
|
<p class="text-text">Tasks:</p>
|
||||||
<ul v-if="sessionStore.session">
|
<ul v-if="sessionStore.session">
|
||||||
<li v-for="task in sessionStore.session.tasks" :key="task.id">
|
<li v-for="task in sessionStore.session.tasks" :key="task.id">
|
||||||
|
|||||||
@@ -1,13 +1,3 @@
|
|||||||
<template>
|
|
||||||
<font-awesome-icon :icon="['fas', 'terminal']" class="text-text p-1" />
|
|
||||||
<button class="text-text h-[5%]">Terminal</button>
|
|
||||||
<div
|
|
||||||
id="terminal"
|
|
||||||
ref="terminal"
|
|
||||||
class="bg-bg-secondary h-[calc(100%-5%)] p-0.5"
|
|
||||||
></div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { onMounted, ref } from 'vue'
|
import { onMounted, ref } from 'vue'
|
||||||
import { useTerminal } from '../store/session'
|
import { useTerminal } from '../store/session'
|
||||||
@@ -20,3 +10,11 @@ onMounted(() => {
|
|||||||
window.addEventListener('resize', () => term.resizeScreen())
|
window.addEventListener('resize', () => term.resizeScreen())
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="h-[10%] w-full max-h-full">
|
||||||
|
<font-awesome-icon :icon="['fas', 'terminal']" class="text-text p-1" />
|
||||||
|
<button class="text-text h-full">Terminal</button>
|
||||||
|
</div>
|
||||||
|
<div id="terminal" ref="terminal" class="h-[90%] p-2"></div>
|
||||||
|
</template>
|
||||||
@@ -44,6 +44,7 @@ async function handleSubmit({ username, success, error }) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="w-screen h-screen">
|
<div class="w-screen h-screen">
|
||||||
<Background class="w-full h-full" />
|
<Background class="w-full h-full" />
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ onMounted(async () => {
|
|||||||
<section id="quest" class="h-2/3 p-3">
|
<section id="quest" class="h-2/3 p-3">
|
||||||
<QuestPart />
|
<QuestPart />
|
||||||
</section>
|
</section>
|
||||||
<hr class="border-text-tertiary border" />
|
<hr class="border-border border" />
|
||||||
<section id="cmdlist" class="h-1/3">
|
<section id="cmdlist" class="h-1/3">
|
||||||
<CommandlistPart />
|
<CommandlistPart />
|
||||||
</section>
|
</section>
|
||||||
@@ -73,6 +73,7 @@ onMounted(async () => {
|
|||||||
<section id="terminal" class="h-3/5">
|
<section id="terminal" class="h-3/5">
|
||||||
<TerminalPart />
|
<TerminalPart />
|
||||||
</section>
|
</section>
|
||||||
|
<hr class="border-border border" />
|
||||||
<section id="hint" class="h-2/5">
|
<section id="hint" class="h-2/5">
|
||||||
<HintPart />
|
<HintPart />
|
||||||
</section>
|
</section>
|
||||||
@@ -91,4 +92,3 @@ onMounted(async () => {
|
|||||||
<CompleteModal v-if="completed" />
|
<CompleteModal v-if="completed" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script></script>
|
|
||||||
@@ -31,6 +31,7 @@ const handleLogin = async ({ username, password, success, error }) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="w-screen h-screen">
|
<div class="w-screen h-screen">
|
||||||
<Background class="w-full h-full" />
|
<Background class="w-full h-full" />
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ async function check({ username, email, password, error }) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="w-screen h-screen">
|
<div class="w-screen h-screen">
|
||||||
<Background class="w-full h-full" />
|
<Background class="w-full h-full" />
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export default {
|
|||||||
DEFAULT: '#FFFFFF',
|
DEFAULT: '#FFFFFF',
|
||||||
},
|
},
|
||||||
border: {
|
border: {
|
||||||
DEFAULT: '#526B4E',
|
DEFAULT: '#4A4B63',
|
||||||
},
|
},
|
||||||
error: {
|
error: {
|
||||||
DEFAULT: '#FF0000',
|
DEFAULT: '#FF0000',
|
||||||
|
|||||||
Reference in new issue
Block a user