Add tags to multiple tasks at once π·οΈ
File: client/src/pages/Dashboard.jsx
Adding same tag to 10 tasks = 10 modal opens π
Need batch tag editing fr!!
Fix: add tag input in bulk select mode:
const handleBatchTag = async (tag) => {
if (!tag.trim()) return
await Promise.all(
selectedTasks.map(id => {
const task = tasks.find(t => t._id === id)
const updatedTags = [...new Set([
...(task.tags || []), tag.trim()
])]
return updateTask(id, { tags: updatedTags })
})
)
setBatchTag('')
}
// show when tasks are selected:
{selectedTasks.length > 0 && (
setBatchTag(e.target.value)}
placeholder="Add tag to selected..."
className="text-xs bg-[#2a2a2f] rounded
px-2 py-1 text-[#888]"
onKeyDown={e => e.key === 'Enter' &&
handleBatchTag(batchTag)}
/>
)}
~15 lines! No backend changes needed π―
Add tags to multiple tasks at once π·οΈ
File: client/src/pages/Dashboard.jsx
Adding same tag to 10 tasks = 10 modal opens π
Need batch tag editing fr!!
Fix: add tag input in bulk select mode:
const handleBatchTag = async (tag) => {
if (!tag.trim()) return
await Promise.all(
selectedTasks.map(id => {
const task = tasks.find(t => t._id === id)
const updatedTags = [...new Set([
...(task.tags || []), tag.trim()
])]
return updateTask(id, { tags: updatedTags })
})
)
setBatchTag('')
}
// show when tasks are selected:
{selectedTasks.length > 0 && (
~15 lines! No backend changes needed π―