update views

This commit is contained in:
Chen, Tai-Lin committed 2024-03-04 23:35:05 +08:00
1 parent 63a57aa2cf
commit 4739849549
6 files changed
+54 -14

No files matched your search

+12 -4
View File
@@ -1,11 +1,11 @@
<script setup>
<script setup lang="ts">
import { isValidUsername } from '@linux-odyssey/utils'
import AuthForm from '../components/AuthForm.vue'
import Background from '../components/DynamicBackground.vue'
import { TooManyRequestsError, ValidationError } from '../utils/errors'
import { checkUsername, chooseUsername } from '../utils/auth'
async function check({ username, error }) {
async function check({ username, error }: { username: string; error: any }) {
if (username) {
if (!isValidUsername(username)) {
// error('Invalid username.')
@@ -30,11 +30,19 @@ async function check({ username, error }) {
}
}
async function handleSubmit({ username, success, error }) {
async function handleSubmit({
username,
success,
error,
}: {
username: string
success: any
error: any
}) {
try {
await chooseUsername(username)
success()
} catch (err) {
} catch (err: any) {
if (err instanceof TooManyRequestsError) {
// error('Too many requests. Try again in 2 minutes.')
error('太多請求,兩分鐘後再試一次。')
+2 -2
View File
@@ -1,4 +1,4 @@
<script setup>
<script setup lang="ts">
import { computed, onMounted } from 'vue'
import { useToast } from 'vue-toastification'
import sessionStore, { init } from '../store/session'
@@ -28,7 +28,7 @@ const toast = useToast()
onMounted(async () => {
try {
await init(props.questId)
} catch (err) {
} catch (err: any) {
if (err instanceof LoadQuestError) {
// toast.error(`Failed to load quest: ${err.questId}. Please check the URL.`)
toast.error(`無法讀取關卡: ${err.questId},請確認網頁連結。`)
+2 -2
View File
@@ -1,4 +1,4 @@
<script setup>
<script setup lang="ts">
import { ref, onMounted } from 'vue'
import { useToast } from 'vue-toastification'
import DynamicBackground from '../components/DynamicBackground.vue'
@@ -12,7 +12,7 @@ async function getLeaderboard() {
try {
const res = await api.get('/leaderboard')
leaderboard.value = res.data
} catch (err) {
} catch (err: any) {
console.error(err)
toast.error('讀取排行榜失敗')
}
+12 -2
View File
@@ -1,4 +1,4 @@
<script setup>
<script setup lang="ts">
import AuthForm from '../components/AuthForm.vue'
import Background from '../components/DynamicBackground.vue'
@@ -9,7 +9,17 @@ import {
} from '../utils/errors'
import { login } from '../utils/auth'
const handleLogin = async ({ username, password, success, error }) => {
const handleLogin = async ({
username,
password,
success,
error,
}: {
username: string
password: string
success: any
error: any
}) => {
try {
const isSuccess = await login(username, password)
if (isSuccess) success()
+1 -1
View File
@@ -1,4 +1,4 @@
<script setup>
<script setup lang="ts">
import QuestMap from '../components/QuestMap.vue'
import GameHeaderPart from '../components/GameHeaderPart.vue'
</script>
+25 -3
View File
@@ -1,4 +1,4 @@
<script setup>
<script setup lang="ts">
import validator from 'validator'
import { isValidUsername } from '@linux-odyssey/utils'
import { passwordPolicy } from '@linux-odyssey/constants'
@@ -12,7 +12,19 @@ import {
ValidationError,
} from '../utils/errors'
function handleRegister({ username, email, password, success, error }) {
function handleRegister({
username,
email,
password,
success,
error,
}: {
username: string
email: string
password: string
success: any
error: any
}) {
register(username, email, password)
.then(success)
.catch((err) => {
@@ -36,7 +48,17 @@ function handleRegister({ username, email, password, success, error }) {
})
}
async function check({ username, email, password, error }) {
async function check({
username,
email,
password,
error,
}: {
username: string
email: string
password: string
error: any
}) {
if (username && !isValidUsername(username)) {
// error('Invalid username.')
error('無效的帳號名稱')