import { Todo, User, UserWithTodos } from '@homeman/models.ts' import { Button } from '@homeman/components/Button.tsx' import { Dialog } from '@homeman/components/Dialog.tsx' import { Avatar } from '@homeman/components/Avatar.tsx' import { Signal, useSignal } from '@preact/signals' import { Input } from '@homeman/components/Input.tsx' import { Label } from '@homeman/components/Label.tsx' export interface Props { user: UserWithTodos users: Record } export function TodoList( { users, user: { id, avatarUrl, assignedTodos, name, color } }: Props, ) { const todoAssignUserId: Signal = useSignal(null) const showAddTodoDialog = useSignal(false) const todoItem = ( { className, description, hideDone }: Pick & { className?: string hideDone?: boolean }, ) => (
  • {description} {hideDone ? '' : }
  • ) return (
    showAddTodoDialog.value = false} >
    Assignee
    • {Object.entries(users).map(([id, { avatarUrl, color }]) => { const eid = `assigneeUserId_${id}` return (
    • ) })}
    {name}
      {assignedTodos.length < 1 ? todoItem({ description: 'All clear! 🎉', className: 'text-center', hideDone: true, }) : assignedTodos.map(todoItem)}
    ) }