--- // 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} Name Assigned To Due Date Priority Actions {section.tasks.map((task) => { const person = task.assigned_to ? peopleList[task.assigned_to - 1] : undefined; return ( {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' ? ( ) : ( )} ); })} )) } Add task Name Assigned To Select person { selectedPeople.map((person) => ( {person.full_name} )) } Priority Low Medium High Description