2023-04-03 12:55:24 -07:00
|
|
|
import { useEffect } from 'react';
|
2023-03-28 19:10:22 -04:00
|
|
|
import store from '~/store';
|
2023-02-07 19:07:48 -05:00
|
|
|
import TrashIcon from '../svg/TrashIcon';
|
2023-03-28 19:10:22 -04:00
|
|
|
import { Dialog, DialogTrigger } from '../ui/Dialog.tsx';
|
|
|
|
|
import DialogTemplate from '../ui/DialogTemplate';
|
2023-04-05 08:47:18 -07:00
|
|
|
import { useClearConversationsMutation } from '~/data-provider';
|
2023-02-07 19:07:48 -05:00
|
|
|
|
|
|
|
|
export default function ClearConvos() {
|
2023-03-28 20:36:21 +08:00
|
|
|
const { newConversation } = store.useConversation();
|
|
|
|
|
const { refreshConversations } = store.useConversations();
|
2023-04-05 08:47:18 -07:00
|
|
|
const clearConvosMutation = useClearConversationsMutation();
|
2023-02-07 19:07:48 -05:00
|
|
|
|
2023-02-08 00:02:29 -05:00
|
|
|
const clickHandler = () => {
|
|
|
|
|
console.log('Clearing conversations...');
|
2023-04-05 08:47:18 -07:00
|
|
|
clearConvosMutation.mutate();
|
2023-02-08 00:02:29 -05:00
|
|
|
};
|
2023-02-07 19:07:48 -05:00
|
|
|
|
2023-04-03 12:55:24 -07:00
|
|
|
useEffect(() => {
|
|
|
|
|
if (clearConvosMutation.isSuccess) {
|
|
|
|
|
newConversation();
|
|
|
|
|
refreshConversations();
|
|
|
|
|
}
|
|
|
|
|
}, [clearConvosMutation.isSuccess]);
|
|
|
|
|
|
2023-02-07 19:07:48 -05:00
|
|
|
return (
|
2023-03-28 19:10:22 -04:00
|
|
|
<Dialog>
|
|
|
|
|
<DialogTrigger asChild>
|
|
|
|
|
<a
|
|
|
|
|
className="flex cursor-pointer items-center gap-3 rounded-md py-3 px-3 text-sm text-white transition-colors duration-200 hover:bg-gray-500/10"
|
|
|
|
|
// onClick={clickHandler}
|
|
|
|
|
>
|
|
|
|
|
<TrashIcon />
|
|
|
|
|
Clear conversations
|
|
|
|
|
</a>
|
|
|
|
|
</DialogTrigger>
|
|
|
|
|
<DialogTemplate
|
|
|
|
|
title="Clear conversations"
|
|
|
|
|
description="Are you sure you want to clear all conversations? This is irreversible."
|
|
|
|
|
selection={{
|
|
|
|
|
selectHandler: clickHandler,
|
|
|
|
|
selectClasses: 'bg-red-600 hover:bg-red-700 dark:hover:bg-red-800 text-white',
|
|
|
|
|
selectText: 'Clear'
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
</Dialog>
|
2023-02-07 19:07:48 -05:00
|
|
|
);
|
|
|
|
|
}
|