feat: Add project and user cards, implement settings and list view components, and update dependencies

This commit is contained in:
2024-11-05 17:29:20 +02:00
parent f8394173f1
commit 8c179b8a0d
25 changed files with 1258 additions and 25 deletions

View File

@@ -0,0 +1,68 @@
import { Task } from "@/state/api";
import { format } from "date-fns";
import Image from "next/image";
import React from "react";
type Props = {
task: Task;
};
const TaskCard = ({ task }: Props) => {
return (
<div className="mb-3 rounded bg-white p-4 shadow dark:bg-dark-secondary dark:text-white">
{task.attachments && task.attachments.length > 0 && (
<div>
<strong>Attachments:</strong>
<div className="flex flex-wrap">
{task.attachments && task.attachments.length > 0 && (
<Image
src={`${task.attachments[0].fileURL}`}
alt={task.attachments[0].fileName}
width={400}
height={200}
className="rounded-md"
/>
)}
</div>
</div>
)}
<p>
<strong>ID:</strong> {task.id}
</p>
<p>
<strong>Title:</strong> {task.title}
</p>
<p>
<strong>Description:</strong>{" "}
{task.description || "No description provided"}
</p>
<p>
<strong>Status:</strong> {task.status}
</p>
<p>
<strong>Priority:</strong> {task.priority}
</p>
<p>
<strong>Tags:</strong> {task.tags || "No tags"}
</p>
<p>
<strong>Start Date:</strong>{" "}
{task.startDate ? format(new Date(task.startDate), "P") : "Not set"}
</p>
<p>
<strong>Due Date:</strong>{" "}
{task.dueDate ? format(new Date(task.dueDate), "P") : "Not set"}
</p>
<p>
<strong>Author:</strong>{" "}
{task.author ? task.author.username : "Unknown"}
</p>
<p>
<strong>Assignee:</strong>{" "}
{task.assignee ? task.assignee.username : "Unassigned"}
</p>
</div>
);
};
export default TaskCard;