diff --git a/apps/web/src/components/common/url-import-modal.tsx b/apps/web/src/components/common/url-import-modal.tsx index 3c6a7f98..2913a89f 100644 --- a/apps/web/src/components/common/url-import-modal.tsx +++ b/apps/web/src/components/common/url-import-modal.tsx @@ -1,5 +1,5 @@ import { AlertCircle, Check, Clock, Link, Loader2, RotateCw, X } from "lucide-react"; -import { useCallback, useState } from "react"; +import { useCallback, useEffect, useState } from "react"; import { type UrlImportEntry, useUrlImport } from "@/hooks/use-url-import"; import { extractUrls } from "@/lib/url-parser"; @@ -79,6 +79,14 @@ export function UrlImportModal({ onClose, onImport }: UrlImportModalProps) { onClose(); }, [cancel, onClose]); + useEffect(() => { + const handler = (e: KeyboardEvent) => { + if (e.key === "Escape") handleClose(); + }; + window.addEventListener("keydown", handler); + return () => window.removeEventListener("keydown", handler); + }, [handleClose]); + return (
{/* Overlay */} @@ -89,7 +97,11 @@ export function UrlImportModal({ onClose, onImport }: UrlImportModalProps) { /> {/* Modal card */} -
+
{/* Header */}
@@ -97,6 +109,7 @@ export function UrlImportModal({ onClose, onImport }: UrlImportModalProps) {