Skip to content

Commit e1d5959

Browse files
committed
la til skjemanummer inni lenkepanelene i mellomsteg for skjema
1 parent a43d869 commit e1d5959

File tree

8 files changed

+74
-85
lines changed

8 files changed

+74
-85
lines changed

packages/nextjs/src/components/_common/formIntermediateStepLink/FormIntermediateStepLink.tsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ import { LenkeBase } from 'components/_common/lenke/lenkeBase/LenkeBase';
44
import { FormIntermediateStep_StepLinkData } from 'components/pages/form-intermediate-step-page/useFormIntermediateStepPage';
55
import { EditorHelp } from 'components/_editor-only/editor-help/EditorHelp';
66
import { LanguageDisclaimer } from 'components/_common/languageDisclaimer/LanguageDisclaimer';
7+
import FormNumberTag from 'components/_common/formNumberTag/FormNumberTag';
78

89
type Props = FormIntermediateStep_StepLinkData &
9-
Omit<React.ComponentProps<typeof LenkeBase>, 'children' | 'href'>;
10+
Omit<React.ComponentProps<typeof LenkeBase>, 'children' | 'href'> & {
11+
formNumberStepData?: string;
12+
};
1013

1114
export const FormIntermediateStepLink = ({
1215
label,
@@ -16,6 +19,7 @@ export const FormIntermediateStepLink = ({
1619
isStepNavigation,
1720
// eslint-disable-next-line @typescript-eslint/no-unused-vars
1821
nextStep,
22+
formNumberStepData,
1923
...rest
2024
}: Props) => {
2125
if (!href) {
@@ -25,6 +29,7 @@ export const FormIntermediateStepLink = ({
2529
return (
2630
<LinkPanel {...rest} as={LenkeBase} href={href} shallow={isStepNavigation}>
2731
<LinkPanel.Title>{label}</LinkPanel.Title>
32+
{formNumberStepData && <FormNumberTag formNumber={formNumberStepData} />}
2833
<LinkPanel.Description>{explanation}</LinkPanel.Description>
2934
{languageDisclaimer && <LanguageDisclaimer>{languageDisclaimer}</LanguageDisclaimer>}
3035
</LinkPanel>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.formNumberTag {
2+
background-color: var(--a-surface-neutral-subtle);
3+
border-radius: 2px;
4+
padding: 3px 6px;
5+
color: var(--a-gray-700);
6+
width: fit-content;
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import style from './FormNumberTag.module.scss';
2+
3+
interface Props {
4+
formNumber: string;
5+
}
6+
7+
export const FormNumberTag = ({ formNumber }: Props) => {
8+
return <div className={style.formNumberTag}>{formNumber}</div>;
9+
};
10+
11+
export default FormNumberTag;

packages/nextjs/src/components/_common/headers/headerWithParent/HeaderWithParent.module.scss

+1-7
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,13 @@
1616
line-height: 52px;
1717
}
1818

19-
.skjemanummerListe {
19+
.formNumberListe {
2020
display: flex;
2121
list-style: none;
2222
padding: 0;
2323
align-items: center;
2424
gap: 5px;
2525
margin: 0;
2626
flex-wrap: wrap;
27-
28-
.skjemanummer {
29-
background-color: var(--a-surface-neutral-subtle);
30-
border-radius: 2px;
31-
padding: 3px 6px;
32-
}
3327
}
3428
}

packages/nextjs/src/components/_common/headers/headerWithParent/HeaderWithParent.tsx

+3-5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { BodyShort, Heading } from '@navikt/ds-react';
22
import { ProductDataMixin } from 'types/component-props/_mixins';
33
import { ContentProps } from 'types/content-props/_content-common';
44
import { classNames } from 'utils/classnames';
5+
import FormNumberTag from 'components/_common/formNumberTag/FormNumberTag';
56
import style from './HeaderWithParent.module.scss';
67

78
type Props = {
@@ -19,7 +20,6 @@ export const HeaderWithParent = ({
1920
className,
2021
formNumbers,
2122
}: Props) => {
22-
2323
const { data } = contentProps;
2424
return (
2525
<div className={classNames(style.headerContainer, className)}>
@@ -30,11 +30,9 @@ export const HeaderWithParent = ({
3030
{data.title}
3131
</Heading>
3232
{formNumbers && (
33-
<ul className={style.skjemanummerListe}>
33+
<ul className={style.formNumberListe}>
3434
{formNumbers.map((nummer, index) => (
35-
<li key={index} className={style.skjemanummer}>
36-
{nummer}
37-
</li>
35+
<FormNumberTag key={index} formNumber={nummer} />
3836
))}
3937
</ul>
4038
)}

packages/nextjs/src/components/pages/form-intermediate-step-page/FormIntermediateStepPage.module.scss

+9-35
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
@use 'common' as common;
2-
3-
$padding: 2rem;
4-
51
.formIntermediateStepPage {
62
padding-bottom: 1rem;
73
column-gap: 1.75rem;
@@ -43,44 +39,22 @@ $padding: 2rem;
4339
.content {
4440
grid-area: content;
4541
margin-top: 2rem;
46-
display: flex;
47-
flex-direction: column;
48-
justify-content: flex-start;
49-
align-self: center;
50-
width: 100%;
51-
max-width: common.$contentMaxWidth;
5242

5343
& > * {
5444
width: 100%;
5545
}
5646

57-
.stepOptionsWrapper {
58-
display: flex;
59-
flex-direction: column;
60-
align-items: flex-start;
61-
max-width: common.$sectionMaxWidth;
62-
63-
.stepList {
64-
list-style-type: none;
65-
margin: 0;
66-
padding: 0;
47+
.stepList {
48+
list-style-type: none;
49+
margin: 0;
50+
padding: 0;
6751

68-
.stepItem {
69-
margin-bottom: var(--a-spacing-7);
52+
.stepItem {
53+
margin-bottom: var(--a-spacing-7);
7054

71-
.stepAction {
72-
&:global(.navds-link-panel) {
73-
border-color: var(--default-action-color);
74-
}
75-
& :global {
76-
.navds-link-panel__title,
77-
.navds-link-panel__chevron {
78-
color: var(--default-action-color);
79-
}
80-
}
81-
@media #{common.$mq-screen-mobile} {
82-
padding: 0.75rem;
83-
}
55+
.stepAction {
56+
&:global(.navds-link-panel) {
57+
border-color: var(--default-action-color);
8458
}
8559
}
8660
}

packages/nextjs/src/components/pages/form-intermediate-step-page/FormIntermediateStepPage.tsx

+36-37
Original file line numberDiff line numberDiff line change
@@ -43,45 +43,44 @@ export const FormIntermediateStepPage = (props: FormIntermediateStepPageProps) =
4343
formNumbers={formNumbers}
4444
/>
4545
<div className={style.content}>
46-
<div className={style.stepOptionsWrapper}>
47-
<ParsedHtml htmlProps={currentStepData.editorial} />
48-
{previousStepTitle && <div>Forrige steg: {previousStepTitle}</div>}
49-
{currentStepData.stepsHeadline && (
50-
<Heading level={'2'} size={'medium'} spacing>
51-
{currentStepData.stepsHeadline}
52-
</Heading>
53-
)}
54-
<ul className={style.stepList}>
55-
{currentStepData.steps.map((step) => (
56-
<li key={step.label} className={style.stepItem}>
57-
<FormIntermediateStepLink
58-
{...step}
59-
className={style.stepAction}
60-
analyticsComponent={'mellomsteg'}
61-
analyticsLinkGroup={currentStepData.stepsHeadline}
62-
analyticsLabel={step.label}
63-
/>
64-
</li>
65-
))}
66-
</ul>
67-
</div>
68-
{backUrl && (
69-
<div className={style.buttonGroup}>
70-
<Button
71-
href={backUrl}
72-
shallow={true}
73-
as={LenkeBase}
74-
variant={'tertiary'}
75-
className={style.backButton}
76-
analyticsComponent={'mellomsteg'}
77-
analyticsLinkGroup={currentStepData.stepsHeadline}
78-
analyticsLabel={'Tilbake'}
79-
>
80-
{getTranslations('back')}
81-
</Button>
82-
</div>
46+
<ParsedHtml htmlProps={currentStepData.editorial} />
47+
{previousStepTitle && <div>Forrige steg: {previousStepTitle}</div>}
48+
{currentStepData.stepsHeadline && (
49+
<Heading level={'2'} size={'medium'} spacing>
50+
{currentStepData.stepsHeadline}
51+
</Heading>
8352
)}
53+
<ul className={style.stepList}>
54+
{currentStepData.steps.map((step) => (
55+
<li key={step.label} className={style.stepItem}>
56+
<FormIntermediateStepLink
57+
{...step}
58+
className={style.stepAction}
59+
analyticsComponent={'mellomsteg'}
60+
analyticsLinkGroup={currentStepData.stepsHeadline}
61+
analyticsLabel={step.label}
62+
formNumberStepData={step.formNumberStepData}
63+
/>
64+
</li>
65+
))}
66+
</ul>
8467
</div>
68+
{backUrl && (
69+
<div className={style.buttonGroup}>
70+
<Button
71+
href={backUrl}
72+
shallow={true}
73+
as={LenkeBase}
74+
variant={'tertiary'}
75+
className={style.backButton}
76+
analyticsComponent={'mellomsteg'}
77+
analyticsLinkGroup={currentStepData.stepsHeadline}
78+
analyticsLabel={'Tilbake'}
79+
>
80+
{getTranslations('back')}
81+
</Button>
82+
</div>
83+
)}
8584
</div>
8685
);
8786
};

packages/nextjs/src/types/content-props/form-intermediate-step.ts

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export type StepOptions = {
1212
};
1313

1414
export type SelectableStep = {
15+
formNumberStepData: string | undefined;
1516
label: string;
1617
explanation: string;
1718
languageDisclaimer?: string;

0 commit comments

Comments
 (0)