Skip to content

Commit 88756f4

Browse files
authored
minimise clipboard (#626)
1 parent 7b4cb58 commit 88756f4

File tree

1 file changed

+52
-39
lines changed

1 file changed

+52
-39
lines changed

apps/roam/src/components/canvas/Clipboard.tsx

Lines changed: 52 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1048,6 +1048,7 @@ const ClipboardPageSection = ({
10481048
export const ClipboardPanel = () => {
10491049
const { isOpen, pages, closeClipboard, addPage, removePage } = useClipboard();
10501050
const [isModalOpen, setIsModalOpen] = useState(false);
1051+
const [isCollapsed, setIsCollapsed] = useState(false);
10511052

10521053
if (!isOpen) return null;
10531054

@@ -1075,6 +1076,14 @@ export const ClipboardPanel = () => {
10751076
Clipboard
10761077
</h2>
10771078
<div className="flex-shrink-0">
1079+
<Button
1080+
icon={<Icon icon="minus" />}
1081+
onClick={() => setIsCollapsed(!isCollapsed)}
1082+
minimal
1083+
small
1084+
className="h-6 min-h-0 p-1"
1085+
title={isCollapsed ? "Expand clipboard" : "Collapse clipboard"}
1086+
/>
10781087
<Button
10791088
icon={<Icon icon="cross" />}
10801089
onClick={closeClipboard}
@@ -1085,50 +1094,54 @@ export const ClipboardPanel = () => {
10851094
/>
10861095
</div>
10871096
</div>
1088-
<div
1089-
className="max-h-96 overflow-y-auto p-4"
1090-
style={{ borderTop: "1px solid hsl(0, 0%, 91%)" }}
1091-
>
1092-
{pages.length === 0 ? (
1093-
<NonIdealState
1094-
action={
1097+
{!isCollapsed && (
1098+
<>
1099+
<div
1100+
className="max-h-96 overflow-y-auto p-4"
1101+
style={{ borderTop: "1px solid hsl(0, 0%, 91%)" }}
1102+
>
1103+
{pages.length === 0 ? (
1104+
<NonIdealState
1105+
action={
1106+
<Button
1107+
icon="plus"
1108+
onClick={() => setIsModalOpen(true)}
1109+
minimal
1110+
small
1111+
text="Add page"
1112+
/>
1113+
}
1114+
/>
1115+
) : (
1116+
<div className="space-y-2">
1117+
{pages.map((page) => (
1118+
<ClipboardPageSection
1119+
key={page.uid}
1120+
page={page}
1121+
onRemove={removePage}
1122+
/>
1123+
))}
1124+
</div>
1125+
)}
1126+
</div>
1127+
{pages.length > 0 ? (
1128+
<div
1129+
className="flex flex-shrink-0 items-center justify-end border-t border-gray-200 p-2"
1130+
style={{
1131+
borderTop: "1px solid hsl(0, 0%, 91%)",
1132+
}}
1133+
>
10951134
<Button
10961135
icon="plus"
10971136
onClick={() => setIsModalOpen(true)}
10981137
minimal
10991138
small
1100-
text="Add page"
1101-
/>
1102-
}
1103-
/>
1104-
) : (
1105-
<div className="space-y-2">
1106-
{pages.map((page) => (
1107-
<ClipboardPageSection
1108-
key={page.uid}
1109-
page={page}
1110-
onRemove={removePage}
1111-
/>
1112-
))}
1113-
</div>
1114-
)}
1115-
</div>
1116-
{pages.length > 0 ? (
1117-
<div
1118-
className="flex flex-shrink-0 items-center justify-end border-t border-gray-200 p-2"
1119-
style={{
1120-
borderTop: "1px solid hsl(0, 0%, 91%)",
1121-
}}
1122-
>
1123-
<Button
1124-
icon="plus"
1125-
onClick={() => setIsModalOpen(true)}
1126-
minimal
1127-
small
1128-
title="Add page"
1129-
/>{" "}
1130-
</div>
1131-
) : null}
1139+
title="Add page"
1140+
/>{" "}
1141+
</div>
1142+
) : null}
1143+
</>
1144+
)}
11321145

11331146
<AddPageModal
11341147
isOpen={isModalOpen}

0 commit comments

Comments
 (0)