From 325a30e20805ad9f7663ec6db81cd696d3289964 Mon Sep 17 00:00:00 2001 From: Marc Seitz Date: Fri, 26 Jul 2024 16:04:24 +0300 Subject: [PATCH 1/2] fix(radix-ui): reset pointer-events on body https://github.com/radix-ui/primitives/issues/1241#issuecomment-1888232392 --- .../datarooms/dataroom-document-card.tsx | 35 ++++++++++++------- components/documents/document-card.tsx | 9 +++++ components/documents/folder-card.tsx | 11 +++++- 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/components/datarooms/dataroom-document-card.tsx b/components/datarooms/dataroom-document-card.tsx index 55afccfe8..b9932a672 100644 --- a/components/datarooms/dataroom-document-card.tsx +++ b/components/datarooms/dataroom-document-card.tsx @@ -36,7 +36,7 @@ type DocumentsCardProps = { teamInfo: TeamContextType | null; }; export default function DataroomDocumentCard({ - document, + document: dataroomDocument, teamInfo, }: DocumentsCardProps) { const { theme, systemTheme } = useTheme(); @@ -49,16 +49,25 @@ export default function DataroomDocumentCard({ const [moveFolderOpen, setMoveFolderOpen] = useState(false); const dropdownRef = useRef(null); + // https://github.com/radix-ui/primitives/issues/1241#issuecomment-1888232392 + useEffect(() => { + if (!moveFolderOpen) { + setTimeout(() => { + document.body.style.pointerEvents = ""; + }); + } + }, [moveFolderOpen]); + return ( <>
  • - {document.document.type === "notion" ? ( + {dataroomDocument.document.type === "notion" ? ( ) : ( File icon

    - {document.document.name} + {dataroomDocument.document.name}

    -

    {timeAgo(document.createdAt)}

    - {document.document._count.versions > 1 ? ( +

    {timeAgo(dataroomDocument.createdAt)}

    + {dataroomDocument.document._count.versions > 1 ? ( <>

    -

    {`${document.document._count.versions} Versions`}

    +

    {`${dataroomDocument.document._count.versions} Versions`}

    ) : null}
    @@ -95,12 +104,12 @@ export default function DataroomDocumentCard({ onClick={(e) => { e.stopPropagation(); }} - href={`/documents/${document.document.id}`} + href={`/documents/${dataroomDocument.document.id}`} className="z-10 flex items-center space-x-1 rounded-md bg-gray-200 px-1.5 py-0.5 transition-all duration-75 hover:scale-105 active:scale-100 dark:bg-gray-700 sm:px-2" >

    - {nFormatter(document.document._count.views)} + {nFormatter(dataroomDocument.document._count.views)} views

    @@ -144,9 +153,9 @@ export default function DataroomDocumentCard({ ) : null} diff --git a/components/documents/document-card.tsx b/components/documents/document-card.tsx index f2d4f3adf..25125a5d8 100644 --- a/components/documents/document-card.tsx +++ b/components/documents/document-card.tsx @@ -68,6 +68,15 @@ export default function DocumentsCard({ ); } + // https://github.com/radix-ui/primitives/issues/1241#issuecomment-1888232392 + useEffect(() => { + if (!moveFolderOpen || !addDataroomOpen) { + setTimeout(() => { + document.body.style.pointerEvents = ""; + }); + } + }, [moveFolderOpen, addDataroomOpen]); + useEffect(() => { function handleClickOutside(event: { target: any }) { if (dropdownRef.current && !dropdownRef.current.contains(event.target)) { diff --git a/components/documents/folder-card.tsx b/components/documents/folder-card.tsx index a2be9c798..2cb28565b 100644 --- a/components/documents/folder-card.tsx +++ b/components/documents/folder-card.tsx @@ -63,6 +63,15 @@ export default function FolderCard({ }; }, []); + // https://github.com/radix-ui/primitives/issues/1241#issuecomment-1888232392 + useEffect(() => { + if (!openFolder) { + setTimeout(() => { + document.body.style.pointerEvents = ""; + }); + } + }, [openFolder]); + const handleButtonClick = (event: any, documentId: string) => { event.stopPropagation(); event.preventDefault(); @@ -160,7 +169,7 @@ export default function FolderCard({
  • - +
    From 77f9de0bd2040c4a744bc5db5bd081c391826650 Mon Sep 17 00:00:00 2001 From: Marc Seitz Date: Fri, 26 Jul 2024 16:04:40 +0300 Subject: [PATCH 2/2] chore: cleanup --- components/documents/move-folder-modal.tsx | 3 ++- components/folders/edit-folder-modal.tsx | 10 +--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/components/documents/move-folder-modal.tsx b/components/documents/move-folder-modal.tsx index 8d0aee834..73383ea4d 100644 --- a/components/documents/move-folder-modal.tsx +++ b/components/documents/move-folder-modal.tsx @@ -96,7 +96,8 @@ export function MoveToFolderModal({ - Move {documentName} + Move +
    {documentName}
    Move your document to a folder.
    diff --git a/components/folders/edit-folder-modal.tsx b/components/folders/edit-folder-modal.tsx index 8240fbc4e..83fd89e04 100644 --- a/components/folders/edit-folder-modal.tsx +++ b/components/folders/edit-folder-modal.tsx @@ -1,9 +1,6 @@ -import { useRouter } from "next/router"; - -import { useState } from "react"; +import { useEffect, useState } from "react"; import { useTeam } from "@/context/team-context"; -import { Folder } from "@prisma/client"; import { toast } from "sonner"; import { mutate } from "swr"; @@ -20,11 +17,6 @@ import { import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { useAnalytics } from "@/lib/analytics"; -import { usePlan } from "@/lib/swr/use-billing"; - -import { UpgradePlanModal } from "../billing/upgrade-plan-modal"; - export function EditFolderModal({ open, setOpen,