--- // Port of preview/pages/tasks-list.html (layout: default) import DefaultLayout from '@shared/layouts/DefaultLayout.astro'; import Button from '@shared/components/Button.astro'; import Icon from '@shared/components/Icon.astro'; import Avatar from '@shared/components/ui/Avatar.astro'; import Badge from '@shared/components/ui/Badge.astro'; import Modal from '@shared/components/modals/Modal.astro'; import tasks from '@data/tasks.json'; import people from '@data/people.json'; interface Person { id?: string; full_name?: string; photo?: string; [key: string]: unknown; } interface Task { name?: string; assigned_to?: number; due_date?: string; 'due-date'?: string; priority?: string; [key: string]: unknown; } interface Column { name: string; tasks: Task[]; } const columns = (tasks as { columns: Column[] }).columns; const peopleList = people as Person[]; // add-task modal: assignable people (parts/modals/add-task.html — "5,6,2,3") const selectedPeople = [5, 6, 2, 3].map((id) => peopleList[id - 1]); ---
{ columns.map((section) => (

{section.name}

{section.tasks.map((task) => { const person = task.assigned_to ? peopleList[task.assigned_to - 1] : undefined; return ( ); })}
Name Assigned To Due Date Priority Actions
{task.name} {task.assigned_to && person ? (
{person.full_name}
) : ( Unassigned )}
{task.due_date ? ( {task.due_date} ) : task['due-date'] ? ( {task['due-date']} ) : ( )} {task.priority === 'High' ? ( ) : task.priority === 'Medium' ? ( ) : task.priority === 'Low' ? ( ) : ( )}
)) }