{"version":3,"sources":["assets/svg/sbar-link-icon.svg","assets/svg/sbar-logo.svg","api/methods/create.js","api/methods/contact.js","api/methods/vimeoVideoUpload.js","contexts/form-context/index.js","components/nav/index.js","assets/svg/menu-icon.svg","layout/footer/index.js","contexts/device-context/index.js","assets/svg/close.svg","layout/header/index.js","api/methods/getAll.js","contexts/stories-context/index.js","contexts/active-story-context/index.js","components/restoreScroll/index.js","components/intro/index.js","components/intro/landingText.js","components/loading/index.js","assets/svg/done.svg","components/stories/index.js","components/stories/audio/index.js","components/stories/text/index.js","components/stories/video/index.js","api/methods/getVideoThumbnail.js","views/landing.js","components/form/forms/textForm.js","components/form/forms/videoForm.js","components/form/forms/audioForm.js","components/form/forms/index.js","components/form/forms/personForm.js","components/form/forms/contactForm.js","components/form/index.js","components/intro/sendInText.js","views/send.js","views/contact.js","components/intro/aboutText.js","views/about.js","components/intro/nursingConference.js","views/nursingConference.js","App.js","index.js"],"names":["_defs","_path","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgSbarLinkIcon","_ref","svgRef","title","titleId","props","xmlns","id","viewBox","ref","fillRule","d","_g","ForwardRef","createEntry","formdata","a","axios","method","headers","data","url","process","createContact","createVimeoVideo","size","name","redirect_url","Authorization","upload","approach","privacy","view","res","upload_link","console","error","stack","FormContext","createContext","formReducer","prevState","value","type","action","updatedElement","newState","deepClone","model","FormContextProvider","children","useState","formType","setFormType","formFile","setFormFile","videoUploaded","setVideoUploaded","videoReadyToUpload","setVideoReadyToUpload","videoUploadLink","setVideoUploadLink","videoViewLink","setVideoViewLink","useReducer","formState","dispatch","formSent","setFormSent","isUploading","setIsUploading","search","useLocation","replace","useHistory","resetForm","onFileChange","e","preventDefault","files","window","location","href","uploadLink","submitForm","form","FormData","isContact","isText","isVideo","isAudio","append","person","forEach","k","contact","sendForm","response","status","useEffect","decodedQuery","decodeURIComponent","includes","Provider","NavItems","class","external","icon","ExternalLinkIcon","Nav","active","top","handleClick","Consumer","className","map","item","idx","Icon","rel","onClick","to","SvgSbarLogo","xmlnsXlink","transform","fill","xlinkHref","mask","Footer","getDeviceType","innerWidth","DeviceContext","DeviceContextProvider","deviceType","setDeviceType","handleWindowSizeChange","addEventListener","removeEventListener","SvgMenuIcon","Header","isOpen","setIsOpen","isNotDesktop","setIsNotDesktop","useContext","body","document","querySelector","style","overflow","getAll","StoriesContext","React","stories","isLoading","inGroup","mobile","tablet","getNumberInGroup","StoriesContextProvider","setStories","setData","setIsloading","getData","useCallback","groupsOfStories","inSubgroup","remaindersGroup","entries","lengthIdx","startIdx","slice","groupStories","getStories","ActiveStoryContext","ActiveStoryContextProvider","activeStory","setActiveStory","RestoreScrollOnNavigation","pathname","scrollTo","Intro","position","LandingText","Loading","SvgClose","typeToComponentMap","audio","story","handleClose","controls","src","media_url","media_type","fullname","text","situation","background","assessment","recommendation","video","width","playsinline","Story","renderStory","setRenderStory","thumbnail","videoId","getVideoThumbnail","then","thumbnail_large","catch","alt","StoriesGroup","subgroup","bigRow","remainderRow","isActive","setActive","some","ActiveStory","Stories","isBigScreen","setIsBigScreen","LandingView","TextForm","htmlFor","label","onChange","rows","placeholder","required","VideoView","VideoForm","encType","accept","disabled","AudioForm","FormOfType","PersonForm","ContactForm","SvgDone","height","formTypes","FormSent","Info","Contact","onSubmit","Form","activeType","Send","t","setTimeout","button","getBoundingClientRect","header","topOffset","pageYOffset","clientHeight","left","behavior","SendInText","SendView","ContactView","AboutText","AboutView","NursingConference","NursingConferenceView","App","path","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.b191d6cb.chunk.js","sourcesContent":["var _defs, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSbarLinkIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n id: \"sbar-link-icon\",\n viewBox: \"0 0 14 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M7 0v1.4H1.4v11.2h11.2V7H14v7H0V0h7zm7 0v5.932l-2.135-2.136L7.66 8 6 6.34l4.204-4.205L8.068 0H14z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSbarLinkIcon);\nexport default __webpack_public_path__ + \"static/media/sbar-link-icon.11bae776.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSbarLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n id: \"sbar-logo\",\n viewBox: \"0 0 160 48\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: \"a\",\n d: \"M.404.328h37.584v45.198H.404z\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.855 12.828c-1.28-1.039-2.558-1.807-3.837-2.307-1.28-.5-2.518-.75-3.716-.75-1.52 0-2.758.36-3.716 1.079-.96.72-1.44 1.659-1.44 2.817 0 .8.24 1.46.72 1.979.48.52 1.109.969 1.888 1.348.78.38 1.658.71 2.638.989.978.28 1.948.58 2.907.9 3.836 1.279 6.643 2.987 8.422 5.124 1.778 2.138 2.667 4.926 2.667 8.363 0 2.318-.39 4.416-1.168 6.294-.78 1.878-1.919 3.487-3.417 4.825-1.499 1.34-3.337 2.378-5.515 3.117-2.179.739-4.646 1.109-7.403 1.109-5.715 0-11.01-1.698-15.885-5.095l5.035-9.471c1.758 1.558 3.496 2.718 5.215 3.477 1.719.76 3.417 1.138 5.096 1.138 1.918 0 3.346-.439 4.286-1.318.938-.879 1.408-1.878 1.408-2.997 0-.68-.12-1.268-.36-1.769-.24-.499-.639-.959-1.199-1.379-.56-.42-1.288-.809-2.188-1.169-.898-.359-1.988-.758-3.266-1.198-1.52-.48-3.008-1.009-4.466-1.589-1.46-.579-2.757-1.349-3.896-2.307-1.14-.96-2.059-2.168-2.758-3.627-.7-1.458-1.049-3.306-1.049-5.545 0-2.238.37-4.265 1.11-6.084.738-1.818 1.777-3.377 3.116-4.676 1.34-1.298 2.977-2.308 4.915-3.027C12.938.36 15.106 0 17.503 0c2.238 0 4.576.31 7.014.93 2.437.62 4.775 1.528 7.013 2.727l-4.675 9.171zm22.058 24.517h2.578c2.957 0 5.075-.38 6.354-1.14 1.278-.758 1.918-1.977 1.918-3.656 0-1.678-.64-2.897-1.918-3.656-1.28-.76-3.397-1.139-6.354-1.139h-2.578v9.591zm0-18.343h2.159c3.676 0 5.514-1.458 5.514-4.376 0-2.916-1.838-4.376-5.514-4.376h-2.159v8.752zM37.165 1.26h17.503c4.156 0 7.313 1 9.471 2.998 2.158 1.998 3.237 4.875 3.237 8.631 0 2.278-.41 4.166-1.229 5.665-.82 1.498-2.068 2.767-3.746 3.806 1.678.32 3.106.809 4.286 1.469 1.178.659 2.137 1.468 2.877 2.428.74.959 1.268 2.038 1.589 3.236.319 1.2.479 2.479.479 3.837 0 2.118-.37 3.996-1.109 5.635-.74 1.638-1.778 3.017-3.117 4.136-1.34 1.119-2.967 1.958-4.885 2.517-1.919.56-4.076.84-6.474.84H37.165v-45.2zm63.659 28.412l-5.275-15.046-5.275 15.046h10.55zm3.116 8.932H87.157l-2.698 7.852H71.931L89.135 1.26h12.827l17.203 45.197h-12.528l-2.697-7.852z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(121.519 .93)\"\n }, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"b\",\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#a\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.153 20.53h2.218c2.317 0 4.096-.48 5.335-1.439 1.238-.959 1.858-2.337 1.858-4.136 0-1.798-.62-3.177-1.858-4.136-1.24-.96-3.018-1.439-5.335-1.439h-2.218v11.15zM37.99 45.526H23.362L12.153 28.142v17.384H.404V.328h18.283c2.517 0 4.715.37 6.593 1.11 1.878.74 3.426 1.749 4.646 3.027 1.219 1.28 2.138 2.757 2.758 4.435.619 1.68.928 3.478.928 5.396 0 3.437-.83 6.224-2.487 8.362-1.66 2.138-4.106 3.587-7.343 4.346l14.207 18.522z\",\n mask: \"url(#b)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSbarLogo);\nexport default __webpack_public_path__ + \"static/media/sbar-logo.885a9fcf.svg\";\nexport { ForwardRef as ReactComponent };","import axios from \"axios\";\n\nexport const createEntry = async (formdata) =>\n axios({\n method: \"POST\",\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n data: formdata,\n url: `${process.env.REACT_APP_BACKEND_URL}/v1/entries`,\n });\n","import axios from \"axios\";\n\nexport const createContact = async (formdata) =>\n axios({\n method: \"POST\",\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n data: formdata,\n url: `${process.env.REACT_APP_BACKEND_URL}/v1/contacts`,\n });\n","import axios from \"axios\";\n\nconst getUploadLink = (response) => response.data.upload.upload_link;\n\nexport const createVimeoVideo = async (size, name, redirect_url) => {\n try {\n const res = await axios({\n method: \"POST\",\n headers: {\n Authorization: `bearer ${process.env.REACT_APP_ACCESS_TOKEN}`,\n \"Content-Type\": \"application/json\",\n },\n url: `${process.env.REACT_APP_VIMEO_URL}/me/videos`,\n data: {\n upload: {\n approach: \"post\",\n size: `${size}`,\n redirect_url,\n },\n name: name,\n privacy: { view: \"nobody\" },\n },\n });\n\n return getUploadLink(res);\n } catch (e) {\n console.error(e, e.stack);\n }\n};\n","import React, { createContext, useReducer, useEffect, useState } from \"react\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport deepClone from \"rfdc/default\";\nimport { createEntry } from \"../../api/methods/create\";\nimport { createContact } from \"../../api/methods/contact\";\nimport { createVimeoVideo } from \"../../api/methods/vimeoVideoUpload\";\nimport model from \"./model.json\";\n\nexport const FormContext = createContext();\n\nconst formReducer = (prevState, { value, key, type, action = \"update\" }) => {\n switch (action) {\n case \"update\":\n const updatedElement = { ...prevState[type][key] };\n updatedElement.value = value;\n const newState = deepClone(prevState);\n newState[type][key] = updatedElement;\n return newState;\n case \"reset\":\n return model;\n default:\n return prevState;\n }\n};\n\nexport const FormContextProvider = ({ children }) => {\n const [formType, setFormType] = useState(\"\");\n const [formFile, setFormFile] = useState(null);\n const [videoUploaded, setVideoUploaded] = useState(false);\n const [videoReadyToUpload, setVideoReadyToUpload] = useState(false);\n const [videoUploadLink, setVideoUploadLink] = useState(\"\");\n const [videoViewLink, setVideoViewLink] = useState(\"\");\n const [formState, dispatch] = useReducer(formReducer, model);\n const [formSent, setFormSent] = useState(false);\n const [isUploading, setIsUploading] = useState(false);\n const { search } = useLocation();\n const { replace } = useHistory();\n\n const resetForm = () => {\n setVideoUploaded(false);\n setFormSent(false);\n setVideoReadyToUpload(false);\n setFormFile(null);\n dispatch({ action: \"reset\" });\n setVideoUploadLink(\"\");\n setVideoViewLink(\"\");\n setIsUploading(false);\n };\n\n const onFileChange = async (e) => {\n e.preventDefault();\n\n if (formType === \"video\") {\n const uploadLink = await createVimeoVideo(\n e.target.files[0].size,\n e.target.files[0].name,\n window.location.href\n );\n setVideoUploadLink(uploadLink);\n }\n if (formType === \"audio\") {\n setFormFile(e.target.files[0]);\n }\n };\n\n const submitForm = async (e) => {\n e.preventDefault();\n\n const form = new FormData();\n\n const isContact = formType === \"contact\";\n const isText = formType === \"text\";\n const isVideo = formType === \"video\";\n const isAudio = formType === \"audio\";\n\n if (formFile && isAudio) {\n form.append(\"media_file\", formFile);\n form.append(\"media_type\", \"audio\");\n }\n\n if (videoViewLink && isVideo) {\n form.append(\"media_url\", videoViewLink);\n form.append(\"media_type\", \"video\");\n }\n\n if (!isContact) {\n Object.keys(formState.person).forEach((k) => {\n form.append(k, formState.person[k].value);\n });\n }\n\n if (isContact) {\n Object.keys(formState.contact).forEach((k) => {\n form.append(k, formState.contact[k].value);\n });\n }\n\n if (isText) {\n form.append(\"media_type\", \"text\");\n Object.keys(formState[formType]).forEach((k) => {\n form.append(k, formState[formType][k].value);\n });\n }\n\n const sendForm = isContact ? createContact : createEntry;\n try {\n const response = await sendForm(form);\n if (response.status >= 200 && response.status < 300) {\n resetForm();\n setFormSent(true);\n }\n } catch (e) {\n console.error(e);\n }\n };\n\n useEffect(() => {\n if (formType === \"video\" && videoUploadLink) {\n setVideoReadyToUpload(true);\n }\n }, [formType, videoUploadLink]);\n\n useEffect(() => {\n const decodedQuery = decodeURIComponent(search);\n if (search) {\n if (decodedQuery.includes(\"video_uri\")) {\n setFormType(\"video\");\n setVideoUploaded(true);\n replace({ search: \"\" });\n setIsUploading(false);\n setVideoViewLink(\n `https://vimeo.com/${decodedQuery.replace(\"?video_uri=/videos/\", \"\")}`\n );\n }\n }\n }, [search, replace]);\n\n return (\n \n {children}\n \n );\n};\n","import React from \"react\";\nimport { ReactComponent as ExternalLinkIcon } from \"../../assets/svg/sbar-link-icon.svg\";\n\nimport { Link } from \"react-router-dom\";\nimport { FormContext } from \"../../contexts/form-context\";\n\nconst NavItems = [\n {\n name: \"Skicka in SBAR\",\n class: \"navbar-link navbar-link--main\",\n href: \"/skicka-in\",\n },\n {\n name: \"Engagera dig!\",\n class: \"navbar-link navbar-link--main\",\n href: \"/kontakt\",\n },\n { name: \"Om SBAR\", class: \"navbar-link navbar-link--secondary\", href: \"/om\" },\n {\n name: \"Omvårdnadskonferensen\",\n class: \"navbar-link navbar-link--secondary navbar-link--small\",\n href: \"/omvardnadskonferensen\",\n },\n {\n name: \"SAC\",\n class: \"navbar-link navbar-link--external\",\n href: \"https://www.sac.se\",\n external: true,\n icon: ExternalLinkIcon,\n },\n];\n\nexport const Nav = ({ active, top, handleClick }) => (\n \n {({ resetForm }) => (\n \n
    \n {NavItems.map((item, idx) => {\n if (item?.external) {\n const Icon = item?.icon;\n return (\n
  • \n \n {item.name}\n {item?.icon && (\n
    \n \n
    \n )}\n
    \n
  • \n );\n }\n\n return (\n {\n handleClick(e);\n resetForm();\n }}\n key={idx}\n className={item.class}\n >\n {item.name}\n \n );\n })}\n
\n \n )}\n
\n);\n","var _defs, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMenuIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n id: \"sbar-menu-icon-mobile\",\n viewBox: \"0 0 30 30\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M23.333333 0c-3.703703 0-6.666666 2.962963-6.666666 6.6666667 0 3.7037037 2.962963 6.6666666 6.666666 6.6666666C27.037037 13.3333333 30 10.3703704 30 6.6666667S27.037037 0 23.333333 0zM6.666667 0C2.962963 0 0 2.962963 0 6.6666667c0 3.7037037 2.962963 6.6666666 6.666667 6.6666666 3.703703 0 6.666666-2.9629629 6.666666-6.6666666S10.295111 0 6.666667 0zm16.666666 16.6666667c-3.703703 0-6.666666 2.9629629-6.666666 6.6666666S19.62963 30 23.333333 30C27.037037 30 30 27.037037 30 23.3333333c0-3.6284444-2.962963-6.6666666-6.666667-6.6666666zm-16.666666 0C2.962963 16.6666667 0 19.6296296 0 23.3333333S2.962963 30 6.666667 30c3.703703 0 6.666666-2.962963 6.666666-6.6666667 0-3.6284444-3.038222-6.6666666-6.666666-6.6666666z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMenuIcon);\nexport default __webpack_public_path__ + \"static/media/menu-icon.6dcf7d1e.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { Nav } from \"../../components/nav\";\nimport { ReactComponent as SBARLogo } from \"../../assets/svg/sbar-logo.svg\";\n\nexport const Footer = () => (\n \n);\n","import React, { useState, useEffect, createContext } from \"react\";\n\nconst getDeviceType = (innerWidth) => {\n switch (true) {\n case innerWidth <= 480:\n return \"mobile\";\n case innerWidth > 480 && innerWidth < 769:\n return \"tablet\";\n case innerWidth > 769 && innerWidth < 1025:\n return \"small-screen\";\n case innerWidth > 1025 && innerWidth < 1201:\n return \"medium-screen\";\n default:\n return \"big-screen\";\n }\n};\n\nexport const DeviceContext = createContext();\n\nexport const DeviceContextProvider = ({ children }) => {\n const [deviceType, setDeviceType] = useState(\"\");\n\n const handleWindowSizeChange = () => {\n setDeviceType(getDeviceType(window.innerWidth));\n };\n useEffect(() => {\n setDeviceType(getDeviceType(window.innerWidth));\n\n window.addEventListener(\"resize\", handleWindowSizeChange);\n return () => {\n window.removeEventListener(\"resize\", handleWindowSizeChange);\n };\n }, []);\n\n return (\n \n {children}\n \n );\n};\n","var _defs, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgClose(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 40 40\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#2E9282\",\n fillRule: \"evenodd\",\n d: \"M37.475 32.209c1.291-1.263 2.133-2.14 2.525-2.635-.86-1.005-3.15-3.483-6.873-7.435-.727-.767-1.402-1.481-2.018-2.14.71-.73 1.514-1.545 2.413-2.44 3.383-3.402 5.544-5.597 6.478-6.585-3.627-3.676-5.562-5.671-5.805-5.982C32.68 3.329 31.137 1.663 29.566 0c-.45.292-2.796 2.46-7.041 6.501L20 8.917 17.475 6.5C13.23 2.461 10.883.291 10.434 0 8.863 1.663 7.32 3.329 5.805 4.992c-.243.31-2.178 2.306-5.805 5.982.934.988 3.094 3.183 6.478 6.585.899.895 1.712 1.71 2.442 2.44-.636.659-1.32 1.373-2.047 2.14C3.149 26.09.859 28.569 0 29.574c.392.496 1.234 1.372 2.525 2.635 1.196 1.206 2.084 2.049 2.665 2.525 2.187 2.321 3.907 4.079 5.16 5.266 3.347-3.256 6.564-6.364 9.65-9.328 3.085 2.964 6.302 6.072 9.649 9.328 1.253-1.187 2.974-2.945 5.16-5.266.582-.476 1.469-1.319 2.666-2.525z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default __webpack_public_path__ + \"static/media/close.19e37348.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useContext, useEffect } from \"react\";\nimport { DeviceContext } from \"../../contexts\";\nimport { Nav } from \"../../components/nav\";\nimport { ReactComponent as SBARLogo } from \"../../assets/svg/sbar-logo.svg\";\nimport { ReactComponent as MenuIcon } from \"../../assets/svg/menu-icon.svg\";\n\nexport const Header = () => {\n const [isOpen, setIsOpen] = useState(false);\n const [isNotDesktop, setIsNotDesktop] = useState(false);\n const deviceType = useContext(DeviceContext);\n\n const handleClick = () => {\n setIsOpen(!isOpen);\n };\n\n useEffect(() => {\n setIsNotDesktop(deviceType === \"mobile\" || deviceType === \"tablet\");\n }, [deviceType]);\n\n useEffect(() => {\n const body = document.querySelector(\"body\");\n if (isOpen && isNotDesktop) {\n body.style.overflow = \"hidden\";\n }\n if (!isOpen && isNotDesktop) {\n body.style.overflow = \"auto\";\n }\n }, [isOpen, isNotDesktop]);\n\n return (\n
\n
\n \n \n \n \n \n {isNotDesktop && (\n \n \n \n )}\n
\n
\n );\n};\n","import axios from \"axios\";\n\nexport const getAll = async () =>\n axios({\n method: \"GET\",\n url: `${process.env.REACT_APP_BACKEND_URL}/v1/entries`,\n });\n","import React, { useEffect, useState, useCallback, useContext } from \"react\";\nimport { getAll } from \"../../api/methods/getAll\";\nimport { DeviceContext } from \"../device-context\";\n\nexport const StoriesContext = React.createContext({\n stories: [],\n isLoading: true,\n});\n\nconst inGroup = {\n mobile: 1,\n tablet: 2,\n \"small-screen\": 2,\n \"medium-screen\": 4,\n \"big-screen\": 4,\n};\n\nexport const getNumberInGroup = (deviceType) => inGroup[deviceType];\n\nconst groupStories = (stories = [], deviceType) => {\n let groupsOfStories = [];\n const inSubgroup = getNumberInGroup(deviceType);\n let remaindersGroup = [];\n\n for (const [i] of stories.entries()) {\n const lengthIdx = i + 1;\n\n if (inSubgroup === 1) {\n groupsOfStories = [...groupsOfStories, [stories[i]]];\n } else {\n if (i !== 0 && lengthIdx % inSubgroup === 0) {\n const startIdx = lengthIdx - inSubgroup;\n groupsOfStories = [\n ...groupsOfStories,\n [...stories.slice(startIdx, lengthIdx)],\n ];\n\n remaindersGroup = [...stories.slice(i, stories.length - 1)];\n }\n\n if (i === stories.length - 1) {\n groupsOfStories = [...groupsOfStories, [...remaindersGroup]];\n\n if (stories.length < inSubgroup) {\n groupsOfStories = [[...stories]];\n }\n }\n }\n }\n return groupsOfStories;\n};\n\nexport const StoriesContextProvider = ({ children }) => {\n const deviceType = useContext(DeviceContext);\n const [stories, setStories] = useState([[]]);\n const [data, setData] = useState([]);\n const [isLoading, setIsloading] = useState(true);\n\n const getData = useCallback(async () => {\n try {\n const res = await getAll();\n\n if (res.status === 200) {\n setData(res.data);\n }\n } catch (e) {\n console.error(e);\n }\n }, []);\n\n useEffect(() => {\n getData();\n }, [getData]);\n\n useEffect(() => {\n if (data.length > 0 && deviceType) {\n setStories(groupStories(data, deviceType));\n }\n }, [deviceType, data]);\n\n useEffect(() => {\n if (stories && stories.length > 0) {\n setIsloading(false);\n }\n }, [stories]);\n\n return (\n \n {children}\n \n );\n};\n","import React, { useState } from \"react\";\n\nexport const ActiveStoryContext = React.createContext({});\n\nexport const ActiveStoryContextProvider = ({ children }) => {\n const [activeStory, setActiveStory] = useState(null);\n\n return (\n \n {children}\n \n );\n};\n","import { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nexport const RestoreScrollOnNavigation = () => {\n const { pathname } = useLocation();\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n return null;\n};\n","import React from \"react\";\n\nexport const Intro = ({ position = \"center\", children }) => (\n
{children}
\n);\n","import React from \"react\";\n\nexport const LandingText = () => (\n <>\n

