Skip to content

Commit 8450a21

Browse files
committed
Extract loading page and add padding
1 parent bd55f3f commit 8450a21

File tree

5 files changed

+31
-35
lines changed

5 files changed

+31
-35
lines changed

src/klage/klage-loader.tsx

+2-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
import React, { useContext, useEffect, useState } from 'react';
22
import { useParams } from 'react-router-dom';
33
import { AlertStripeFeil } from 'nav-frontend-alertstriper';
4-
import NavFrontendSpinner from 'nav-frontend-spinner';
5-
import { Normaltekst } from 'nav-frontend-typografi';
64
import { getKlage, updateKlage } from '../api/api';
7-
import { CenteredContainer } from '../styled-components/common';
85
import { AppContext } from '../app-context/app-context';
96
import { Klage } from './klage';
107
import klageStore from './klage-store';
8+
import LoadingPage from '../loading-page/loading-page';
119

1210
interface Props {
1311
render: (klage: Klage) => JSX.Element;
@@ -48,12 +46,7 @@ const KlageLoader = (props: Props) => {
4846
}
4947

5048
if (klage === null) {
51-
return (
52-
<CenteredContainer>
53-
<NavFrontendSpinner type={'XL'} />
54-
<Normaltekst>{status}</Normaltekst>
55-
</CenteredContainer>
56-
);
49+
return <LoadingPage>{status}</LoadingPage>;
5750
}
5851

5952
return props.render(klage);

src/loading-page/loading-page.tsx

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import React from 'react';
2+
import styled from 'styled-components/macro';
3+
import NavFrontendSpinner from 'nav-frontend-spinner';
4+
import { Normaltekst } from 'nav-frontend-typografi';
5+
import { CenteredContainer } from '../styled-components/common';
6+
7+
interface Props {
8+
children: string;
9+
}
10+
11+
const LoadingContainer = styled(CenteredContainer)`
12+
padding-top: 64px;
13+
padding-bottom: 64px;
14+
`;
15+
16+
const LoadingPage = ({ children }: Props) => (
17+
<LoadingContainer>
18+
<NavFrontendSpinner type={'XL'} />
19+
<Normaltekst>{children}</Normaltekst>
20+
</LoadingContainer>
21+
);
22+
23+
export default LoadingPage;

src/routes/create-klage.tsx

+2-9
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
import React, { useContext, useEffect, useState } from 'react';
22
import { Redirect, useHistory, useLocation } from 'react-router-dom';
33
import queryString from 'query-string';
4-
import { Normaltekst } from 'nav-frontend-typografi';
5-
import NavFrontendSpinner from 'nav-frontend-spinner';
64
import { AlertStripeFeil } from 'nav-frontend-alertstriper';
7-
import { CenteredContainer } from '../styled-components/common';
85
import { ensureStringIsTema } from '../tema/tema';
96
import { getQueryValue } from '../query/get-query-value';
107
import { createKlage } from '../api/api';
118
import { AppContext } from '../app-context/app-context';
129
import { getTitle } from '../query/get-title';
1310
import { NewKlage } from '../klage/klage';
11+
import LoadingPage from '../loading-page/loading-page';
1412

1513
const CreateKlage = () => {
1614
const { search } = useLocation();
@@ -52,12 +50,7 @@ const CreateKlage = () => {
5250
}
5351

5452
if (klage === null) {
55-
return (
56-
<CenteredContainer>
57-
<NavFrontendSpinner type={'XL'} />
58-
<Normaltekst>Oppretter klage...</Normaltekst>
59-
</CenteredContainer>
60-
);
53+
return <LoadingPage>Oppretter klage...</LoadingPage>;
6154
}
6255

6356
return <Redirect to={`/${klage.id}/begrunnelse`} />;

src/routes/landing-page.tsx

+2-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
import React, { useContext, useEffect, useState } from 'react';
22
import { Redirect } from 'react-router-dom';
33
import queryString from 'query-string';
4-
import NavFrontendSpinner from 'nav-frontend-spinner';
54
import InngangInnsendingDigital from './inngang/inngang-innsendingsvalg-digital';
65
import { getUser } from '../user/get-user';
7-
import { CenteredContainer } from '../styled-components/common';
86
import { TemaKey } from '../tema/tema';
9-
import { Normaltekst } from 'nav-frontend-typografi';
107
import { AppContext } from '../app-context/app-context';
8+
import LoadingPage from '../loading-page/loading-page';
119

1210
const LandingPage = (temaKey: TemaKey, title: string, saksnummer: string | null = null) => {
1311
const { user, setUser } = useContext(AppContext);
@@ -22,12 +20,7 @@ const LandingPage = (temaKey: TemaKey, title: string, saksnummer: string | null
2220
}, [user, setUser]);
2321

2422
if (loading) {
25-
return (
26-
<CenteredContainer>
27-
<NavFrontendSpinner type={'XL'} />
28-
<Normaltekst>Sjekker bruker...</Normaltekst>
29-
</CenteredContainer>
30-
);
23+
return <LoadingPage>Sjekker bruker...</LoadingPage>;
3124
}
3225

3326
if (user === null) {

src/user/user-loader.tsx

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import React, { useContext, useEffect, useState } from 'react';
2-
import NavFrontendSpinner from 'nav-frontend-spinner';
32
import { Normaltekst } from 'nav-frontend-typografi';
43
import { AlertStripeFeil } from 'nav-frontend-alertstriper';
54
import { ensureAuth } from './get-user';
6-
import { CenteredContainer } from '../styled-components/common';
75
import { AppContext } from '../app-context/app-context';
86
import { LoginButton } from '../styled-components/login-button';
97
import { NetworkError } from '../api/errors';
8+
import LoadingPage from '../loading-page/loading-page';
109

1110
interface Props {
1211
children: JSX.Element;
@@ -42,12 +41,7 @@ const UserLoader = (props: Props) => {
4241
}
4342

4443
if (user === null) {
45-
return (
46-
<CenteredContainer>
47-
<NavFrontendSpinner type={'XL'} />
48-
<Normaltekst>Laster bruker...</Normaltekst>
49-
</CenteredContainer>
50-
);
44+
return <LoadingPage>Laster bruker...</LoadingPage>;
5145
}
5246

5347
return props.children;

0 commit comments

Comments
 (0)