diff --git a/frontend/src/stores/boardStore.ts b/frontend/src/stores/boardStore.ts index 4128958..65d4960 100644 --- a/frontend/src/stores/boardStore.ts +++ b/frontend/src/stores/boardStore.ts @@ -3,11 +3,13 @@ import { useRoute } from 'vue-router' import { Board } from '@/services/Board' import { User } from '@/services/User' import { Spending } from '@/services/Spending' +import { useUserStore } from './userStore' export const useBoardStore = defineStore('boardStore', () => { const route = useRoute() const boards = new Map() let testBoard: Board | undefined + const userStore = useUserStore() function createBoard(name: string): Board { const newBoard = new Board(name) @@ -22,11 +24,11 @@ export const useBoardStore = defineStore('boardStore', () => { } else { if (testBoard === undefined) { testBoard = new Board('Grill and Chill') - const elias = new User('Elias') + const elias = userStore.getUser('Elias') || new User('Elias') elias.addSpending(new Spending('Burger', 1230)) elias.addSpending(new Spending('Kaffee', 510)) testBoard.addUser(elias) - const max = new User('Max') + const max = userStore.getUser('Max') || new User('Max') max.addSpending(new Spending('Omlett', 1822)) max.addSpending(new Spending('Kaffee', 3073)) testBoard.addUser(max) diff --git a/frontend/src/stores/userStore.ts b/frontend/src/stores/userStore.ts new file mode 100644 index 0000000..c16f429 --- /dev/null +++ b/frontend/src/stores/userStore.ts @@ -0,0 +1,25 @@ +import { defineStore } from 'pinia' +import { ref } from 'vue' +import { User } from '@/services/User' + +export const useUserStore = defineStore('userStore', () => { + const users = ref>([]) + + function addUser(user: User) { + users.value.push(user) + } + + function removeUser(userName: string) { + users.value = users.value.filter((user: User) => user.name !== userName) + } + + function getUser(userName: string) { + return users.value.find((user: User) => user.name === userName) + } + + function getAllUsers() { + return users.value + } + + return { addUser, removeUser, getUser, getAllUsers } +})