\n Situation / Bakgrund /\n
\n Aktuellt / Rekommendation\n

\n\n

\n SBAR är en modell som används i vården för att snabbt rapportera om en\n patient. Vi gör SBARs till arbetarnas verktyg i kampen för en bättre vård!\n

\n

\n Det finns en utspridd frustration och oro över hur sjukvården och omsorgen\n organiseras. Vad är vi egentligen med om? Vad har skapat denna situation?\n Vad är det som händer? Hur går vi vidare?\n

\n

BRYT TYSTNADEN OCH TALA UT!!!

\n \n);\n","import React from \"react\";\n\nexport const Loading = () => (\n <>\n
\n
\n
\n
\n
\n
\n
\n

Laddar upp videon

\n
\n \n);\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDone(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 120,\n height: 120,\n viewBox: \"0 0 120 120\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#2E9282\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.78 0C92.99 0 120 27.01 120 59.78 120 92.99 92.99 120 59.78 120 27.012 120 0 92.99 0 59.78 0 27.012 27.01 0 59.78 0zm0 7.969c-28.782 0-51.807 23.025-51.807 51.806 0 28.78 23.025 52.252 51.806 52.252s52.252-23.471 52.252-52.252c0-28.78-23.471-51.806-52.252-51.806zm27.088 23.89l9.77 8.973-43.153 47.31-30.122-25.285 8.14-10.605 21.17 17.946 34.195-38.34z\",\n transform: \"translate(-64 -264) translate(64 264)\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDone);\nexport default __webpack_public_path__ + \"static/media/done.080907fb.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useContext, useState, useEffect } from \"react\";\nimport { getVideoThumbnail } from \"../../api/methods/getVideoThumbnail\";\nimport { ActiveStoryContext } from \"../../contexts/active-story-context\";\nimport { DeviceContext } from \"../../contexts/device-context\";\nimport {\n StoriesContext,\n getNumberInGroup,\n} from \"../../contexts/stories-context\";\nimport { Loading } from \"../loading\";\nimport { AudioStory } from \"./audio\";\nimport { TextStory } from \"./text\";\nimport { VideoStory } from \"./video\";\n\nconst typeToComponentMap = {\n audio: AudioStory,\n text: TextStory,\n video: VideoStory,\n};\n\nconst Story = ({ story }) => {\n const { setActiveStory } = useContext(ActiveStoryContext);\n const [renderStory, setRenderStory] = useState({ ...story });\n\n useEffect(() => {\n if (renderStory.media_type === \"video\" && !renderStory?.thumbnail) {\n const videoId = renderStory.media_url.replace(\"https://vimeo.com/\", \"\");\n getVideoThumbnail(videoId)\n .then((res) => {\n const thumbnail = res.data[0].thumbnail_large;\n setRenderStory({\n ...renderStory,\n thumbnail,\n });\n })\n .catch((e) => {\n console.error(e);\n });\n }\n }, [renderStory]);\n return (\n setActiveStory(story)}\n className={`story-card ${\n renderStory?.title ? \"\" : \"story-card-with-title\"\n }`}\n >\n {renderStory?.thumbnail && (\n
\n \"thumbnail\"\n
\n )}\n

