event.stopPropagation()}
+ onKeyDown={(event) => event.stopPropagation()}
+ >
+ {showDetail ? (
+
+ ) : null}
+
{project.status !== "completed" ? (
) : null}
@@ -328,10 +373,12 @@ function ProjectDialog({
mode,
project,
clients,
+ iconOnly = false,
}: {
mode: "create" | "edit";
project?: ProjectListItem;
clients: ProjectClientOption[];
+ iconOnly?: boolean;
}) {
const [open, setOpen] = useState(false);
const [isSubmitting, setIsSubmitting] = useState(false);
@@ -354,10 +401,12 @@ function ProjectDialog({
diff --git a/app/(dashboard)/tasks/actions.ts b/app/(dashboard)/tasks/actions.ts
index c3026ab..3c08027 100644
--- a/app/(dashboard)/tasks/actions.ts
+++ b/app/(dashboard)/tasks/actions.ts
@@ -109,6 +109,7 @@ export async function updateTaskRecord(formData: FormData) {
export async function completeTaskRecord(formData: FormData) {
const { supabase, userId } = await getCurrentUserId();
const id = cleanText(formData.get("id"));
+ const projectId = cleanRelationId(formData.get("project_id"));
if (!id) {
throw new Error("Tamamlanacak görev bulunamadı.");
@@ -125,6 +126,10 @@ export async function completeTaskRecord(formData: FormData) {
}
revalidatePath("/tasks");
+
+ if (projectId) {
+ revalidatePath(`/projects/${projectId}`);
+ }
}
export async function updateTaskStatusRecord(taskId: string, status: string) {