/* eslint-disable import/no-cycle */ import type { ICellRendererParams } from '@ag-grid-community/core'; import { RiHeartFill, RiHeartLine } from 'react-icons/ri'; import { Button } from '/@/renderer/components/button'; import { CellContainer } from '/@/renderer/components/virtual-table/cells/generic-cell'; import { useCreateFavorite, useDeleteFavorite } from '/@/renderer/features/shared'; export const FavoriteCell = ({ value, data, node }: ICellRendererParams) => { const createMutation = useCreateFavorite({}); const deleteMutation = useDeleteFavorite({}); const handleToggleFavorite = () => { const newFavoriteValue = !value; if (newFavoriteValue) { createMutation.mutate( { query: { id: [data.id], type: data.itemType, }, serverId: data.serverId, }, { onSuccess: () => { node.setData({ ...data, userFavorite: newFavoriteValue }); }, }, ); } else { deleteMutation.mutate( { query: { id: [data.id], type: data.itemType, }, serverId: data.serverId, }, { onSuccess: () => { node.setData({ ...data, userFavorite: newFavoriteValue }); }, }, ); } }; return ( ); };