{renderStory?.title}

\n \n );\n};\n\nconst StoriesGroup = ({ subgroup, bigRow, remainderRow }) => {\n const { activeStory, setActiveStory } = useContext(ActiveStoryContext);\n const [isActive, setActive] = useState(false);\n useEffect(() => {\n if (subgroup?.length > 0 && activeStory) {\n setActive(subgroup.some((story) => story.id === activeStory?.id));\n }\n }, [activeStory, subgroup]);\n\n return (\n
\n \n {subgroup.map((story) => (\n \n ))}\n
\n\n
\n {isActive &&\n [activeStory].map((story) => {\n const ActiveStory = typeToComponentMap[activeStory.media_type];\n return (\n
\n {\n setActiveStory(null);\n setActive(false);\n }}\n story={story}\n />\n
\n );\n })}\n
\n \n );\n};\n\nexport const Stories = () => {\n const { stories, isLoading } = useContext(StoriesContext);\n const deviceType = useContext(DeviceContext);\n const [isBigScreen, setIsBigScreen] = useState(false);\n\n useEffect(() => {\n setIsBigScreen(\n deviceType === \"medium-screen\" || deviceType === \"big-screen\"\n );\n }, [deviceType]);\n\n if (isLoading) {\n return (\n
\n \n
\n );\n }\n\n return (\n
\n {stories.map((subgroup, i) => (\n \n ))}\n
\n );\n};\n","import React from \"react\";\nimport { ReactComponent as CloseSVG } from \"../../../assets/svg/close.svg\";\n\nexport const AudioStory = ({ story, handleClose }) => {\n return (\n
\n
\n
\n
\n
\n
{story.media_type}
\n
\n \n
\n
\n {story?.title && (\n

{story.title}

\n )}\n
{story.fullname}
\n
\n
\n );\n};\n","import React from \"react\";\nimport { ReactComponent as CloseSVG } from \"../../../assets/svg/close.svg\";\n\nexport const TextStory = ({ story, handleClose }) => (\n
\n
\n
\n

