@@ -4,27 +4,19 @@ import OppsummeringSkjemaPage from '../pages/oppsummering-skjema-page/oppsummeri
4
4
import DummyRedirectPage from '../pages/dummy-redirect/dummy-redirect-page' ;
5
5
import KvitteringPage from '../pages/kvittering/kvittering-page' ;
6
6
import NotFoundPage from '../pages/not-found/not-found-page' ;
7
- import { JSXElementConstructor } from 'react' ;
8
7
import KlageEllerAnkeYtelse from '../components/klage-eller-anke/klage-eller-anke-ytelse' ;
9
8
import KlageEllerAnkeTema from '../components/klage-eller-anke/klage-eller-anke-tema' ;
10
9
import KlageEllerAnkeInnsending from '../components/klage-eller-anke/klage-eller-anke-innsending' ;
10
+ import RootOnlyTema from '../pages/root-only-tema/root-only-tema' ;
11
+ import { TEMA_KEYS } from '../types/tema' ;
12
+ import { RouteProps } from 'react-router' ;
13
+ import { KLAGE_ELLER_ANKE_TEMAER } from '../data/klage-eller-anke-temaer' ;
11
14
12
- export type RouteType = {
15
+ export interface FormStep extends RouteProps {
13
16
step ?: number ;
14
- path : string ;
15
- component : JSXElementConstructor < any > ;
16
- redirect ?: string ;
17
- exact : boolean ;
18
- } ;
19
-
20
- export type FormStep = {
21
- step ?: number ;
22
- path : string ;
23
- component : JSXElementConstructor < any > ;
24
17
label : string ;
25
18
redirect ?: string ;
26
- exact : boolean ;
27
- } ;
19
+ }
28
20
29
21
export const formSteps : FormStep [ ] = [
30
22
{
@@ -43,12 +35,7 @@ export const formSteps: FormStep[] = [
43
35
}
44
36
] ;
45
37
46
- export const routesPages : RouteType [ ] = [
47
- {
48
- path : `/` ,
49
- component : KlageEllerAnkeTema ,
50
- exact : true
51
- } ,
38
+ export const routesPages : RouteProps [ ] = [
52
39
{
53
40
path : `/redirect` ,
54
41
component : DummyRedirectPage ,
@@ -70,13 +57,30 @@ export const routesPages: RouteType[] = [
70
57
exact : true
71
58
} ,
72
59
{
73
- path : `/:kategori ` ,
74
- component : KlageEllerAnkeYtelse ,
60
+ path : `/klage-anke ` ,
61
+ component : KlageEllerAnkeTema ,
75
62
exact : true
76
63
} ,
64
+ ...TEMA_KEYS . map < RouteProps > ( temaKey => ( {
65
+ path : `/klage-anke/${ temaKey } ` ,
66
+ render : ( ) => KlageEllerAnkeInnsending ( temaKey ) ,
67
+ exact : true
68
+ } ) ) ,
69
+ ...KLAGE_ELLER_ANKE_TEMAER . map < RouteProps > ( kategori => ( {
70
+ path : `/klage-anke/${ kategori . path } ` ,
71
+ render : ( ) => KlageEllerAnkeYtelse ( kategori ) ,
72
+ exact : true
73
+ } ) ) ,
74
+ ...KLAGE_ELLER_ANKE_TEMAER . flatMap < RouteProps > ( kategori =>
75
+ kategori . underkategorier . map < RouteProps > ( tema => ( {
76
+ path : `/klage-anke/${ kategori . path } /${ tema . tema } ` ,
77
+ render : ( ) => KlageEllerAnkeInnsending ( tema . tema ) ,
78
+ exact : true
79
+ } ) )
80
+ ) ,
77
81
{
78
- path : `/:kategori/:tema ` ,
79
- component : KlageEllerAnkeInnsending ,
82
+ path : `/` ,
83
+ component : RootOnlyTema ,
80
84
exact : true
81
85
} ,
82
86
{
0 commit comments