Files
AFFiNE-Mirror/packages/app/src/pages/_app.tsx
T
zuomeng wang 5870a6097a Feat/cloud integration (#569)
* 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>
2022-12-19 02:50:22 +00:00

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;