situation

\n {story.situation}\n
\n
\n

bakgrund

\n {story.background}\n
\n
\n

aktuellt

\n {story.assessment}\n
\n
\n

rekommendation

\n {story.recommendation}\n
\n
\n
\n
\n
{story.media_type}
\n
\n \n
\n
\n {story?.title && (\n

{story.title}

\n )}\n
{story.fullname}
\n
\n
\n);\n","import React from \"react\";\nimport ReactPlayer from \"react-player/vimeo\";\nimport { ReactComponent as CloseSVG } from \"../../../assets/svg/close.svg\";\n\nexport const VideoStory = ({ story, handleClose }) => (\n
\n
\n
\n \n
\n
\n
\n
\n
{story.media_type}
\n
\n \n
\n
\n {story?.title && (\n

{story.title}

\n )}\n
{story.fullname}
\n
\n
\n);\n","import axios from \"axios\";\n\nexport const getVideoThumbnail = (videoId) =>\n axios({\n method: \"GET\",\n url: `https://vimeo.com/api/v2/video/${videoId}.json`,\n });\n","import React from \"react\";\nimport { Intro } from \"../components/intro\";\nimport { LandingText } from \"../components/intro/landingText\";\nimport { Stories } from \"../components/stories\";\n\nexport const LandingView = () => (\n <>\n \n \n \n
\n \n \n);\n","import React, { useContext } from \"react\";\nimport { FormContext } from \"../../../contexts/form-context\";\n\nexport const TextForm = () => {\n const { formType, formState, dispatch } = useContext(FormContext);\n\n return (\n <>\n {Object.keys(formState[formType]).map((key, i) => (\n
\n \n \n dispatch({ value, key, type: formType })\n }\n rows=\"5\"\n id={key}\n form=\"mainForm\"\n placeholder={formState[formType][key].placeholder}\n type={formState[formType][key].type}\n value={formState[formType][key].value}\n required={formState[formType][key].required}\n />\n
\n ))}\n \n );\n};\n","import React, { useContext } from \"react\";\nimport { FormContext } from \"../../../contexts/form-context\";\n\nconst VideoView = () => (\n
\n

