Skip to content

Commit

Permalink
perf: persistent layout
Browse files Browse the repository at this point in the history
  • Loading branch information
Rupert Redington committed Dec 7, 2021
1 parent 75fc146 commit 451526a
Show file tree
Hide file tree
Showing 15 changed files with 181 additions and 239 deletions.
7 changes: 2 additions & 5 deletions src/components/Login.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
import React from 'react';
import Head from 'next/head';
import { useRouter } from 'next/router';
import styled from '@emotion/styled';

import PageLayout from './PageLayout';
import Container from './Container';
import Button from './Button';
import Text from './Text';
Expand All @@ -23,7 +20,7 @@ const ListItem = (props: BoxProps) => (
const LoginPage = (props) => {
const router = useRouter();
return (
<PageLayout layoutMode="blog">
<Box my={5}>
<Head>
<title>{config.getTitle('Contributing')}</title>
</Head>
Expand Down Expand Up @@ -92,7 +89,7 @@ const LoginPage = (props) => {
.
</p>
</Container>
</PageLayout>
</Box>
);
};

Expand Down
69 changes: 0 additions & 69 deletions src/components/PageLayout.tsx

This file was deleted.

37 changes: 17 additions & 20 deletions src/components/PageLoading.tsx
Original file line number Diff line number Diff line change
@@ -1,31 +1,28 @@
import React from 'react';

import PageLayout from './PageLayout';
import Box from './Box';
import Spacer from './Spacer';
import Text from './Text';
import Logo from './Logo';

const PageLoading = () => (
<PageLayout>
<Box
role="alert"
aria-live="assertive"
display="flex"
flexDirection="column"
justifyContent="center"
alignItems="center"
height="100%"
width="100%"
p={3}
>
<Logo />
<Spacer mt={3} />
<Text fontSize={20} fontWeight="bold" color="tertiary">
Please wait&hellip;
</Text>
</Box>
</PageLayout>
<Box
role="alert"
aria-live="assertive"
display="flex"
flexDirection="column"
justifyContent="center"
alignItems="center"
height="100%"
width="100%"
p={3}
>
<Logo />
<Spacer mt={3} />
<Text fontSize={20} fontWeight="bold" color="tertiary">
Please wait&hellip;
</Text>
</Box>
);

export default PageLoading;
5 changes: 2 additions & 3 deletions src/pages/404.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import PageLayout from '../components/PageLayout';
import Box from '../components/Box';
import Spacer from '../components/Spacer';
import Text from '../components/Text';
import Button from '../components/Button';

const NotFound = () => (
<PageLayout layoutMode="blog">
<Box my={5}>
<Box
display="flex"
flexDirection="column"
Expand Down Expand Up @@ -34,7 +33,7 @@ const NotFound = () => (
</Button>
</div>
</Box>
</PageLayout>
</Box>
);

export default NotFound;
36 changes: 35 additions & 1 deletion src/pages/_app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ import 'resize-observer-polyfill';
import { UserProvider } from '@auth0/nextjs-auth0';
import { MapStateProvider } from '../components/MapState';
import PlausibleProvider from 'next-plausible';
import { ThemeProvider } from '@emotion/react';
import Box from '../components/Box';
import { MediaContextProvider, Media } from '../components/Media';
import Header from '../components/Header';
import Footer from '../components/Footer';
import globalStyles from '../globalStyles';
import theme from '../theme';

const App = ({ Component, pageProps }) => (
<PlausibleProvider
Expand All @@ -12,7 +19,34 @@ const App = ({ Component, pageProps }) => (
>
<UserProvider>
<MapStateProvider>
<Component {...pageProps} />
<ThemeProvider theme={theme}>
<MediaContextProvider>
{globalStyles}

<Box display="flex" flexDirection="column" height="100%">
<Header>
<Footer />
</Header>

<Box position="relative" display="flex" flexGrow={1}>
<Box
as="main"
flexGrow={1}
// support screen readers in ie11
role="main"
>
<Component {...pageProps} />
</Box>
</Box>

<Box mt="auto">
<Media greaterThan="sm">
<Footer />
</Media>
</Box>
</Box>
</MediaContextProvider>
</ThemeProvider>
</MapStateProvider>
</UserProvider>
</PlausibleProvider>
Expand Down
6 changes: 2 additions & 4 deletions src/pages/about.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import Link from 'next/link';
import Head from 'next/head';
import styled from '@emotion/styled';

import PageLayout from '../components/PageLayout';
import Container from '../components/Container';
import Button from '../components/Button';
import Text, { TextProps } from '../components/Text';
Expand Down Expand Up @@ -31,7 +29,7 @@ const SubHeading = (props: TextProps) => (

const AboutPage = () => {
return (
<PageLayout layoutMode="blog">
<Box my={5}>
<Head>
<title>{config.getTitle('About')}</title>
</Head>
Expand Down Expand Up @@ -145,7 +143,7 @@ const AboutPage = () => {
across the country.
</p>
</Container>
</PageLayout>
</Box>
);
};

Expand Down
8 changes: 3 additions & 5 deletions src/pages/contact.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
import Head from 'next/head';

import PageLayout from '../components/PageLayout';
import Container from '../components/Container';
import Button from '../components/Button';
import Text from '../components/Text';
import Spacer from '../components/Spacer';

import Box from '../components/Box';
import config from '../config';
import { NextPage } from 'next';

const ContactPage = () => {
return (
<PageLayout layoutMode="blog">
<Box my={5}>
<Head>
<title>{config.getTitle('Contact Us')}</title>
</Head>
Expand All @@ -30,7 +28,7 @@ const ContactPage = () => {
.
</p>
</Container>
</PageLayout>
</Box>
);
};

Expand Down
6 changes: 3 additions & 3 deletions src/pages/explorer/voyager.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import dynamic from 'next/dynamic';
import Head from 'next/head';
import PageLayout from '../../components/PageLayout';
import Box from '../../components/Box';
import Container from '../../components/Container';
import config from '../../config';
import 'graphql-voyager/dist/voyager.css';
Expand All @@ -19,7 +19,7 @@ function introspectionProvider(query) {
}

const Voyager = () => (
<PageLayout layoutMode="blog">
<Box my={5}>
<Head>
<title>{config.getTitle('Schema Visualisation')}</title>
</Head>
Expand All @@ -30,7 +30,7 @@ const Voyager = () => (
workerURI={'/voyager.worker.js'}
/>
</Container>
</PageLayout>
</Box>
);

export default Voyager;
5 changes: 2 additions & 3 deletions src/pages/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import Head from 'next/head';
import PageLayout from '../components/PageLayout';
import Box from '../components/Box';
import Sidebar from '../components/Sidebar';
import VisuallyHidden from '../components/VisuallyHidden';
Expand All @@ -16,7 +15,7 @@ const HomePage = () => {
const pageTitle = config.getTitle('Home');

return (
<PageLayout mapCenter={mapState.center}>
<>
<Head>
<title>{pageTitle}</title>
</Head>
Expand Down Expand Up @@ -47,7 +46,7 @@ const HomePage = () => {
controlsOffset={0}
/>
</Box>
</PageLayout>
</>
);
};

Expand Down

0 comments on commit 451526a

Please sign in to comment.