From 720e387060c3dca32d517524280940a2ceb1f0b3 Mon Sep 17 00:00:00 2001 From: tzhangchi Date: Fri, 23 Dec 2022 11:46:48 +0800 Subject: [PATCH 1/2] feat: add empty in members list page --- .../src/components/workspace-setting/workspace-setting.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/app/src/components/workspace-setting/workspace-setting.tsx b/packages/app/src/components/workspace-setting/workspace-setting.tsx index b26338cbeb..c456caad24 100644 --- a/packages/app/src/components/workspace-setting/workspace-setting.tsx +++ b/packages/app/src/components/workspace-setting/workspace-setting.tsx @@ -47,6 +47,7 @@ import { import { Avatar } from '@mui/material'; import { Menu, MenuItem } from '@/ui/menu'; import { toast } from '@/ui/toast'; +import { Empty } from '@/ui/empty'; import { useAppState } from '@/providers/app-state-provider'; import { WorkspaceDetails } from '../workspace-slider-bar/WorkspaceSelector/SelectorPopperContent'; import { GeneralPage } from './general'; @@ -193,6 +194,9 @@ const MembersPage = ({ workspace }: { workspace: Workspace }) => { Access level + {members.length === 0 && ( + + )} {members.length ? ( members.map(member => { return ( From da724f38ef28460da8e42a09213f49900665490d Mon Sep 17 00:00:00 2001 From: QiShaoXuan Date: Fri, 23 Dec 2022 11:47:32 +0800 Subject: [PATCH 2/2] fix: hell of re-rendering --- packages/app/src/hooks/use-init-workspace.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/app/src/hooks/use-init-workspace.ts b/packages/app/src/hooks/use-init-workspace.ts index a05e9e7d02..df628c1a75 100644 --- a/packages/app/src/hooks/use-init-workspace.ts +++ b/packages/app/src/hooks/use-init-workspace.ts @@ -1,9 +1,12 @@ import { useRouter } from 'next/router'; import { useAppState } from '@/providers/app-state-provider/context'; -import { useEffect, useState } from 'react'; +import { useEffect, useRef, useState } from 'react'; export const useInitWorkspace = (disabled?: boolean) => { const [loading, setLoading] = useState(true); + // Do not set as a constant, or it will trigger a hell of re-rendering + const defaultOutLineWorkspaceId = useRef(new Date().getTime().toString()); + const router = useRouter(); const { workspacesMeta, @@ -14,7 +17,7 @@ export const useInitWorkspace = (disabled?: boolean) => { const workspaceId = (router.query.workspaceId as string) || workspacesMeta?.[0]?.id || - new Date().getTime().toString(); + defaultOutLineWorkspaceId.current; useEffect(() => { if (disabled) {