\n Din video kommer att laddas upp efter att du skickat in formuläret.\n

\n
\n);\n\nexport const VideoForm = () => {\n const {\n onFileChange,\n videoReadyToUpload,\n videoUploadLink,\n videoUploaded,\n setIsUploading,\n } = useContext(FormContext);\n\n if (videoUploaded) {\n return ;\n }\n\n return (\n \n
\n \n
\n \n\n setIsUploading(true)}\n type=\"submit\"\n >\n Ladda upp\n \n
\n
\n \n );\n};\n","import React from \"react\";\nimport { FormContext } from \"../../../contexts/form-context\";\n\nexport const AudioForm = () => (\n \n {({ onFileChange }) => (\n
\n
\n \n
\n \n
\n
\n
\n )}\n
\n);\n","import React from \"react\";\nimport { TextForm } from \"./textForm\";\nimport { VideoForm } from \"./videoForm\";\nimport { AudioForm } from \"./audioForm\";\n\nexport const FormOfType = ({ type }) => {\n switch (type) {\n case \"text\":\n return ;\n case \"video\":\n return ;\n case \"audio\":\n return ;\n case \"finshed\":\n return \"done!\";\n default:\n return null;\n }\n};\n","import React, { useContext } from \"react\";\nimport { FormContext } from \"../../../contexts/form-context\";\n\nexport const PersonForm = () => {\n const { formState, dispatch } = useContext(FormContext);\n\n return (\n <>\n
\n {Object.keys(formState.person).map((key, i) => {\n if (formState.person[key].type === \"checkbox\") {\n return (\n \n \n dispatch({ value, key, type: \"person\" })\n }\n id={key}\n form=\"mainForm\"\n type={formState.person[key].type}\n value={formState.person[key].value}\n required={formState.person[key].required}\n />\n \n
\n );\n }\n\n return (\n
\n \n dispatch({ value, key, type: \"person\" })\n }\n placeholder={formState.person[key].placeholder}\n type={formState.person[key].type}\n value={formState.person[key].value}\n required={formState.person[key].required}\n />\n
\n );\n })}\n \n );\n};\n","import React, { useContext, useEffect } from \"react\";\nimport { FormContext } from \"../../../contexts/form-context\";\n\nexport const ContactForm = () => {\n const { formState, dispatch, setFormType } = useContext(FormContext);\n\n useEffect(() => {\n setFormType(\"contact\");\n }, [setFormType]);\n\n return (\n <>\n {Object.keys(formState.contact).map((key, i) => (\n
\n \n \n dispatch({ value, key, type: \"contact\" })\n }\n id={key}\n type={formState.contact[key].type}\n value={formState.contact[key].value}\n required={formState.contact[key].required}\n />\n
\n ))}\n \n );\n};\n","import React, { useContext } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { FormOfType } from \"./forms\";\nimport { PersonForm } from \"./forms/personForm\";\nimport { ContactForm } from \"./forms/contactForm\";\nimport { FormContext } from \"../../contexts/form-context\";\nimport { DeviceContext } from \"../../contexts/device-context\";\nimport { Loading } from \"../loading\";\nimport { ReactComponent as Done } from \"../../assets/svg/done.svg\";\n\nconst formTypes = [\n { type: \"text\", text: \"skicka in text\" },\n { type: \"video\", text: \"skicka in video\" },\n { type: \"audio\", text: \"skicka in ljud\" },\n];\n\nexport const FormSent = () => (\n \n {({ resetForm }) => (\n
\n

