Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot]
2026-04-19 00:03:52 +00:00
co-authored by renee-png
parent a229f9333a
commit 5231e70b7c
+15 -1
View File
@@ -32,6 +32,7 @@ interface Template {
name: string;
description: string | null;
created_by: string | null;
kind: "task" | "collection";
}
interface TemplateTask {
id: string;
@@ -58,6 +59,7 @@ function WorkflowsPage() {
const [newOpen, setNewOpen] = useState(false);
const [newName, setNewName] = useState("");
const [newDesc, setNewDesc] = useState("");
const [newKind, setNewKind] = useState<"task" | "collection">("task");
const [newTask, setNewTask] = useState({ title: "", days: 7, priority: "normal" as const });
const loadTemplates = useCallback(async () => {
@@ -95,7 +97,12 @@ function WorkflowsPage() {
if (!user || !newName.trim()) return;
const { data, error } = await supabase
.from("workflow_templates")
.insert({ name: newName.trim(), description: newDesc.trim() || null, created_by: user.id })
.insert({
name: newName.trim(),
description: newDesc.trim() || null,
kind: newKind,
created_by: user.id,
})
.select()
.single();
if (error) {
@@ -104,11 +111,18 @@ function WorkflowsPage() {
}
setNewName("");
setNewDesc("");
setNewKind("task");
setNewOpen(false);
await loadTemplates();
setSelected(data as Template);
};
const updateTemplateKind = async (id: string, kind: "task" | "collection") => {
await supabase.from("workflow_templates").update({ kind }).eq("id", id);
await loadTemplates();
if (selected?.id === id) setSelected({ ...selected, kind });
};
const deleteTemplate = async (id: string) => {
if (!confirm("Delete this workflow template?")) return;
await supabase.from("workflow_templates").delete().eq("id", id);