From 62d431818ad7e78ddd61cf32acd449d8d8d72115 Mon Sep 17 00:00:00 2001 From: NPS Agent Date: Tue, 12 May 2026 09:32:56 +0930 Subject: [PATCH] When a new user is added, it now gives them a column -- as well as when you remove a user it deletes their column and moves all tasks to ROD --- app.jsx | 10 ++++++++-- components.jsx | 6 +++++- dashy.db | Bin 69632 -> 69632 bytes screens.jsx | 22 +++++++++++----------- 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/app.jsx b/app.jsx index f5be8dc..e06a579 100644 --- a/app.jsx +++ b/app.jsx @@ -57,6 +57,10 @@ function App() { const { tasks, users: dbUsers, audit, loading } = useApiData(authed); const [tab, setTab] = React.useState('overview'); + + React.useEffect(() => { + window.dbUsers = dbUsers; + }, [dbUsers]); const [adding, setAdding] = React.useState(null); const [openTaskId, setOpenTaskId] = React.useState(null); const [showLogs, setShowLogs] = React.useState(false); @@ -72,7 +76,7 @@ function App() { ]); if (!authed) { - return { + return { await api.login(id, pwd); setMeId(id); setAuthed(true); @@ -200,6 +204,7 @@ function App() {
setOpenTaskId(task.id)} onAddFor={(uid) => setAdding(uid)} onMoveTask={moveTask} @@ -228,7 +234,7 @@ function App() { )} - setAdding(null)} onSubmit={addTask} defaultAssignee={adding} me={me} /> + setAdding(null)} onSubmit={addTask} defaultAssignee={adding} me={me} dbUsers={dbUsers} /> {mappedOpenTask && ( setOpenTaskId(null)} onMove={moveTask} onPriority={setPriority} onComplete={() => completeTask(mappedOpenTask.id)} onReopen={() => reopenTask(mappedOpenTask.id)} onEditDesc={(newDesc) => editTaskDesc(mappedOpenTask.id, newDesc)} onDeleteTask={() => deleteTask(mappedOpenTask.id)} /> )} diff --git a/components.jsx b/components.jsx index 5233254..d47d027 100644 --- a/components.jsx +++ b/components.jsx @@ -91,7 +91,11 @@ function fmtDateTime(iso) { ' · ' + d.toLocaleTimeString('en-US', { hour: 'numeric', minute: '2-digit' }); } -function findUser(id) { return USERS.find(u => u.id === id); } +function findUser(id) { + const live = window.dbUsers; + if (live) return live.find(u => u.id === id); + return USERS.find(u => u.id === id); +} function TaskCard({ task, onOpen, density = 'cozy', dragging = false, onDragStart, onDragEnd }) { const author = findUser(task.addedBy); diff --git a/dashy.db b/dashy.db index 8eb3b0c1e644c0df3114706ac9d6c7d43e0ed2c7..d665771c5ac6b6504ef3a2f80dd23ad198e420ae 100644 GIT binary patch delta 1422 zcmZXTZD<>H9LFy_G-9=?hyDeFp+Nn(N)#Y-RtZ`{l zl5AbKKCFl^d|-w@Y~TY-QDJj?Q3ERK3mF3+h9JI}=nIkR6hT1=h;_d3lFLm@AaB0p z^Znib$M5?+bJ2O`qVvUj9cQb9(~h%SsV(T}uQ8#MRPEW|si_B&{g|mT))~o&+Oso+`rK6c1jd`alo$3S1@s0*?WK z`WZUOZ-E9rgfCI+V4CJ=l|D=t;B)X2d6oVYzEA!F`fI0B0TOTIT^kt%>3S9^NxF-1 zXe!5YdX_V^SxfRPpUEgI%HTqASdo8A+iA3bsEG|0OLUE?(4{(Y<3<-+49 z7M{ zQtMP4+y>Xd3m`_;$u~%i40ylrKJ67eUwM{2VfQWfl^WB#J6gyXpp@O47ITHM!Jo%=9*+chjC_TRx<6;s;q2!=bM20SXorkgu7 zu4DJF4HlvzYh7omi8j`?yV-%F_H`vL8Ee`eG{0bXxYNes*XrT1nMo7%k2KJ9tKS_c k%a@7*F4@$d?J zH*yP4ZmG>+F3L}t{GrxxvwP(y4)JpNk# z+5A2HJ;0E1{-yk3e2@56@)ht|^1kKW##_hh&hwk+2+*@j Mc(xzmVYFce0J@HJp#T5? diff --git a/screens.jsx b/screens.jsx index 7b1d26f..8b9117d 100644 --- a/screens.jsx +++ b/screens.jsx @@ -1,6 +1,6 @@ // Screens for Dashy -function LoginScreen({ onLogin }) { +function LoginScreen({ onLogin, dbUsers = [] }) { const [pickedId, setPickedId] = React.useState('rod'); const [password, setPassword] = React.useState(''); const [error, setError] = React.useState(''); @@ -31,7 +31,7 @@ function LoginScreen({ onLogin }) {

Sign in to your team workspace · murchison-auto

- {USERS.map(u => ( + {dbUsers.map(u => (