Skip to content

Commit 1d098a4

Browse files
Merge pull request #8 from navikt/dev
Merger endringer for informasjon side til pilot fra dev til master
2 parents 31e5fbe + 2825d81 commit 1d098a4

File tree

12 files changed

+119
-14
lines changed

12 files changed

+119
-14
lines changed

src/app.tsx

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,33 @@ import StoreProvider from './stores/store-provider';
33
import { Header } from './components/header/header';
44
import { InternflateDecorator } from './components/internflate-decorator/internflate-decorator';
55
import { Hovedside } from './hovedside/hovedside';
6-
import { SokSync } from './components/sok-sync';
6+
import { DataFetcher } from './components/datafetcher';
7+
import { useDataFetcherStore } from './stores/data-fetcher-store';
8+
import { PTO_VEDTAKSSTOTTE_PILOT } from './rest/feature';
9+
import { PrelanseringInfoSide } from './prelansering-side/prelansering-side';
710

811
function App() {
912
return (
1013
<StoreProvider>
1114
<InternflateDecorator />
15+
<DataFetcher>
16+
<Innhold />
17+
</DataFetcher>
18+
</StoreProvider>
19+
);
20+
}
21+
22+
function Innhold() {
23+
const { featuresFetcher } = useDataFetcherStore();
24+
const erPilotTogglePa = featuresFetcher.data[PTO_VEDTAKSSTOTTE_PILOT];
25+
26+
return !erPilotTogglePa ? (
27+
<PrelanseringInfoSide />
28+
) : (
29+
<>
1230
<Header />
1331
<Hovedside />
14-
<SokSync />
15-
</StoreProvider>
32+
</>
1633
);
1734
}
1835

src/components/datafetcher.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { AlertStripeFeil } from 'nav-frontend-alertstriper';
55
import Spinner from './felles/spinner/spinner';
66

