diff --git a/components/Blocks/Block.tsx b/components/Blocks/Block.tsx index 94f29c67..67f62860 100644 --- a/components/Blocks/Block.tsx +++ b/components/Blocks/Block.tsx @@ -34,6 +34,9 @@ import { deepEquals } from "src/utils/deepEquals"; import { isTextBlock } from "src/utils/isTextBlock"; import { focusPage } from "src/utils/focusPage"; import { DeleteTiny } from "components/Icons/DeleteTiny"; +import { ArrowDownTiny } from "components/Icons/ArrowDownTiny"; +import { Separator } from "components/Layout"; +import { moveBlockUp, moveBlockDown } from "src/utils/moveBlock"; export type Block = { factID: string; @@ -395,7 +398,9 @@ export const BlockLayout = (props: { }) => { // this is used to wrap non-text blocks in consistent selected styling, spacing, and top level options like delete return ( -
+
{props.children}
- {props.isSelected && } + {props.isSelected && }
); }; -const DeleteBlock = () => { +const NonTextBlockOptions = (props: { isCanvas?: boolean }) => { + let { rep } = useReplicache(); + let entity_set = useEntitySetContext(); + let focusedEntity = useUIState((s) => s.focusedEntity); + + let focusedEntityType = useEntity( + focusedEntity?.entityType === "page" + ? focusedEntity.entityID + : focusedEntity?.parent || null, + "page/type", + ); + + let isMultiselected = useUIState((s) => s.selectedBlocks.length > 1); + + if (isMultiselected) return; + return ( -
- + + + + )} +
diff --git a/components/Blocks/ImageBlock.tsx b/components/Blocks/ImageBlock.tsx index b374de53..e7cb3bab 100644 --- a/components/Blocks/ImageBlock.tsx +++ b/components/Blocks/ImageBlock.tsx @@ -90,10 +90,9 @@ export function ImageBlock(props: BlockProps & { preview?: boolean }) { >