From b415cc8f1c464014899bb5849af45f745f47da70 Mon Sep 17 00:00:00 2001 From: Mohamed Gado Date: Tue, 17 Sep 2024 09:44:57 +0300 Subject: [PATCH] feat: Add @radix-ui/react-alert-dialog dependency and implement delete history alert --- bun.lockb | Bin 217903 -> 218601 bytes components/ui/alert-dialog.tsx | 141 +++++++++++++++++++++ components/watch-history/delete-alert.tsx | 57 +++++++++ components/watch-history/watch-history.tsx | 8 +- package.json | 1 + 5 files changed, 201 insertions(+), 6 deletions(-) create mode 100644 components/ui/alert-dialog.tsx create mode 100644 components/watch-history/delete-alert.tsx diff --git a/bun.lockb b/bun.lockb index ee912d9ec6d5798f18b7256e5e63821c06b4960f..16881ac50d4ef47ac5d2a678f2e41dc39735c3ad 100644 GIT binary patch delta 38520 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 delta 38480 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⁡P)6`b) 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, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName + +const AlertDialogContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + + + + +)) +AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName + +const AlertDialogHeader = ({ + className, + ...props +}: React.HTMLAttributes) => ( +
+) +AlertDialogHeader.displayName = "AlertDialogHeader" + +const AlertDialogFooter = ({ + className, + ...props +}: React.HTMLAttributes) => ( +
+) +AlertDialogFooter.displayName = "AlertDialogFooter" + +const AlertDialogTitle = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName + +const AlertDialogDescription = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogDescription.displayName = + AlertDialogPrimitive.Description.displayName + +const AlertDialogAction = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName + +const AlertDialogCancel = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName + +export { + AlertDialog, + AlertDialogPortal, + AlertDialogOverlay, + AlertDialogTrigger, + AlertDialogContent, + AlertDialogHeader, + AlertDialogFooter, + AlertDialogTitle, + AlertDialogDescription, + AlertDialogAction, + AlertDialogCancel, +} diff --git a/components/watch-history/delete-alert.tsx b/components/watch-history/delete-alert.tsx new file mode 100644 index 0000000..cb9cceb --- /dev/null +++ b/components/watch-history/delete-alert.tsx @@ -0,0 +1,57 @@ +import { useState } from 'react' +import { Trash } from 'lucide-react' + +import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, + AlertDialogTrigger, +} from '@/components/ui/alert-dialog' +import { Button } from '@/components/ui/button' + +interface DeleteHistoryAlertProps { + onDelete: () => void +} + +export function DeleteHistoryAlert({ onDelete }: DeleteHistoryAlertProps) { + const [isOpen, setIsOpen] = useState(false) + + const deleteWatchedItems = () => { + onDelete() + setIsOpen(false) + } + + return ( + + + + + + + Are you absolutely sure? + + This action cannot be undone. This will permanently delete your + entire watch history. + + + + Cancel + + Yes, clear history + + + + + ) +} diff --git a/components/watch-history/watch-history.tsx b/components/watch-history/watch-history.tsx index 8205196..36e155a 100644 --- a/components/watch-history/watch-history.tsx +++ b/components/watch-history/watch-history.tsx @@ -1,12 +1,11 @@ 'use client' import React from 'react' -import { Trash } from 'lucide-react' import { useMounted } from '@/hooks/use-mounted' import { useWatchedMedia } from '@/hooks/use-watched-media' -import { Button } from '../ui/button' +import { DeleteHistoryAlert } from './delete-alert' import { WatchedItemCard } from './watch-history-card' import { WatchedItemCardSkeleton } from './watch-history-skeleton' @@ -39,10 +38,7 @@ export const WatchHistoryContainer = () => {
{/* clear history */} - +
{watchedItems diff --git a/package.json b/package.json index 7b817e7..68d7de9 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "prettier:check": "prettier --check ." }, "dependencies": { + "@radix-ui/react-alert-dialog": "^1.1.1", "@radix-ui/react-avatar": "^1.1.0", "@radix-ui/react-dialog": "^1.1.1", "@radix-ui/react-hover-card": "^1.1.1",