Skip to content
Snippets Groups Projects
Commit e66188b6 authored by Valdemar Åstorp Beere's avatar Valdemar Åstorp Beere
Browse files

refactor(store):

Add getUserStreak in userStore
parent 480f5a12
No related branches found
No related tags found
3 merge requests!66Final merge,!43chore:,!4Pipeline fix
...@@ -4,6 +4,8 @@ import type { User } from '@/types/user' ...@@ -4,6 +4,8 @@ import type { User } from '@/types/user'
import router from '@/router' import router from '@/router'
import type { AxiosError } from 'axios' import type { AxiosError } from 'axios'
import axios from 'axios' import axios from 'axios'
import authInterceptor from "@/services/authInterceptor";
import type {Streak} from "@/types/streak";
export const useUserStore = defineStore('user', () => { export const useUserStore = defineStore('user', () => {
const defaultUser: User = { const defaultUser: User = {
...@@ -14,6 +16,7 @@ export const useUserStore = defineStore('user', () => { ...@@ -14,6 +16,7 @@ export const useUserStore = defineStore('user', () => {
const user = ref<User>(defaultUser) const user = ref<User>(defaultUser)
const errorMessage = ref<string>('') const errorMessage = ref<string>('')
const streak = ref<Streak>()
const register = async ( const register = async (
firstname: string, firstname: string,
...@@ -75,11 +78,28 @@ export const useUserStore = defineStore('user', () => { ...@@ -75,11 +78,28 @@ export const useUserStore = defineStore('user', () => {
user.value = defaultUser user.value = defaultUser
router.push({ name: 'login' }) router.push({ name: 'login' })
} }
const getUserStreak = async () => {
try {
const response = await authInterceptor('/profile/streak')
if (response.data) {
streak.value = response.data
console.log('Fetched Challenges:', streak.value)
} else {
streak.value = undefined;
console.error('No challenge content found:', response.data)
}
} catch (error) {
console.error('Error fetching challenges:', error)
streak.value = undefined // Ensure challenges is always an array
}
}
return { return {
register, register,
login, login,
logout, logout,
errorMessage errorMessage,
getUserStreak,
streak,
} }
}) })
export interface Streak {
streakStart?: string,
streak?: number,
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment