Skip to content

Commit

Permalink
feat: setup interactive charts feature flag (#520)
Browse files Browse the repository at this point in the history
  • Loading branch information
8lane authored Oct 4, 2024
1 parent 2b0b931 commit 793b7be
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 0 deletions.
38 changes: 38 additions & 0 deletions src/app/(pages)/switchboard/(pages)/feature-flags/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ export default function SwitchBoard() {
'landing-page-hero': landingPageHero,
'landing-page-content': landingPageContent,
'weather-health-summary-card': weatherHealthSummaryCard,
'interactive-charts': interactiveCharts,
},
} = getSwitchBoardState(cookieStore.get(UKHSA_SWITCHBOARD_COOKIE_NAME)?.value)

Expand All @@ -29,6 +30,7 @@ export default function SwitchBoard() {
'landing-page-hero': form.get('flags.landingPageHero') as string,
'landing-page-content': form.get('flags.landingPageContent') as string,
'weather-health-summary-card': form.get('flags.weatherHealthSummaryCard') as string,
'interactive-charts': form.get('flags.interactiveCharts') as string,
}
)
}}
Expand Down Expand Up @@ -145,6 +147,42 @@ export default function SwitchBoard() {
</label>
</div>
</div>

<div
className="govuk-radios govuk-radios--inline govuk-radios--small govuk-!-margin-top-4"
data-module="govuk-radios"
>
<label className="govuk-label w-full" htmlFor="flags.interactiveCharts.Enabled">
Interactive charts
</label>
<div className="govuk-radios__item">
<input
defaultChecked={interactiveCharts === 'enabled'}
className="govuk-radios__input"
id="flags.interactiveCharts.Enabled"
name="flags.interactiveCharts"
type="radio"
value="enabled"
/>
<label className="govuk-label govuk-radios__label" htmlFor="flags.interactiveCharts.Enabled">
Enabled
</label>
</div>

<div className="govuk-radios__item">
<input
defaultChecked={interactiveCharts === 'disabled'}
className="govuk-radios__input"
id="flags.interactiveCharts.Disabled"
name="flags.interactiveCharts"
type="radio"
value="disabled"
/>
<label className="govuk-label govuk-radios__label" htmlFor="flags.interactiveCharts.Disabled">
Disabled
</label>
</div>
</div>
</fieldset>
<button type="submit" className="govuk-button">
Save changes
Expand Down
1 change: 1 addition & 0 deletions src/app/(pages)/switchboard/shared/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ export const switchBoardSchema = z.object({
'landing-page-hero': z.enum(['enabled', 'disabled']),
'landing-page-content': z.enum(['enabled', 'disabled']),
'weather-health-summary-card': z.enum(['enabled', 'disabled']),
'interactive-charts': z.enum(['enabled', 'disabled']),
}),
})

Expand Down
1 change: 1 addition & 0 deletions src/app/(pages)/switchboard/shared/state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ export const initialState: switchBoardSchemaType = {
'landing-page-hero': 'disabled',
'landing-page-content': 'disabled',
'weather-health-summary-card': 'disabled',
'interactive-charts': 'disabled',
},
}

Expand Down
1 change: 1 addition & 0 deletions src/app/constants/flags.constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ export const flags = {
landingPageHero: 'landing-page-hero',
landingPageContent: 'landing-page-content',
weatherHealthSummaryCard: 'weather-health-summary-card',
interactiveCharts: 'interactive-charts',
}

1 comment on commit 793b7be

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unit tests coverage

Lines Statements Branches Functions
Coverage: 96%
95.07% (1719/1808) 85.9% (390/454) 96.61% (257/266)
Tests Skipped Failures Errors Time
463 0 💤 0 ❌ 0 🔥 15.387s ⏱️

Please sign in to comment.