diff --git a/frontend/src/HomePage/Header.jsx b/frontend/src/HomePage/Header.jsx index dc446c5485..260cbf6588 100644 --- a/frontend/src/HomePage/Header.jsx +++ b/frontend/src/HomePage/Header.jsx @@ -1,4 +1,4 @@ -import React, { useCallback } from 'react' +import React, { useCallback } from 'react'; import { SearchBox } from '@/_components/SearchBox'; import { Button, ButtonGroup, Dropdown } from 'react-bootstrap'; import { debounce } from 'lodash'; @@ -14,9 +14,7 @@ export default function Header({ showTemplateLibraryModal, fileInput, }) { - const debouncedChangeHandler = useCallback( - debounce(onSearchSubmit, 300) - , []); + const debouncedChangeHandler = useCallback(debounce(onSearchSubmit, 300), []); return (
diff --git a/frontend/src/HomePage/TemplateLibraryModal/TemplateDisplay.jsx b/frontend/src/HomePage/TemplateLibraryModal/TemplateDisplay.jsx index 5b1239340f..478d1097e2 100644 --- a/frontend/src/HomePage/TemplateLibraryModal/TemplateDisplay.jsx +++ b/frontend/src/HomePage/TemplateLibraryModal/TemplateDisplay.jsx @@ -1,12 +1,21 @@ -import React from 'react'; +import React, { useEffect, useRef, useState } from 'react'; import { Container, Row, Badge } from 'react-bootstrap'; +import LazyLoad from 'react-lazyload'; import { getSvgIcon } from '@/_helpers/appUtils'; export default function TemplateDisplay(props) { const { id, name, description, sources } = props?.app ?? {}; + const componentRef = useRef(null); + const [isloaded, setLoaded] = useState(false); + + useEffect(() => { + if (componentRef.current) { + setLoaded(true); + } + }, [componentRef]); return ( -
+

{name}

@@ -40,7 +49,14 @@ export default function TemplateDisplay(props) {
- + {isloaded && ( + + + + )}
diff --git a/frontend/src/_components/SearchBox.jsx b/frontend/src/_components/SearchBox.jsx index 2d05a128df..eb624971c6 100644 --- a/frontend/src/_components/SearchBox.jsx +++ b/frontend/src/_components/SearchBox.jsx @@ -7,7 +7,6 @@ export function SearchBox({ onSubmit }) { const handleChange = (e) => { setSearchText(e.target.value); onSubmit(e.target.value); - }; return ( @@ -31,13 +30,7 @@ export function SearchBox({ onSubmit }) { - +
);