Tack!

\n
\n \n
\n\n
\n Klicka här för att återgå till förstasidan\n
\n
\n )}\n
\n);\n\nconst Info = () => (\n <>\n

\n Information om behandling av personuppgifter\n

\n

\n När du kontaktar oss eller laddar upp videos på vår hemsida kan vi få\n tillgång till personuppgifter i form av bild, namn eller mejladress. Dessa\n kommer enbart att behandlas för det syfte och ändamål för vilket de\n samlades in, till exempel att via mejl ta kontakt i frågor som gäller ditt\n bidrag. Du kan närsomhelst begära att få dina uppgifter raderade från\n hemsidan.\n

\n \n);\n\nexport const Contact = () => (\n \n {({ submitForm, formType, videoUploaded, formSent }) => (\n
\n

Engagera dig!

\n
\n \n {formSent ? (\n \n ) : (\n
\n \n \n SKICKA\n \n \n )}\n
\n
\n )}\n
\n);\n\nconst Form = ({ activeType }) => (\n \n {(deviceType) => (\n \n {({ submitForm, formType, isUploading }) => (\n
\n {isUploading && }\n
\n {((formType && deviceType !== \"mobile\") ||\n (formType === activeType && deviceType === \"mobile\")) && (\n <>\n \n
\n
\n \n \n \n SKICKA\n \n
\n \n )}\n
\n
\n )}\n
\n )}\n
\n);\n\nexport const Send = () => {\n const deviceType = useContext(DeviceContext);\n const { formType, setFormType, formSent, resetForm } = useContext(\n FormContext\n );\n\n const handleMobileClick = (type) => {\n setFormType(type);\n\n setTimeout(() => {\n const button = document\n .querySelector(`#form-button-${type}`)\n .getBoundingClientRect();\n const header = document.querySelector(\"header\");\n const topOffset = button.top + window.pageYOffset - header.clientHeight;\n\n window.scrollTo({ left: 0, top: topOffset, behavior: \"smooth\" });\n }, 0);\n };\n\n return (\n
\n

SBAR-Formulär

\n\n {deviceType === \"mobile\" ? (\n
\n {formTypes.map((t, i) => (\n
\n {\n handleMobileClick(t.type);\n resetForm();\n }}\n id={`form-button-${t.type}`}\n className={`form-control--button button ${\n deviceType === \"mobile\" ? \"button--full\" : \"\"\n } ${t.type === formType ? \"button--filled\" : \"\"}`}\n >\n {t.text}\n \n {formSent && t.type === formType ? (\n \n ) : (\n \n )}\n
\n ))}\n
\n ) : (\n <>\n
\n {formTypes.map((t, i) => (\n {\n setFormType(t.type);\n resetForm();\n }}\n className={`form-control--button button ${\n deviceType === \"mobile\" ? \"button--full\" : \"\"\n } ${t.type === formType ? \"button--filled\" : \"\"}`}\n >\n {t.text}\n \n ))}\n
\n\n {formSent ? : }\n \n )}\n
\n );\n};\n","import React from \"react\";\n\nexport const SendInText = () => (\n <>\n

\n För att spela in en SBAR kan du som enklast prata in direkt i din egen\n mobilkamera. Tänk då i huvudsak på två saker; ljud och ljus. Om du har ett\n head-set kan det vara fördelaktigt att använda den mikrofonen för bättre\n ljudupptagning och tänk på att inte filma i motljus.\n

\n

\n Om du vill vara anonym går det så klart alldeles utmärkt. Allt du i så\n fall behöver göra är att inte rikta kameran mot dig själv. Filma en fasad\n eller utsidan av din arbetsplats eller liknande istället för dig själv när\n du läser in din SBAR-rapport. Det går också bra att bidra med text för att\n vara anonym.\n

\n

\n Om du vill göra en film om din arbetssituation i ett annat format än SBAR\n så går det så klart bra. Huvudsaken är att just din åsikt hörs!\n

\n\n

Dela din berättelse här!

\n \n);\n","import React from \"react\";\nimport { Send } from \"../components/form\";\nimport { Intro } from \"../components/intro\";\nimport { SendInText } from \"../components/intro/sendInText\";\n\nexport const SendView = () => (\n <>\n \n \n \n \n \n);\n","import React from \"react\";\nimport { Contact } from \"../components/form\";\n\nexport const ContactView = () => ;\n","import React from \"react\";\n\nexport const AboutText = () => (\n <>\n

