feat: photos for tech tasks, 3 priorities, remove cleaning status from context menu

- Remove 'Убирается' (cleaning) from manually selectable HK statuses in calendar context menu — it now only shows automatically when a task is in_progress
- Reduce priorities from 4 to 3: remove 'high', keep urgent/medium/low across context menu, tech tasks modal, and HousekeepingTask type
- Add photo upload to technical tasks: upload via camera button per task, display thumbnails with hover-to-remove, stored as TEXT[] in DB (migration 026)
- Fix HousekeepingPage WS handler to filter by category — no longer adds maintenance tasks to housekeeping board
- Add 'tasks' folder support to upload route

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-24 10:38:51 +03:00
parent 4b337a3b85
commit e51d776b3a
10 changed files with 155 additions and 73 deletions

View File

@@ -62,11 +62,15 @@ export function HousekeepingPage() {
const handleWsMessage = useCallback((msg: WsMessage) => {
if (msg.type === 'housekeeping_task_created') {
const task = msg.task as unknown as HousekeepingTask
setTasks(prev => prev.some(t => t.id === task.id) ? prev : [task, ...prev])
const task = msg.task as unknown as HousekeepingTask & { category?: string }
if (task.category !== 'maintenance') {
setTasks(prev => prev.some(t => t.id === task.id) ? prev : [task, ...prev])
}
} else if (msg.type === 'housekeeping_updated') {
const task = msg.task as unknown as HousekeepingTask
setTasks(prev => prev.map(t => t.id === task.id ? task : t))
const task = msg.task as unknown as HousekeepingTask & { category?: string }
if (task.category !== 'maintenance') {
setTasks(prev => prev.map(t => t.id === task.id ? task : t))
}
}
}, [])