aboutsummaryrefslogtreecommitdiffstats
path: root/webui
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2020-06-26 11:14:31 +0200
committerMichael Muré <batolettre@gmail.com>2020-06-27 23:03:06 +0200
commit07d6c6aa32509a676f9d5b5e3abea1e382374f42 (patch)
tree515ce4e05059de07d201c8eccb907a0b18655f90 /webui
parent2ab6381a94d55fa22b80acdbb18849d6b24951f9 (diff)
downloadgit-bug-07d6c6aa32509a676f9d5b5e3abea1e382374f42.tar.gz
webui: render component's children as a function to avoid uncecessary rendering
Co-authored-by: Quentin Gliech <quentingliech@gmail.com>
Diffstat (limited to 'webui')
-rw-r--r--webui/src/layout/IfLoggedIn.tsx4
-rw-r--r--webui/src/pages/bug/Bug.tsx8
2 files changed, 7 insertions, 5 deletions
diff --git a/webui/src/layout/IfLoggedIn.tsx b/webui/src/layout/IfLoggedIn.tsx
index 8b9058dc..9f4a7576 100644
--- a/webui/src/layout/IfLoggedIn.tsx
+++ b/webui/src/layout/IfLoggedIn.tsx
@@ -2,13 +2,13 @@ import React from 'react';
import { useCurrentIdentityQuery } from './CurrentIdentity.generated';
-type Props = { children: React.ReactNode };
+type Props = { children: () => React.ReactNode };
const IfLoggedIn = ({ children }: Props) => {
const { loading, error, data } = useCurrentIdentityQuery();
if (error || loading || !data?.repository?.userIdentity) return null;
- return <>{children}</>;
+ return <>{children()}</>;
};
export default IfLoggedIn;
diff --git a/webui/src/pages/bug/Bug.tsx b/webui/src/pages/bug/Bug.tsx
index 7057f5a1..34a3aa26 100644
--- a/webui/src/pages/bug/Bug.tsx
+++ b/webui/src/pages/bug/Bug.tsx
@@ -90,9 +90,11 @@ function Bug({ bug }: Props) {
<div className={classes.timeline}>
<TimelineQuery id={bug.id} />
<IfLoggedIn>
- <div className={classes.commentForm}>
- <CommentForm bugId={bug.id} />
- </div>
+ {() => (
+ <div className={classes.commentForm}>
+ <CommentForm bugId={bug.id} />
+ </div>
+ )}
</IfLoggedIn>
</div>
<div className={classes.sidebar}>