feat: user preferences sync — server-side storage, whiteboard defaults, dashboard widget visibility
- New table `user_preferences` (user_id PK, JSON blob, updated_at) - GET/PATCH/DELETE /api/preferences with deep-merge UPSERT - LS.prefs singleton in api.js: dot-notation get/set, debounced flush (1.5s), server sync - classroom.html: load wb.color/width/lineStyle/theme from prefs on init; save on change - dashboard.html: widget configurator panel (gear button) — toggle visibility per-user, persisted server-side Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { authMiddleware } = require('../middleware/auth');
|
||||
const { getPreferences, patchPreferences, resetPreferences } = require('../controllers/preferencesController');
|
||||
|
||||
router.get('/', authMiddleware, getPreferences);
|
||||
router.patch('/', authMiddleware, patchPreferences);
|
||||
router.delete('/', authMiddleware, resetPreferences);
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user