"use client"; import { format } from "date-fns"; import { Plus } from "lucide-react"; import { useState } from "react"; import { KanbanBoard, KanbanCard, KanbanCards, KanbanHeader, KanbanProvider, } from "~/components/ui/kanban"; import { usePotenziali } from "~/providers/PotenzialiProvider"; import type { PotenzialiGroupsId } from "~/schemas/public/PotenzialiGroups"; import type { PotenzialeData } from "~/server/services/potenziali.service"; import { Credenza, CredenzaBody, CredenzaClose, CredenzaContent, CredenzaDescription, CredenzaFooter, CredenzaHeader, CredenzaTitle, CredenzaTrigger, } from "../custom_ui/credenza"; import Input from "../custom_ui/input"; import { Textarea } from "../custom_ui/textarea"; import { Button } from "../ui/button"; import { Label } from "../ui/label"; import { UserAvatar } from "../user_avatar"; export const Potenziali = () => { const { data, columns, setData, updateCall, setEditing, editingItem } = usePotenziali(); return ( <> { updateCall(); }} > {(column) => ( {column.name} {(data: PotenzialeData) => ( { setEditing(data.id); }} column={column.id} id={data.id} key={data.id} name={data.name} > {data.name} {data.descrizione} {data.userid && ( )} {format(data.created_at, "dd/MM/yyyy HH:mm")} )} )} { if (!v) { setEditing(null); } }} open={!!editingItem} > > ); }; export const NewColumn = () => { const [newColumnName, setNewColumnName] = useState(""); const { addColumn } = usePotenziali(); return ( Nuova colonna Nuova colonna desc Titolo setNewColumnName(e.target.value)} type="string" /> { addColumn(newColumnName); setNewColumnName(""); }} > Aggiungi ); }; export const NewCard = ({ columnId }: { columnId: PotenzialiGroupsId }) => { const [newItemName, setNewItemName] = useState(""); const [newItemDescrizione, setNewItemDescrizione] = useState(""); const { addItem } = usePotenziali(); const [open, setOpen] = useState(false); const handleAddItem = () => { addItem({ name: newItemName, descrizione: newItemDescrizione, potenziali_group_id: columnId, }); setNewItemName(""); setNewItemDescrizione(""); setOpen(false); }; return ( Nuova colonna desc Titolo setNewItemName(e.target.value)} type="string" value={newItemName} /> Descrizione setNewItemDescrizione(e.target.value)} placeholder="" value={newItemDescrizione} /> Aggiungi Chiudi ); }; const EditingContent = () => { const { editingItem, updateItem } = usePotenziali(); const [state, setState] = useState(editingItem); const [hasChanges, setHasChanges] = useState(false); if (!state) return null; return ( Modifica {state.name} desc Titolo { setState((prev) => prev && { ...prev, name: e.target.value }); setHasChanges(true); }} type="string" value={state.name} /> Descrizione { setState( (prev) => prev && { ...prev, descrizione: e.target.value }, ); setHasChanges(true); }} placeholder="" value={state.descrizione || undefined} /> { updateItem(state); }} type="button" > Salva Chiudi ); };
{data.name}
{data.descrizione}
{format(data.created_at, "dd/MM/yyyy HH:mm")}