\n SBAR (Situation / Bakgrund / Aktuellt / Rekommendation) är en\n kommunikationsmodell som används i vården för att överlämna information om\n en patient på ett snabbt och effektivt sätt. Vi vänder om SBAR för att\n spegla oss själva och förstå den situation vi är i nu. Vi gör SBAR till\n vårt verktyg, för att med det uttrycka vad vi som arbetar i vården tycker\n är fel och vad vi behöver göra åt det. Projektet är finansierat och\n utformat av SAC Syndikalisterna för alla arbetare, oavsett\n facklig hemvist.\n

\n\n

\n Vårdarbete och omsorgsarbete har alltid förknippats med kvinnor och\n kvinnors obetalda arbete i hemmet, men också kvinnors underbetalda\n lönearbete. Även om det idag finns vårdarbetare av alla kön, gör den\n patriarkala nedvärderingen av kvinnor och arbete som kodas som kvinnligt\n att vård- och omsorgsarbete fortfarande nedvärderas. Omsorgsarbete handlar\n om att skapa återhämtning och välmående. Det är helt grundläggande för att\n samhället ska fungera. Ändå plockas vården och patientsäkerheten stadigt\n isär för att vårdbolagen ska tjäna mer och mer pengar på vår hälsa och\n ohälsa. Att vården inte prioriteras, och att vård- och omsorgsarbetares\n hälsa och behov av återhämtning inte respekteras tyder på en total\n ignorans inför nödvändigheten i arbetet. Här behövs, lika mycket som ett\n klassperspektiv - ett feministiskt perspektiv. Vi behöver förgöra\n föreställningar om vård och omsorg som en outtömlig naturresurs att\n exploatera. Vår vård behöver omsorg för att kunna fortgå och inte\n förbrukas. Att uppvärdera det arbetet handlar inte om några applåder på\n balkongen, utan om att vård- och omsorgsarbetares löner, arbetsmiljö och\n villkor förbättras. Utan det - ingen vård.\n

