fix: drop upload fixed

This commit is contained in:
Palanikannan M
2024-09-16 12:51:41 +05:30
parent 8b9418d8fa
commit e297f7f98f
5 changed files with 15 additions and 9 deletions

View File

@@ -53,10 +53,15 @@ export const CustomImageNode = (props: CustomImageNodeViewProps) => {
const uploadFile = useCallback(
async (file: File) => {
try {
const result = await editor.commands.uploadImage(file)();
if (result) {
onUpload(result);
// @ts-expect-error - TODO: fix typings, and don't remove await from
// here for now
const url: string = await editor?.commands.uploadImage(file);
console.log("url drop", url);
if (!url) {
throw new Error("Something went wrong while uploading the image");
}
onUpload(url);
} catch (error) {
console.error("Error uploading file:", error);
// Handle error state here if needed

View File

@@ -29,7 +29,7 @@ export type UploadEntity = ({ event: "insert" } | { event: "drop"; file: File })
export const CustomImageExtension = (props: TFileHandler) => {
const { upload, delete: deleteImage, restore: restoreImage } = props;
return Image.extend<{}, UploadImageExtensionStorage>({
return Image.extend<Record<string, unknown>, UploadImageExtensionStorage>({
name: "imageComponent",
selectable: true,
group: "block",

View File

@@ -5,7 +5,7 @@ import { ReactNodeViewRenderer } from "@tiptap/react";
import { CustomImageNode, UploadImageExtensionStorage } from "@/extensions/custom-image";
export const CustomReadOnlyImageExtension = () =>
Image.extend<{}, UploadImageExtensionStorage>({
Image.extend<Record<string, unknown>, UploadImageExtensionStorage>({
name: "imageComponent",
selectable: false,
group: "block",

View File

@@ -5,7 +5,7 @@ import { Image } from "@tiptap/extension-image";
import { CustomImageNode, UploadImageExtensionStorage } from "@/extensions";
export const CustomImageComponentWithoutProps = () =>
Image.extend<{}, UploadImageExtensionStorage>({
Image.extend<Record<string, unknown>, UploadImageExtensionStorage>({
name: "imageComponent",
selectable: true,
group: "block",

View File

@@ -9,7 +9,10 @@ export const useUploader = ({ onUpload, editor }: { onUpload: (url: string) => v
async (file: File) => {
setLoading(true);
try {
const url = await editor?.commands.uploadImage(file);
// @ts-expect-error - TODO: fix typings, and don't remove await from
// here for now
const url: string = await editor?.commands.uploadImage(file);
console.log("url upload", url);
if (!url) {
throw new Error("Something went wrong while uploading the image");
@@ -41,7 +44,6 @@ export const useFileUpload = () => {
export const useDropZone = ({ uploader }: { uploader: (file: File) => void }) => {
const [isDragging, setIsDragging] = useState<boolean>(false);
const [draggedInside, setDraggedInside] = useState<boolean>(false);
const [errorMessage, setErrorMessage] = useState<string | null>(null);
useEffect(() => {
const dragStartHandler = () => {
@@ -64,7 +66,6 @@ export const useDropZone = ({ uploader }: { uploader: (file: File) => void }) =>
const onDrop = useCallback(
(e: DragEvent<HTMLDivElement>) => {
setDraggedInside(false);
setErrorMessage(null);
if (e.dataTransfer.files.length === 0) {
return;
}