aboutsummaryrefslogtreecommitdiff
path: root/apps/web/src/components/Sidebar
diff options
context:
space:
mode:
authoryxshv <[email protected]>2024-04-15 02:01:52 +0530
committeryxshv <[email protected]>2024-04-15 02:01:52 +0530
commitc5938c79b92c1ce2577e894c1bb16e97155ce6bb (patch)
tree4e32a73beca3bdc57f8124629f2ef6ff53d5407f /apps/web/src/components/Sidebar
parentadd profile and fix drawer scroll (diff)
downloadsupermemory-c5938c79b92c1ce2577e894c1bb16e97155ce6bb.tar.xz
supermemory-c5938c79b92c1ce2577e894c1bb16e97155ce6bb.zip
fix context menu
Diffstat (limited to 'apps/web/src/components/Sidebar')
-rw-r--r--apps/web/src/components/Sidebar/MemoriesBar.tsx15
1 files changed, 13 insertions, 2 deletions
diff --git a/apps/web/src/components/Sidebar/MemoriesBar.tsx b/apps/web/src/components/Sidebar/MemoriesBar.tsx
index 6457218d..5d9cf01e 100644
--- a/apps/web/src/components/Sidebar/MemoriesBar.tsx
+++ b/apps/web/src/components/Sidebar/MemoriesBar.tsx
@@ -232,9 +232,16 @@ export function MemoryItem(props: StoredContent & { onDelete?: () => void; remov
const [isDialogOpen, setIsDialogOpen] = useState(false);
+ const [moreDropdownOpen, setMoreDropdownOpen] = useState(false)
+
+ const touchEventProps = useTouchHold({
+ onHold() {
+ setMoreDropdownOpen(true);
+ },
+ });
return (
<Dialog open={type === "note" ? isDialogOpen : false} onOpenChange={setIsDialogOpen}>
- <div className="cursor-pointer hover:bg-rgray-2 has-[[data-state='true']]:bg-rgray-2 has-[[data-space-text]:focus-visible]:bg-rgray-2 has-[[data-space-text]:focus-visible]:ring-rgray-7 [&:has-[[data-space-text]:focus-visible]>[data-more-button]]:opacity-100 relative flex select-none flex-col-reverse items-center justify-center rounded-md p-2 pb-4 text-center font-normal ring-transparent transition has-[[data-space-text]:focus-visible]:outline-none has-[[data-space-text]:focus-visible]:ring-2 md:has-[[data-state='true']]:bg-transparent [&:hover>[data-more-button]]:opacity-100">
+ <div {...touchEventProps} className="cursor-pointer hover:bg-rgray-2 has-[[data-state='true']]:bg-rgray-2 has-[[data-space-text]:focus-visible]:bg-rgray-2 has-[[data-space-text]:focus-visible]:ring-rgray-7 [&:has-[[data-space-text]:focus-visible]>[data-more-button]]:opacity-100 relative flex select-none flex-col-reverse items-center justify-center rounded-md p-2 pb-4 text-center font-normal ring-transparent transition has-[[data-space-text]:focus-visible]:outline-none has-[[data-space-text]:focus-visible]:ring-2 md:has-[[data-state='true']]:bg-transparent [&:hover>[data-more-button]]:opacity-100">
{
type === "note" ?
(
@@ -250,7 +257,11 @@ export function MemoryItem(props: StoredContent & { onDelete?: () => void; remov
)
}
- {type === "page" ? <PageMoreButton removeFromSpace={removeFromSpace} onDelete={() => { deleteMemory(id); onDelete?.() }} url={url} /> : type === "note" ? <NoteMoreButton removeFromSpace={removeFromSpace} onEdit={() => setIsDialogOpen(true)} onDelete={() => { deleteMemory(id); onDelete?.() }} /> : null}
+ {type === "page" ?
+ <PageMoreButton isOpen={moreDropdownOpen} setIsOpen={setMoreDropdownOpen} removeFromSpace={removeFromSpace} onDelete={() => { deleteMemory(id); onDelete?.() }} url={url} /> :
+ type === "note" ?
+ <NoteMoreButton isOpen={moreDropdownOpen} setIsOpen={setMoreDropdownOpen} removeFromSpace={removeFromSpace} onEdit={() => setIsDialogOpen(true)} onDelete={() => { deleteMemory(id); onDelete?.() }} />
+ : null}
<div className="flex h-24 w-24 items-center justify-center">
{type === "page" ? (