MCPcopy Create free account
hub / github.com/ZenNotes/zennotes / renderTask

Function renderTask

packages/app-core/src/components/TasksCalendar.tsx:268–323  ·  view source on GitHub ↗
(
    task: VaultTask,
    extra: { isActive?: boolean; buttonRef?: React.RefObject<HTMLDivElement> | null }
  )

Source from the content-addressed store, hash-verified

266 }
267
268 const renderTask = (
269 task: VaultTask,
270 extra: { isActive?: boolean; buttonRef?: React.RefObject<HTMLDivElement> | null }
271 ): JSX.Element =>
272 editingTaskId === task.id ? (
273 <div key={task.id} className="flex items-center gap-2 rounded-md px-2 py-1">
274 <span className="h-4 w-4 shrink-0 rounded border border-paper-400/70" />
275 <input
276 autoFocus
277 value={editValue}
278 onChange={(e) => setEditValue(e.target.value)}
279 onKeyDown={(e) => {
280 if (e.key === 'Enter') {
281 e.preventDefault()
282 e.currentTarget.blur()
283 } else if (e.key === 'Escape') {
284 e.stopPropagation()
285 cancelEditRef.current = true
286 e.currentTarget.blur()
287 }
288 }}
289 onBlur={() => {
290 if (cancelEditRef.current) {
291 cancelEditRef.current = false
292 } else {
293 const text = editValue.trim()
294 if (text && text !== taskTail(task)) {
295 void applyTaskMutation(task, { kind: 'set-text', text })
296 }
297 }
298 setEditingTaskId(null)
299 }}
300 className="min-w-0 flex-1 rounded border border-accent/60 bg-paper-100 px-1 py-0.5 text-sm outline-none"
301 spellCheck={false}
302 autoComplete="off"
303 />
304 </div>
305 ) : (
306 <CalendarTaskRow
307 key={task.id}
308 task={task}
309 isOverdue={isTaskOverdue(task, today)}
310 isActive={extra.isActive}
311 buttonRef={extra.buttonRef ?? null}
312 onToggle={() => onToggleTask(task)}
313 onOpen={() => {
314 if (suppressClickRef.current) {
315 suppressClickRef.current = false
316 return
317 }
318 onOpenTask(task)
319 }}
320 onContextMenu={(e) => openTaskMenu(e, task)}
321 onPointerDownTask={(e) => startPointerDrag(task, e)}
322 />
323 )
324
325 // Reset the keyboard "active task" cursor whenever the selected day changes.

Callers 1

TasksCalendarFunction · 0.85

Calls 3

openTaskMenuFunction · 0.85
startPointerDragFunction · 0.85
taskTailFunction · 0.70

Tested by

no test coverage detected