feature implement login part 1

This commit is contained in:
Edd
2025-12-11 21:14:25 +00:00
parent a335e713ee
commit 511e645d7e
6 changed files with 31 additions and 7 deletions
+2
View File
@@ -99,3 +99,5 @@ Desktop.ini
# If you have any local secrets or files not to track, add them here:
# /path/to/some/file
package-lock.json
+1 -1
View File
@@ -17,7 +17,7 @@ spec:
priorityClassName: low-priority
containers:
- name: web
image: registry-172.22.21.115.sslip.io/dad-group-x/web:v1.0.0
image: registry-172.22.21.115.sslip.io/dad-group-46/web:v1.0.1
resources:
requests:
memory: "64Mi"
+1 -1
View File
@@ -5,7 +5,7 @@
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="/src/index.css" />
<title>Vite App</title>
<title>Bisca</title>
</head>
<body>
<div id="app"></div>
+1 -1
View File
@@ -13,7 +13,7 @@ console.log('[main.js] ws connection', wsConnection)
const app = createApp(App)
app.provide('socket', io(wsConnection))
//app.provide('socket', io(wsConnection))
app.provide('serverBaseURL', `http://${apiDomain}`)
app.provide('apiBaseURL', `http://${apiDomain}/api`)
+3 -3
View File
@@ -1,5 +1,5 @@
<template>
<div class="flex min-h-screen items-center justify-center bg-gray-50 px-4 py-12 sm:px-6 lg:px-8">
<div class="flex min-h-screen items-center justify-center px-4 py-12 sm:px-6 lg:px-8">
<div class="w-full max-w-md space-y-8">
<div>
<h2 class="mt-6 text-center text-3xl font-bold tracking-tight text-gray-900">
@@ -64,13 +64,13 @@ const formData = ref({
const handleSubmit = async () => {
console.log(formData, authStore)
toast.promise(authStore.login(formData.value), {
loading: 'Calling API',
success: (data) => {
return `Login Sucessfull - ${data?.name}`
},
error: (data) => `[API] Error saving game - ${data?.response?.data?.message}`,
error: (data) => `[API] Error - ${data?.response?.data?.message}`
})
+23 -1
View File
@@ -6,18 +6,36 @@ export const useAuthStore = defineStore('auth', () => {
const apiStore = useAPIStore()
const currentUser = ref(undefined)
const token = ref(localStorage.getItem('token') || null)
const isLoggedIn = computed(() => {
return currentUser.value !== undefined
return currentUser.value !== undefined && token.value !== null
})
const currentUserID = computed(() => {
return currentUser.value?.id
})
const setToken = (jwtToken) => {
token.value = jwtToken
if (jwtToken) {
localStorage.setItem('token', jwtToken)
} else {
localStorage.removeItem('token')
}
}
const getToken = () => {
return token.value
}
const login = async (credentials) => {
await apiStore.postLogin(credentials)
const response = await apiStore.getAuthUser()
const jwtToken = response
const user = response.data
setToken(jwtToken)
currentUser.value = response.data
return response.data
}
@@ -25,12 +43,16 @@ export const useAuthStore = defineStore('auth', () => {
const logout = async () => {
await apiStore.postLogout()
currentUser.value = undefined
setToken(null)
}
return {
currentUser,
isLoggedIn,
currentUserID,
token,
setToken,
getToken,
login,
logout,
}