checkpoint
This commit is contained in:
44
frontend/src/stores/boardStore.ts
Normal file
44
frontend/src/stores/boardStore.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { Board } from '@/services/Board'
|
||||
import { User } from '@/services/User'
|
||||
import { Spending } from '@/services/Spending'
|
||||
|
||||
export const useBoardStore = defineStore('boardStore', () => {
|
||||
const route = useRoute()
|
||||
const boards = new Map<string, Board>()
|
||||
|
||||
function createBoard(name: string): Board {
|
||||
const newBoard = new Board(name)
|
||||
boards.set(newBoard.guid, newBoard)
|
||||
return newBoard
|
||||
}
|
||||
|
||||
function getBoard(guid: string): Board {
|
||||
const board = boards.get(guid)
|
||||
if (board != undefined) {
|
||||
return board
|
||||
} else {
|
||||
const testBoard = new Board('Grill and Chill')
|
||||
const elias = new User('Elias')
|
||||
elias.addSpending(new Spending('Burger', 1230))
|
||||
elias.addSpending(new Spending('Kaffee', 510))
|
||||
testBoard.addUser(elias)
|
||||
const max = new User('Max')
|
||||
max.addSpending(new Spending('Omlett', 1822))
|
||||
max.addSpending(new Spending('Kaffee', 3073))
|
||||
testBoard.addUser(max)
|
||||
return testBoard
|
||||
}
|
||||
}
|
||||
|
||||
function getCurrentBoard(): Board {
|
||||
if (typeof route.params.boardId === 'string') {
|
||||
return getBoard(route.params.boardId)
|
||||
} else {
|
||||
return getBoard('')
|
||||
}
|
||||
}
|
||||
|
||||
return { createBoard, getBoard, getCurrentBoard }
|
||||
})
|
||||
Reference in New Issue
Block a user