77
export function DataFetcher(props: { children: any }) {
8-
const { innloggetVeilederFetcher, aktivEnhetFetcher } = useDataFetcherStore();
8+
const { innloggetVeilederFetcher, aktivEnhetFetcher, featuresFetcher } = useDataFetcherStore();
99

1010
useEffect(() => {
1111
if (isNotStarted(innloggetVeilederFetcher)) {
@@ -15,13 +15,17 @@ export function DataFetcher(props: { children: any }) {
1515
if (isNotStarted(aktivEnhetFetcher)) {
1616
aktivEnhetFetcher.fetch(null);
1717
}
18+
19+
if (isNotStarted(featuresFetcher)) {
20+
featuresFetcher.fetch(null);
21+
}
1822
// eslint-disable-next-line react-hooks/exhaustive-deps
19-
}, [innloggetVeilederFetcher]);
23+
}, [innloggetVeilederFetcher, aktivEnhetFetcher, featuresFetcher]);
2024

2125
// Trenger ikke å sjekke om aktivEnhetFetcher er ferdig
22-
if (isAnyNotStartedOrPending([innloggetVeilederFetcher])) {
26+
if (isAnyNotStartedOrPending([innloggetVeilederFetcher, aktivEnhetFetcher, featuresFetcher])) {
2327
return <Spinner />;
24-
} else if (hasAnyFailed([innloggetVeilederFetcher])) {
28+
} else if (hasAnyFailed([innloggetVeilederFetcher, aktivEnhetFetcher, featuresFetcher])) {
2529
return (
2630
<AlertStripeFeil className="vedtaksstotte-alert">
2731
Det oppnås for tiden ikke kontakt med alle baksystemer.

src/hovedside/hovedside.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import React from 'react';
2-
import { DataFetcher } from '../components/datafetcher';
32
import { UserTable } from '../components/user-table/user-table';
43
import { Filters } from '../components/filters/filters';
54
import { PaginationBar } from '../components/pagination-bar/pagination-bar';
@@ -8,14 +7,12 @@ import './hovedside.less';
87
export const Hovedside = () => {
98
return (
109
<main className="hovedside">
11-
<DataFetcher>
1210
<Filters />
1311
{/*<FilterEtiketter/>*/}
1412
<div className="hovedside__table">
1513
<PaginationBar />
1614
<UserTable />
1715
</div>
18-
</DataFetcher>
1916
</main>
2017
);
2118
};

src/mock/data/features.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { JSONObject } from 'yet-another-fetch-mock';
2+
import { Features, PTO_VEDTAKSSTOTTE_PILOT } from '../../rest/feature';
3+
4+
const features: Features & JSONObject = {
5+
[PTO_VEDTAKSSTOTTE_PILOT]: true,
6+
};
7+
8+
export default features;

src/mock/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { mockBeslutteroversiktSok } from './sok-mock';
33
import { MODIACONTEXTHOLDER_API, VEILARBVEILEDER_API } from '../rest/api';
44
import { innloggetVeileder } from './data/innlogget-veileder';
55
import { aktivEnhet } from './data/aktiv-enhet';
6+
import features from './data/features';
67

78
export interface Mock {
89
url: string;
@@ -16,4 +17,5 @@ const fetchMock = FetchMock.configure({
1617

1718
fetchMock.post(mockBeslutteroversiktSok.url, mockBeslutteroversiktSok.handler);
1819
fetchMock.get(`${VEILARBVEILEDER_API}/veileder/v2/me`, innloggetVeileder as any);
19-
fetchMock.get(`${MODIACONTEXTHOLDER_API}/context/aktivenhet`, aktivEnhet as any);
20+
fetchMock.get(`${MODIACONTEXTHOLDER_API}/context/aktivenhet`, aktivEnhet as any);
21+
fetchMock.get('/veilarbpersonflatefs/api/feature', features);
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
@import "~nav-frontend-core/less/_variabler";
2+
3+
.prelansering-inneholder {
4+
padding: 2rem 1rem;
5+
display: flex;
6+
justify-content: center;
7+
background-color: @navLysBlaLighten60;
8+
}
9+
10+
@media (min-width: @screen-md-min) {
11+
.prelansering-inneholder {
12+
.wrapper {
13+
display: flex;
14+
justify-content: center;
15+
}
16+
17+
.wrapper-inneholdt {
18+
padding: 2rem 1rem 1rem 1rem;
19+
margin-bottom: 0;
20+
width: 27rem;
21+
}
22+
23+
.info-tekst{
24+
padding-top: 2rem;
25+
}
26+
27+
.pcBilde{
28+
height: 19rem;
29+
}
30+
}
31+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import React from 'react';
2+
import pcBilde from './prelansering_info_pc.svg';
3+
import { Normaltekst, Systemtittel } from 'nav-frontend-typografi';
4+
import './prelansering-side.less';
5+
6+
export const PrelanseringInfoSide = () => {
7+
8+
return(
9+
<div className="prelansering-inneholder">
10+
<div className="wrapper">
11+
<div className="wrapper-inneholdt">
12+
<Systemtittel>Ny oversikt for besluttere som kvalitetssikrer arbeidsevnevurderinger</Systemtittel>
13+
<Normaltekst className="info-tekst">I beslutteroversikten får du oversikt over alle enhetene du er beslutter for.
14+
Der får du også oversikt over status på arbeidsevnevurderingene du er beslutter for.
15+
</Normaltekst>
16+
<Normaltekst className="info-tekst">Når kommer den?<br/>
17+
Beslutteroversikten lanseres sammen med ny løsning for § 14a-vedtak i Modia.
18+
</Normaltekst>
19+
</div>
20+
<div className="wrapper-inneholdt">
21+
<img src={pcBilde} className="pcBilde" alt="Beslutteroversikt bilde"/>
22+
</div>
23+
</div>
24+
</div>
25+
);
26+
};

src/prelansering-side/prelansering_info_pc.svg

Lines changed: 1 addition & 0 deletions
Loading

src/rest/api.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import { FetchInfo } from './utils';
22
import { OrNothing } from '../utils/types/ornothing';
33
import { UtkastStatus } from './data/bruker';
4+
import { TOGGLES } from './feature';
45

56
export const VEILARBVEDTAKSSTOTTE_API = '/veilarbvedtaksstotte/api';
67
export const VEILARBVEILEDER_API = '/veilarbveileder/api';
78
export const MODIACONTEXTHOLDER_API = '/modiacontextholder/api';
9+
export const FEATURE_TOGGLE_URL = '/veilarbpersonflatefs/api/feature';
810

911
export interface BeslutteroversiktSok {
1012
fra: number;
@@ -38,6 +40,11 @@ export enum OrderByDirection {
3840
ASC, DESC
3941
}
4042

43+
export const lagHentFeaturesFetchInfo = (): FetchInfo => {
44+
const toggles = TOGGLES.map(element => 'feature=' + element).join('&');
45+
return { url: `${FEATURE_TOGGLE_URL}/?${toggles}` };
46+
};
47+
4148
export const lagHentBrukereFetchInfo = (params: { sok: BeslutteroversiktSok }): FetchInfo => ({
4249
url: `${VEILARBVEDTAKSSTOTTE_API}/beslutteroversikt/sok`,
4350
method: 'POST',

src/rest/feature.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export const PTO_VEDTAKSSTOTTE_PILOT = 'pto.vedtaksstotte.pilot';
2+
3+
export const TOGGLES = [
4+
PTO_VEDTAKSSTOTTE_PILOT,
5+
];
6+
7+
export interface Features {
8+
[PTO_VEDTAKSSTOTTE_PILOT]: boolean;
9+
}

0 commit comments

Comments
 (0)