diff --git a/components/Blocks/ImageBlock.tsx b/components/Blocks/ImageBlock.tsx
index 8623be0b..68233afc 100644
--- a/components/Blocks/ImageBlock.tsx
+++ b/components/Blocks/ImageBlock.tsx
@@ -19,7 +19,16 @@ import { set } from "colorjs.io/fn";
import { ImageAltSmall } from "components/Icons/ImageAlt";
import { useLeafletPublicationData } from "components/PageSWRDataProvider";
import { useSubscribe } from "src/replicache/useSubscribe";
-import { ImageCoverImage } from "components/Icons/ImageCoverImage";
+import {
+ ImageCoverImage,
+ ImageCoverImageRemove,
+} from "components/Icons/ImageCoverImage";
+import {
+ ButtonPrimary,
+ ButtonSecondary,
+ ButtonTertiary,
+} from "components/Buttons";
+import { CheckTiny } from "components/Icons/CheckTiny";
export function ImageBlock(props: BlockProps & { preview?: boolean }) {
let { rep } = useReplicache();
@@ -198,32 +207,38 @@ const CoverImageButton = (props: { entityID: string }) => {
);
// Only show if focused, in a publication, has write permissions, and no cover image is set
- if (
- !isFocused ||
- !pubData?.publications ||
- !entity_set.permissions.write ||
- coverImage
- )
+ if (!isFocused || !pubData?.publications || !entity_set.permissions.write)
return null;
-
- return (
-
-
-
+ Remove Cover Image
+
+
+ );
+ return (
+ {
+ e.preventDefault();
+ e.stopPropagation();
+ await rep?.mutate.updatePublicationDraft({
+ cover_image: props.entityID,
+ });
+ }}
+ >
+ Use as Cover Image
+
+
);
};
diff --git a/components/Icons/ImageCoverImage.tsx b/components/Icons/ImageCoverImage.tsx
index e574daa7..1c226c26 100644
--- a/components/Icons/ImageCoverImage.tsx
+++ b/components/Icons/ImageCoverImage.tsx
@@ -1,3 +1,5 @@
+import { Props } from "./Props";
+
export const ImageCoverImage = () => (
);
+
+export const ImageCoverImageRemove = (props: Props) => {
+ return (
+
+ );
+};
diff --git a/components/Toolbar/ImageToolbar.tsx b/components/Toolbar/ImageToolbar.tsx
index 4991047f..e10e0fc0 100644
--- a/components/Toolbar/ImageToolbar.tsx
+++ b/components/Toolbar/ImageToolbar.tsx
@@ -6,7 +6,10 @@ import { Props } from "components/Icons/Props";
import { ImageAltSmall, ImageRemoveAltSmall } from "components/Icons/ImageAlt";
import { useLeafletPublicationData } from "components/PageSWRDataProvider";
import { useSubscribe } from "src/replicache/useSubscribe";
-import { ImageCoverImage } from "components/Icons/ImageCoverImage";
+import {
+ ImageCoverImage,
+ ImageCoverImageRemove,
+} from "components/Icons/ImageCoverImage";
import { Separator } from "components/Layout";
import { TextAlignmentButton } from "./TextAlignmentToolbar";
@@ -134,10 +137,10 @@ export const ImageCoverButton = () => {
}
}}
tooltipContent={
- {isCoverImage ? "Remove Cover Image" : "Set as Cover Image"}
+ {isCoverImage ? "Remove Cover Image" : "Use as Cover Image"}
}
>
-
+ {isCoverImage ? : }
);
};