{"version":3,"file":"salttest.Bpi6v7f2.js","sources":["../../../src/salttest/store/actions/actionTypes.tsx","../../../src/salttest/store/actions/actionCreators.tsx","../../../src/salttest/components/button/index.tsx","../../../src/salttest/components/footer-component/index.tsx","../../../src/salttest/components/wrapper/index.tsx","../../../src/salttest/components/intro-component/index.tsx","../../../src/salttest/components/results-component/index.tsx","../../../src/salttest/components/point-component/index.tsx","../../../src/salttest/components/step-component/index.tsx","../../../src/salttest/containers/main-container/index.tsx","../../../src/salttest/store/reducers/globalReducer.tsx","../../../src/salttest/index.tsx"],"sourcesContent":["export interface SimpleActionCreatorType {\n type: string;\n data: Points;\n}\n\ninterface Points {\n point: number;\n questionPath: string;\n}\n\nexport const SAVE_SCORE = 'SAVE_SCORE';\nexport const RESET_SCORE = 'RESET_SCORE';\n","import * as actionType from './actionTypes';\n\nexport const savePoint = (point: number, questionPath: string): actionType.SimpleActionCreatorType => ({\n type: actionType.SAVE_SCORE,\n data: { point, questionPath },\n});\n\nexport const resetScore = (): Pick => ({\n type: actionType.RESET_SCORE,\n});\n","import { FC } from 'react';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n onClick?: () => void;\n //Kan ha variant for start knappen\n children?: string;\n}\n\nconst Button: FC = ({ onClick, children }: Props) => {\n return (\n \n );\n};\n\nexport default Button;\n","import { FC } from 'react';\n\nimport styles from './styles.module.scss';\n\nconst FooterComponent: FC = () => {\n return
;\n};\n\nexport default FooterComponent;\n","import { FC, ReactNode } from 'react';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n children: ReactNode;\n ariaLabelledBy?: string;\n}\n\nconst Wrapper: FC = ({ children, ariaLabelledBy }) => (\n
\n {children}\n
\n);\n\nexport default Wrapper;\n","import { FC, useEffect } from 'react';\n\nimport classnames from 'classnames';\nimport { connect } from 'react-redux';\nimport { useNavigate } from 'react-router-dom';\n\nimport Title from '@helsenorge/designsystem-react/components/Title';\n\nimport { getSidetittelId } from '@helsenorge/framework-utils/hn-page';\n\nimport { resetScore } from '../../store/actions/actionCreators';\nimport { Intro, State } from '../../utils/types';\nimport Button from '../button';\nimport FooterComponent from '../footer-component';\nimport imageStyles from '../step-component/styles.module.scss';\nimport Wrapper from '../wrapper';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n intro: Intro[];\n resetScore: () => void;\n}\n\nexport const IntroComponent: FC = ({ intro, resetScore }: Props) => {\n const navigate = useNavigate();\n\n useEffect(() => {\n resetScore();\n }, []);\n\n const titleId = getSidetittelId();\n\n return (\n
\n \n
\n \n {intro[0].question}\n \n
\n {intro[0].answers?.map(alternativ => {\n return (\n // Hent ut første spørsmål fra listen\n \n );\n })}\n {intro[0].texts &&\n intro[0].texts.map(text => {\n return (\n \n {text.string}\n \n );\n })}\n
\n
\n
\n
\n
\n\n \n
\n
\n );\n};\n\nconst mapStateToProps = (state: State): { intro: Intro[] } => {\n return {\n intro: state.intro,\n };\n};\n\nexport default connect(mapStateToProps, { resetScore })(IntroComponent);\n","import { FC } from 'react';\n\nimport classnames from 'classnames';\nimport { connect } from 'react-redux';\n\nimport Title from '@helsenorge/designsystem-react/components/Title';\n\nimport SafeHTML from '@helsenorge/framework-utils/components/safe-html';\n\nimport { State, Question } from '../../utils/types';\nimport FooterComponent from '../footer-component';\nimport pointStyles from '../point-component/styles.module.scss';\nimport styles from '../step-component/styles.module.scss';\nimport Wrapper from '../wrapper';\n\nimport './results-component.scss';\ninterface Props {\n allQuestions: Question[];\n resultPoor: string;\n resultAverage: string;\n resultGood: string;\n resultPerfect: string;\n}\n\nexport const ResultsComponent: FC = ({ allQuestions, resultPoor, resultAverage, resultGood, resultPerfect }: Props) => {\n let pointSummary = 0;\n\n allQuestions.forEach(question => {\n pointSummary += question.chosenValue;\n });\n\n window.onbeforeunload = (event: Event): string => {\n const e = event || window.event;\n e.preventDefault();\n return '';\n };\n\n let result = resultPoor;\n let title = 'Du kan med fordel spise mindre salt.';\n let resultImage = '1';\n\n if (pointSummary === 90) {\n result = resultPerfect;\n title = 'Testen viser at du har gode saltvaner. Det er bra!';\n resultImage = '4';\n } else if (pointSummary > 60 && pointSummary < 90) {\n result = resultGood;\n title = 'Testen tyder på at du har gode saltvaner. Det er bra!';\n resultImage = '3';\n } else if (pointSummary >= 30 && pointSummary <= 60) {\n result = resultAverage;\n title = 'Testen tyder på at du har et forbedringspotensial.';\n resultImage = '2';\n } else if (pointSummary >= 0 && pointSummary < 30) {\n result = resultPoor;\n title = 'Du kan med fordel spise mindre salt.';\n resultImage = '1';\n }\n\n const generelt = 'Denne testen gir et generelt bilde av saltvanene dine, men kan ikke gi et nøyaktig svar på saltinntaket ditt.';\n\n const titleId = 'sidetittel';\n\n return (\n
\n \n {`${pointSummary} poeng av 90 mulige`}\n
\n \n {title}\n \n
\n \n

{generelt}

\n
\n
\n
\n
\n
\n \n
\n
\n );\n};\n\nconst mapStateToProps = (state: State): Props => {\n return {\n resultPoor: state.resultPoor,\n resultAverage: state.resultAverage,\n resultGood: state.resultGood,\n resultPerfect: state.resultPerfect,\n allQuestions: state.questions,\n };\n};\n\nexport default connect(mapStateToProps)(ResultsComponent);\n","import { FC } from 'react';\n\nimport classnames from 'classnames';\n\nimport { Question } from '../../utils/types';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n questions: Question[];\n currentQuestion: Question;\n}\n\nexport const PointComponent: FC = ({ questions, currentQuestion }: Props) => {\n let pointSummary = 0;\n\n questions.forEach(question => {\n pointSummary += question.chosenValue;\n });\n\n // Loop gjennom og finn høyyeste mulige poengsum\n\n return (\n
\n {`${currentQuestion.questionNumber}/${questions.length}`}\n {`${pointSummary} poeng av 90 mulige`}\n
\n );\n};\n\nexport default PointComponent;\n","import { FC } from 'react';\nimport { Dispatch, SetStateAction } from 'react';\n\nimport classnames from 'classnames';\nimport { connect } from 'react-redux';\n\nimport Title from '@helsenorge/designsystem-react/components/Title';\n\nimport { savePoint } from '../../store/actions/actionCreators';\nimport { Answers, Question } from '../../utils/types';\nimport Button from '../button';\n\nimport styles from './styles.module.scss';\n\nexport interface Props {\n data: Question;\n handleNext: () => void;\n showTip: boolean;\n setShowTip: Dispatch>;\n savePoint: (point: number, questionPath: string) => void;\n lastQuestion: boolean;\n titleId: string;\n}\n\nexport const StepComponent: FC = ({ data, handleNext, showTip, setShowTip, savePoint, lastQuestion, titleId }: Props) => {\n const handleShowTip = (): void => {\n setShowTip(true);\n };\n\n const handleClick = (alternativ: Answers, questionPath: string): void => {\n if (alternativ.value) {\n savePoint(alternativ.value, questionPath);\n }\n\n if (alternativ.showTip === true) {\n handleShowTip();\n } else {\n handleNext();\n }\n };\n\n return (\n
\n \n {data.question}\n \n
\n {showTip && (\n \n {'Tips: '}\n {data.tipText}\n \n )}\n {showTip && }\n {!showTip &&\n data.answers?.map(alternativ => {\n return (\n \n );\n })}\n
\n
\n
\n
\n
\n );\n};\n\nexport default connect(null, { savePoint })(StepComponent);\n","import { FC, useEffect, useState } from 'react';\n\nimport { connect } from 'react-redux';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport FooterComponent from '../../components/footer-component';\nimport PointComponent from '../../components/point-component';\nimport StepComponent from '../../components/step-component';\nimport Wrapper from '../../components/wrapper';\nimport { State, Question } from '../../utils/types';\n\ninterface Props {\n allQuestions: Question[];\n}\n\nexport const MainContainer: FC = ({ allQuestions }: Props) => {\n const navigate = useNavigate();\n const location = useLocation();\n const [showTip, setShowTip] = useState(false);\n const [currentQuestion, setCurrentQuestion] = useState();\n const [nextQuestion, setNextQuestion] = useState();\n const [lastQuestion, setLastQuestion] = useState(false);\n\n const defaultQuestion = allQuestions[0];\n\n window.onbeforeunload = (event: Event): string => {\n const e = event || window.event;\n e.preventDefault();\n return '';\n };\n\n useEffect(() => {\n const currentWithPath =\n (allQuestions && allQuestions.find(ques => ques.questionPath === location.pathname.slice(1))) || defaultQuestion;\n\n if (currentWithPath.questionPath !== defaultQuestion.questionPath) {\n navigate('/');\n }\n }, []);\n\n useEffect(() => {\n const currentWithPath =\n (allQuestions && allQuestions.find(ques => ques.questionPath === location.pathname.slice(1))) || defaultQuestion;\n const newNext = allQuestions.find(ques => ques.questionNumber === currentWithPath.questionNumber + 1);\n\n setCurrentQuestion(currentWithPath);\n\n if (newNext !== undefined) {\n setNextQuestion(newNext);\n setLastQuestion(false);\n } else {\n setLastQuestion(true);\n }\n }, [allQuestions, defaultQuestion, location.pathname]);\n\n const handleNextQuestion = (): void => {\n setShowTip(false);\n if (nextQuestion?.questionNumber === currentQuestion?.questionNumber) {\n navigate('/test/resultat');\n } else {\n navigate(nextQuestion ? '/' + nextQuestion.questionPath : '/');\n }\n };\n\n const titleId = 'sidetittel';\n\n return (\n
\n {currentQuestion && (\n \n
\n {currentQuestion.questionNumber > 0 && }\n \n \n
\n
\n )}\n
\n );\n};\n\nconst mapStateToProps = (state: State): Props => {\n return {\n allQuestions: state.questions,\n };\n};\n\nexport default connect(mapStateToProps)(MainContainer);\n","import { Config, State } from '../../utils/types';\nimport * as actionType from '../actions/actionTypes';\n\ndeclare global {\n interface Window {\n salttestConfig: Config;\n }\n}\n\nconst initialState = {\n intro: window?.salttestConfig?.intro ? window?.salttestConfig?.intro : [],\n questions: window?.salttestConfig?.questions ? window?.salttestConfig?.questions : [],\n resultPoor: window?.salttestConfig?.resultPoor ? window?.salttestConfig?.resultPoor : '',\n resultAverage: window?.salttestConfig?.resultAverage ? window?.salttestConfig?.resultAverage : '',\n resultGood: window?.salttestConfig?.resultGood ? window?.salttestConfig?.resultGood : '',\n resultPerfect: window?.salttestConfig?.resultPerfect ? window?.salttestConfig?.resultPerfect : '',\n};\n\ninterface Data {\n point: number;\n questionPath: string;\n}\n\ninterface Actions {\n type: string;\n data: Data;\n}\n\nexport default function appStateReducer(state: State = initialState, action: Actions): State {\n switch (action.type) {\n case actionType.SAVE_SCORE: {\n return {\n ...state,\n questions: state.questions.map(question => {\n if (question.questionPath === action.data.questionPath) {\n return {\n ...question,\n chosenValue: action.data.point,\n };\n } else {\n return {\n ...question,\n };\n }\n }),\n };\n }\n\n case actionType.RESET_SCORE: {\n return {\n ...state,\n questions: window?.salttestConfig?.questions ? window?.salttestConfig?.questions : [],\n };\n }\n\n default:\n return state;\n }\n}\n","import { configureStore } from '@reduxjs/toolkit';\nimport { createRoot } from 'react-dom/client';\nimport { Provider } from 'react-redux';\nimport { RouterProvider, createHashRouter } from 'react-router-dom';\n\nimport IntroComponent from './components/intro-component';\nimport ResultsComponent from './components/results-component';\nimport MainContainer from './containers/main-container';\nimport appStateReducer from './store/reducers/globalReducer';\n\nconst anchor: Element | null = document.getElementById('salttest-app');\n\nconst router = createHashRouter([\n { path: '/', element: },\n { path: '/:path', element: },\n { path: '/test/resultat', element: },\n]);\n\nconst store = configureStore({ reducer: appStateReducer });\nconst root = createRoot(anchor!);\n\nroot.render(\n \n \n \n);\n"],"names":["SAVE_SCORE","RESET_SCORE","savePoint","point","questionPath","actionType.SAVE_SCORE","resetScore","actionType.RESET_SCORE","Button","onClick","children","styles","FooterComponent","Wrapper","ariaLabelledBy","jsx","useEffect","IntroComponent","intro","navigate","useNavigate","titleId","getSidetittelId","jsxs","imageStyles","Title","classnames","_a","alternativ","text","mapStateToProps","state","connect","ResultsComponent","allQuestions","resultPoor","resultAverage","resultGood","resultPerfect","pointSummary","question","event","result","title","resultImage","generelt","pointStyles","SafeHTML","ResultsComponent$1","PointComponent","questions","currentQuestion","StepComponent","data","handleNext","showTip","setShowTip","lastQuestion","handleShowTip","handleClick","MainContainer","location","useLocation","useState","setCurrentQuestion","nextQuestion","setNextQuestion","setLastQuestion","defaultQuestion","ques","currentWithPath","newNext","handleNextQuestion","MainContainer$1","initialState","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","appStateReducer","action","anchor","router","createHashRouter","store","configureStore","root","createRoot","Provider","RouterProvider"],"mappings":"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"}