-
diff --git a/src/app/(main)/projects/[id]/page.tsx b/src/app/(main)/projects/[id]/page.tsx
index d8b734c..446abb1 100644
--- a/src/app/(main)/projects/[id]/page.tsx
+++ b/src/app/(main)/projects/[id]/page.tsx
@@ -8,6 +8,7 @@ import formatDate from "@/lib/helper/convert-date";
import TasksList from "./_components/TasksList";
import { Priority, task } from "../../../../../prisma/src/generated/prisma";
import TaskActions from "./_components/TaskActions";
+import { getProjectById } from "@/lib/actions/projects.action";
const tabs = [
{ text: "List", value: "list", icon:
},
@@ -37,6 +38,8 @@ const ProjectTask = async ({ params, searchParams }: IProps) => {
pageSearchParams?.priority,
pageSearchParams?.status
);
+ const project = await getProjectById(id);
+ if (!project) return;
const data = rawData.map((item) => {
const avatarUrl = item.assignment.map((item) => ({
username: item.profiles.username || "U",
@@ -61,9 +64,9 @@ const ProjectTask = async ({ params, searchParams }: IProps) => {
- U
+ {project.name.slice(0, 1).toUpperCase()}
-
My bim bam boom project
+
{project.name}
diff --git a/src/app/globals.css b/src/app/globals.css
index e5e038a..72434fa 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -126,5 +126,5 @@
}
@utility button {
- @apply flex justify-center items-center px-4 py-2 border border-transparent text-sm font-medium rounded shadow-sm text-white bg-blue-600 hover:bg-button-hover focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 transition-colors active:scale-95 cursor-pointer;
+ @apply flex justify-center items-center px-4 py-2 border border-transparent text-sm font-medium rounded shadow-sm text-white bg-blue-600 hover:bg-button-hover focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 transition-colors active:scale-95 cursor-pointer whitespace-nowrap;
}
\ No newline at end of file
diff --git a/src/lib/actions/task.action.ts b/src/lib/actions/task.action.ts
index f5021f1..ad88463 100644
--- a/src/lib/actions/task.action.ts
+++ b/src/lib/actions/task.action.ts
@@ -75,10 +75,27 @@ export async function updateTask(
dueDate: Date;
}
) {
- await prisma.task.update({
- where: { id },
- data,
- });
+ try {
+ return prisma.task.update({
+ where: { id },
+ data,
+ });
+ } catch (error) {
+ throw error;
+ } finally {
+ revalidatePath(`/projects/${id}`);
+ }
+}
- revalidatePath(`/projects/${id}`);
-}
\ No newline at end of file
+export async function deleteTask(id: string) {
+ try {
+ await prisma.task.delete({
+ where: { id },
+ });
+ return { success: true, message: "Task deleted successfully!" };
+ } catch (error) {
+ return { success: false, message: "Failed to delete task." };
+ } finally {
+ revalidatePath(`/projects/${id}`);
+ }
+}