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 8eb3b0c..d665771 100644 Binary files a/dashy.db and b/dashy.db differ 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 => (