From 2b9765fb35126161b8ce17d99878aee89389f337 Mon Sep 17 00:00:00 2001 From: Philip Okugbe Date: Mon, 2 Sep 2024 15:51:28 +0100 Subject: [PATCH] lazy load (#237) --- .../client/src/components/ui/emoji-picker.tsx | 35 ++++++++-------- .../components/code-block/code-block-view.tsx | 40 ++++++++++++------- .../components/excalidraw/excalidraw-view.tsx | 29 ++++++++++---- 3 files changed, 65 insertions(+), 39 deletions(-) diff --git a/apps/client/src/components/ui/emoji-picker.tsx b/apps/client/src/components/ui/emoji-picker.tsx index c0fe3c45..c352df69 100644 --- a/apps/client/src/components/ui/emoji-picker.tsx +++ b/apps/client/src/components/ui/emoji-picker.tsx @@ -1,13 +1,14 @@ -import React, { ReactNode } from "react"; -import data from "@emoji-mart/data"; -import Picker from "@emoji-mart/react"; +import React, { ReactNode } from 'react'; import { ActionIcon, Popover, Button, useMantineColorScheme, -} from "@mantine/core"; -import { useDisclosure } from "@mantine/hooks"; +} from '@mantine/core'; +import { useDisclosure } from '@mantine/hooks'; +import { Suspense } from 'react'; + +const Picker = React.lazy(() => import('@emoji-mart/react')); export interface EmojiPickerInterface { onEmojiSelect: (emoji: any) => void; @@ -48,23 +49,25 @@ function EmojiPicker({ {icon} - - + + + (await import('@emoji-mart/data')).default} + onEmojiSelect={handleEmojiSelect} + perLine={8} + skinTonePosition="search" + theme={colorScheme} + /> +
- setExcalidrawAPI(api)} - initialData={{ - ...excalidrawData, - scrollToContent: true, - }} - /> + + setExcalidrawAPI(api)} + initialData={{ + ...excalidrawData, + scrollToContent: true, + }} + /> +