\n \n);\n","import React from \"react\";\nimport { Intro } from \"../components/intro\";\nimport { AboutText } from \"../components/intro/aboutText\";\nimport { DeviceContext } from \"../contexts/device-context\";\n\nexport const AboutView = () => (\n \n {(deviceType) => (\n \n \n \n )}\n \n);\n","import React from \"react\";\n\nexport const NursingConference = () => (\n <>\n

Omvårdnadskonferensen

\n

\n Omvårdnadskonferensen samlar vårdarbetare och fackföreningar inom vård och\n omsorg. Den kommer att hållas under sensommaren 2021.\n

\n\n

\n Detta projekt stöds av SAC Syndikalisterna och är en del av arbetet inför\n en kommande omvårdnadskonferens. I höst bjuder SAC in brett till en\n konferens om tvärfacklig mobilisering inom vården. Alla som arbetar inom\n vården är välkomna att delta i konferensen oavsett facklig tillhörighet.\n

\n

\n Vi bjuder in till denna konferens då våra medlemmar inom vården\n identifierat stora problem. Syftet är att få igång en mobiliseringsprocess\n inom vården, av vårdpersonal för vårdpersonal. SAC hävdar ingen äganderätt\n i detta projekt utan vill endast ge våra arbetskamrater verktyg att driva\n egna kampanjer med, oavsett vilken fackförening de tillhör.\n

\n

\n Om SAC: Sveriges Arbetares Centralorganisation (SAC) har funnits sedan\n 1910. Vi är partipolitiskt obundna och finns som ett alternativ till den\n socialdemokratiska fackföreningsrörelsen. För mer info:{\" \"}\n \n (www.sac.se)\n \n

\n \n);\n","import React from \"react\";\nimport { Intro } from \"../components/intro\";\nimport { NursingConference } from \"../components/intro/nursingConference\";\nimport { DeviceContext } from \"../contexts/device-context\";\n\nexport const NursingConferenceView = () => (\n \n {(deviceType) => (\n \n \n \n )}\n \n);\n","import React from \"react\";\nimport { Header, Footer } from \"./layout\";\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\nimport { StoriesContextProvider } from \"./contexts/stories-context\";\nimport { ActiveStoryContextProvider } from \"./contexts/active-story-context\";\nimport { FormContextProvider } from \"./contexts/form-context\";\nimport { DeviceContextProvider } from \"./contexts\";\nimport { RestoreScrollOnNavigation } from \"./components/restoreScroll\";\nimport { LandingView } from \"./views/landing\";\nimport { SendView } from \"./views/send\";\nimport { ContactView } from \"./views/contact\";\nimport { AboutView } from \"./views/about\";\nimport { NursingConferenceView } from \"./views/nursingConference\";\n\nexport const App = () => (\n \n \n \n \n \n \n
\n
\n {\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n
\n