Skip to content

Commit

Permalink
Fix
Browse files Browse the repository at this point in the history
  • Loading branch information
lucasbordeau committed Nov 5, 2024
1 parent 96b2aed commit e936724
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 66 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { useApolloClient } from '@apollo/client';
import { useCreateBlockNote } from '@blocknote/react';
import { isArray, isNonEmptyString } from '@sniptt/guards';
import { ClipboardEvent, useCallback, useMemo } from 'react';
import { useCallback, useMemo } from 'react';
import { useRecoilCallback, useRecoilState } from 'recoil';
import { Key } from 'ts-key-enum';
import { useDebouncedCallback } from 'use-debounce';
Expand All @@ -21,9 +21,6 @@ import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousH
import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys';
import { isNonTextWritingKey } from '@/ui/utilities/hotkey/utils/isNonTextWritingKey';
import { isDefined } from '~/utils/isDefined';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';

import { getFileType } from '../files/utils/getFileType';

import { BLOCK_SCHEMA } from '@/activities/blocks/constants/Schema';
import { useUploadAttachmentFile } from '@/activities/files/hooks/useUploadAttachmentFile';
Expand Down Expand Up @@ -123,10 +120,6 @@ export const RichTextEditor = ({
const { uploadAttachmentFile } = useUploadAttachmentFile();

const handleUploadAttachment = async (file: File) => {
if (isUndefinedOrNull(file)) {
return '';
}

return await uploadAttachmentFile(file, {
id: activityId,
targetObjectNameSingular: activityObjectNameSingular,
Expand All @@ -144,9 +137,7 @@ export const RichTextEditor = ({
}

const imageProps = block.props;
const imageUrl = new URL(`http://localhost:3000/files/${imageProps.url}`);

imageUrl.searchParams.delete('token');
const imageUrl = new URL(imageProps.url);

return {
...block,
Expand Down Expand Up @@ -278,65 +269,19 @@ export const RichTextEditor = ({
}
}, [activity, activityBody]);

const handleEditorBuiltInUploadFile = async (file: File) => {
const { attachementAbsoluteURL } = await handleUploadAttachment(file);

return attachementAbsoluteURL;
};

const editor = useCreateBlockNote({
initialContent: initialBody,
domAttributes: { editor: { class: 'editor' } },
schema: BLOCK_SCHEMA,
uploadFile: handleUploadAttachment,
uploadFile: handleEditorBuiltInUploadFile,
});

const handleImagePaste = async (event: ClipboardEvent) => {
const clipboardItems = event.clipboardData?.items;

if (isDefined(clipboardItems)) {
for (let i = 0; i < clipboardItems.length; i++) {
if (clipboardItems[i].kind === 'file') {
const isImage = clipboardItems[i].type.match('^image/');
const pastedFile = clipboardItems[i].getAsFile();
if (!pastedFile) {
return;
}

const attachmentUrl = await handleUploadAttachment(pastedFile);

if (!attachmentUrl) {
return;
}

if (isDefined(isImage)) {
editor?.insertBlocks(
[
{
type: 'image',
props: {
url: attachmentUrl,
},
},
],
editor?.getTextCursorPosition().block,
'after',
);
} else {
editor?.insertBlocks(
[
{
type: 'file',
props: {
url: attachmentUrl,
fileType: getFileType(pastedFile.name),
name: pastedFile.name,
},
},
],
editor?.getTextCursorPosition().block,
'after',
);
}
}
}
}
};

useScopedHotkeys(
Key.Escape,
() => {
Expand Down Expand Up @@ -421,7 +366,6 @@ export const RichTextEditor = ({
<BlockEditor
onFocus={handleBlockEditorFocus}
onBlur={handlerBlockEditorBlur}
onPaste={handleImagePaste}
onChange={handleEditorChange}
editor={editor}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi
import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord';
import { isNonEmptyString } from '@sniptt/guards';
import { FileFolder, useUploadFileMutation } from '~/generated/graphql';
import { getFileAbsoluteURI } from '~/utils/file/getFileAbsoluteURI';

// Note: This is probably not the right way to do this.
export const computePathWithoutToken = (attachmentPath: string): string => {
Expand Down Expand Up @@ -57,7 +58,9 @@ export const useUploadAttachmentFile = () => {

await createOneAttachment(attachmentToCreate);

return attachmentPath;
const attachementAbsoluteURL = getFileAbsoluteURI(attachmentPath);

return { attachementAbsoluteURL };
};

return { uploadAttachmentFile };
Expand Down

0 comments on commit e936724

Please sign in to comment.