From 00fe6eafcd5e3ee0fe3228078aae3a38bb47fba0 Mon Sep 17 00:00:00 2001 From: Lars Hampe Date: Mon, 7 Oct 2024 11:41:16 +0200 Subject: [PATCH] feat(app): changelog remove action --- apps/app/src/components/Changelog/Delete.tsx | 72 ++++++++++++++++++++ apps/app/src/main.tsx | 24 ++++--- apps/app/src/routes/changelog/$id.lazy.tsx | 66 +++++++++++++++++- 3 files changed, 149 insertions(+), 13 deletions(-) create mode 100644 apps/app/src/components/Changelog/Delete.tsx diff --git a/apps/app/src/components/Changelog/Delete.tsx b/apps/app/src/components/Changelog/Delete.tsx new file mode 100644 index 0000000..1712daa --- /dev/null +++ b/apps/app/src/components/Changelog/Delete.tsx @@ -0,0 +1,72 @@ +import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, + AlertDialogTrigger, + Button, + Tooltip, + TooltipContent, + TooltipTrigger, +} from '@boring.tools/ui' +import { useNavigate } from '@tanstack/react-router' +import { Trash2Icon } from 'lucide-react' +import { useState } from 'react' +import { useChangelogRemove } from '../../hooks/useChangelog' + +export const ChangelogDelete = ({ id }: { id: string }) => { + const remove = useChangelogRemove() + const navigate = useNavigate({ from: `/changelog/${id}` }) + const [isOpen, setIsOpen] = useState(false) + + const removeChangelog = () => { + remove.mutate( + { id }, + { + onSuccess: () => { + setIsOpen(false) + navigate({ to: '/changelog' }) + }, + }, + ) + } + return ( + + + + + + + + + + Are you absolutely sure? + + This action cannot be undone. This will permanently delete your + changelog and remove your data from our servers. + + + + setIsOpen(false)}> + Cancel + + + + + + + + +

Remove

+
+
+ ) +} diff --git a/apps/app/src/main.tsx b/apps/app/src/main.tsx index f364dbe..d19edb7 100644 --- a/apps/app/src/main.tsx +++ b/apps/app/src/main.tsx @@ -1,4 +1,4 @@ -import { ThemeProvider } from '@boring.tools/ui' +import { ThemeProvider, TooltipProvider } from '@boring.tools/ui' import { ClerkProvider } from '@clerk/clerk-react' import { RouterProvider, createRouter } from '@tanstack/react-router' import { StrictMode } from 'react' @@ -36,16 +36,18 @@ if (!rootElement.innerHTML) { - - {import.meta.env.PROD && ( -