fix(electron): fix tab view blink issue on open new tab (#7748)

fix AF-1197
This commit is contained in:
pengx17
2024-08-06 15:57:40 +00:00
parent 744cc542de
commit c2cf331ff7
10 changed files with 105 additions and 84 deletions

View File

@@ -3,13 +3,13 @@ import {
NotFoundPage,
} from '@affine/component/not-found-page';
import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks';
import { apis } from '@affine/electron-api';
import { useLiveData, useService } from '@toeverything/infra';
import type { ReactElement } from 'react';
import { useCallback, useState } from 'react';
import { useCallback, useEffect, useState } from 'react';
import { SignOutModal } from '../components/affine/sign-out-modal';
import { RouteLogic, useNavigateHelper } from '../hooks/use-navigate-helper';
import { AppTabsHeader } from '../modules/app-tabs-header';
import { AuthService } from '../modules/cloud';
import { SignIn } from './sign-in';
@@ -37,15 +37,12 @@ export const PageNotFound = ({
await authService.signOut();
}, [authService]);
useEffect(() => {
apis?.ui.pingAppLayoutReady().catch(console.error);
}, []);
return (
<>
{environment.isDesktop ? (
<AppTabsHeader
style={{
paddingLeft: environment.isMacOs ? 80 : 0,
}}
/>
) : null}
{noPermission ? (
<NoPermissionOrNotFound
user={account}

View File

@@ -1,4 +1,5 @@
import { Menu } from '@affine/component/ui/menu';
import { apis } from '@affine/electron-api';
import { WorkspaceFlavour } from '@affine/env/workspace';
import {
useLiveData,
@@ -22,7 +23,6 @@ import {
import { AppFallback } from '../components/affine/app-container';
import { UserWithWorkspaceList } from '../components/pure/workspace-slider-bar/user-with-workspace-list';
import { useNavigateHelper } from '../hooks/use-navigate-helper';
import { AppTabsHeader } from '../modules/app-tabs-header';
import { AuthService } from '../modules/cloud';
import { WorkspaceSubPath } from '../shared';
@@ -118,6 +118,10 @@ export const Component = () => {
navigating,
]);
useEffect(() => {
apis?.ui.pingAppLayoutReady().catch(console.error);
}, []);
useEffect(() => {
setCreating(true);
createFirstAppData(workspacesService)
@@ -148,13 +152,6 @@ export const Component = () => {
// TODO(@eyhn): We need a no workspace page
return (
<>
{environment.isDesktop ? (
<AppTabsHeader
style={{
paddingLeft: environment.isMacOs ? 80 : 0,
}}
/>
) : null}
<div
style={{
position: 'fixed',