Add 4 card types, evidence board with red yarn strings, and 8 unique persistent boards
This commit is contained in:
1 parent
19eb968f86
commit
2bc4f55c44
10 files changed
+1637
-332
No files matched your search
+26
-2
@@ -75,7 +75,20 @@ function readDeskState() {
|
||||
try {
|
||||
if (fs.existsSync(DESK_FILE)) {
|
||||
const raw = fs.readFileSync(DESK_FILE, 'utf-8');
|
||||
return JSON.parse(raw);
|
||||
const desk = JSON.parse(raw);
|
||||
if (desk && (!desk.boards || typeof desk.boards !== 'object')) {
|
||||
const currentBoard = desk.activeBoard || (desk.settings && desk.settings.deskTexture) || 'oak';
|
||||
desk.boards = {
|
||||
[currentBoard]: {
|
||||
cards: desk.cards || [],
|
||||
props: desk.props || [],
|
||||
strokes: desk.strokes || [],
|
||||
settings: desk.settings || {}
|
||||
}
|
||||
};
|
||||
desk.activeBoard = currentBoard;
|
||||
}
|
||||
return desk;
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Error reading desk state:', err);
|
||||
@@ -142,17 +155,28 @@ app.get('/api/desk', (_req, res) => {
|
||||
|
||||
// Save desk state
|
||||
app.post('/api/desk', (req, res) => {
|
||||
const { cards, props, strokes, settings, originClientId } = req.body;
|
||||
const { cards, props, strokes, settings, activeBoard, boards, originClientId } = req.body;
|
||||
|
||||
if (!Array.isArray(cards)) {
|
||||
return res.status(400).json({ success: false, error: 'Invalid desk state: cards required' });
|
||||
}
|
||||
|
||||
const currentBoard = activeBoard || (settings && settings.deskTexture) || 'oak';
|
||||
const updatedBoards = boards && typeof boards === 'object' ? { ...boards } : {};
|
||||
updatedBoards[currentBoard] = {
|
||||
cards,
|
||||
props: Array.isArray(props) ? props : [],
|
||||
strokes: Array.isArray(strokes) ? strokes : [],
|
||||
settings: settings || {}
|
||||
};
|
||||
|
||||
const newState = {
|
||||
cards,
|
||||
props: Array.isArray(props) ? props : [],
|
||||
strokes: Array.isArray(strokes) ? strokes : [],
|
||||
settings: settings || {},
|
||||
activeBoard: currentBoard,
|
||||
boards: updatedBoards,
|
||||
updatedAt: Date.now()
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user