mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-16 17:46:18 +08:00
5870a6097a
* Chore/unit test (#538) * chore: add unit test * chore: add github action for unit test * feat: init firebase * chore: add development secrets * fix: rename auth -> data-services * feat: update blocksuite 0.3.0-alpha.4 (#543) * feat: add requests * feat: optimize swr cache * feat: add Authorization * feat: add confirm-invitation page * feat: add account sdk api and proxy * docs: update contributing (#550) * docs: update contributing * Update CONTRIBUTING.md * Update CONTRIBUTING.md Co-authored-by: ShortCipher5 <me@shortcipher.me> * feat: update api * feat: remove babelrc setting * feat: add create workspace ui * feat: choose workspaces * feat: login modal * feat: authorization api * feat: login status * fix: remove unused variables * feat: login button * fix: lint * fix: workspace id * fix: i18n type error Co-authored-by: MingLiang Wang <mingliangwang0o0@gmail.com> Co-authored-by: ShortCipher5 <me@shortcipher.me>
71 lines
2.0 KiB
TypeScript
71 lines
2.0 KiB
TypeScript
import type { AppProps } from 'next/app';
|
|
import dynamic from 'next/dynamic';
|
|
import '../../public/globals.css';
|
|
import '../../public/variable.css';
|
|
import './temporary.css';
|
|
import { EditorProvider } from '@/providers/editor-provider';
|
|
import { ModalProvider } from '@/providers/global-modal-provider';
|
|
import { AppStateProvider } from '@/providers/app-state-provider';
|
|
import { Logger } from '@toeverything/pathfinder-logger';
|
|
import { WorkSpaceSliderBar } from '@/components/workspace-slider-bar';
|
|
import '@fontsource/space-mono';
|
|
import '@fontsource/poppins';
|
|
import '../utils/print-build-info';
|
|
import { styled } from '@/styles';
|
|
import ProviderComposer from '@/components/provider-composer';
|
|
import ConfirmProvider from '@/providers/confirm-provider';
|
|
import HelpIsland from '@/components/help-island';
|
|
import { useRouter } from 'next/router';
|
|
|
|
const ThemeProvider = dynamic(() => import('@/providers/themeProvider'), {
|
|
ssr: false,
|
|
});
|
|
|
|
const StyledPage = styled('div')(({ theme }) => {
|
|
return {
|
|
height: '100vh',
|
|
backgroundColor: theme.colors.pageBackground,
|
|
transition: 'background-color .5s',
|
|
display: 'flex',
|
|
flexGrow: '1',
|
|
};
|
|
});
|
|
|
|
const StyledWrapper = styled('div')(({ theme }) => {
|
|
return {
|
|
flexGrow: 1,
|
|
position: 'relative',
|
|
};
|
|
});
|
|
|
|
function MyApp({ Component, pageProps }: AppProps) {
|
|
const router = useRouter();
|
|
|
|
return (
|
|
<>
|
|
<Logger />
|
|
<ProviderComposer
|
|
contexts={[
|
|
<EditorProvider key="EditorProvider" />,
|
|
<ThemeProvider key="ThemeProvider" />,
|
|
<ModalProvider key="ModalProvider" />,
|
|
<ConfirmProvider key="ConfirmProvider" />,
|
|
<AppStateProvider key="appStateProvider" />,
|
|
]}
|
|
>
|
|
<StyledPage>
|
|
<WorkSpaceSliderBar />
|
|
<StyledWrapper>
|
|
<Component {...pageProps} />
|
|
<HelpIsland
|
|
showList={router.pathname !== '/' ? ['contact'] : undefined}
|
|
/>
|
|
</StyledWrapper>
|
|
</StyledPage>
|
|
</ProviderComposer>
|
|
</>
|
|
);
|
|
}
|
|
|
|
export default MyApp;
|