import { Plus } from "lucide-react";
import { useState } from "react";
import { Button } from "~/components/ui/button";
import {
Dialog,
DialogContent,
DialogDescription,
DialogHeader,
DialogTitle,
} from "~/components/ui/dialog";
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "~/components/ui/select";
import { Separator } from "~/components/ui/separator";
import { colorIsDarkSimple } from "~/lib/color";
import { cn } from "~/lib/utils";
import type { ChatsChatid } from "~/schemas/public/Chats";
import type { EtichetteIdEtichetta } from "~/schemas/public/Etichette";
import { api } from "~/utils/api";
export const EtichetteDisplayer = ({
chatId,
className,
}: {
chatId: ChatsChatid;
className?: string;
}) => {
const { data, isLoading } = api.chat.getChatEtichette.useQuery({
chatId,
});
const [openEdit, setOpenEdit] = useState(false);
const handleOpen = (status: boolean) => {
setOpenEdit(status);
};
if ((!isLoading && !data) || !data) return null;
return (
{data.map((etichetta) => (
))}
);
};
export const EtichetteModal = ({
chatId,
open,
onOpenChange,
}: {
chatId: ChatsChatid;
open: boolean;
onOpenChange: (status: boolean) => void;
}) => {
const [selected, setSelected] = useState(null);
const utils = api.useUtils();
const { data } = api.chat.getChatEtichette.useQuery({ chatId });
const { data: etichette } = api.etichette.getAllEtichette.useQuery();
const { mutate: remove } = api.chat.removeEtichettaFromChat.useMutation({
onSuccess: async () => {
await utils.chat.getChatEtichette.invalidate({ chatId });
await utils.chat.getActiveChats.invalidate();
},
});
const { mutate: add } = api.chat.addEtichettaToChat.useMutation({
onSuccess: async () => {
await utils.chat.getChatEtichette.invalidate({ chatId });
await utils.chat.getActiveChats.invalidate();
},
});
if (!data) return null;
return (
);
};
export const Etichetta = ({
title,
color_hex,
className,
}: {
title: string;
color_hex: string;
className?: string;
}) => {
return (
{title}
);
};