{"version":3,"sources":["pages/admin/AnswerPdf.tsx","pages/powerBi/PbiReportComponent.tsx","api/axios-instance.ts","hooks/useCookie.ts","auth/AuthContext.tsx","assets/svg/OI_logo.svg","hooks/useSelectedLanguage.ts","hooks/useConfig.tsx","components/SelectedLanguage.tsx","components/TopBar.tsx","components/PostIt.tsx","components/forms/RegisterOrganization.tsx","hooks/useSelectedOrganizationId.ts","components/SelectOrganization.tsx","components/Organization.tsx","components/Layout.tsx","components/LoginCallback.tsx","components/LogoutCallback.tsx","pages/admin/AdminLayout.tsx","components/UploadFile.tsx","components/UploadList.tsx","components/calls/text/Creator.tsx","components/calls/text/Filler.tsx","components/mini DYI/miniDYIStore.ts","components/mini DYI/SelectStakeholder.tsx","components/mini DYI/SelectIndicator.tsx","components/mini DYI/SDGImage.tsx","components/mini DYI/SelectOutcome.tsx","components/mini DYI/SelectSDG.tsx","components/mini DYI/SelectBudget.tsx","components/CallStepper.tsx","components/mini DYI/Intro.tsx","components/mini DYI/AddNewOutcome.tsx","utils/makeKey.ts","components/mini DYI/CustomOutComeStep.tsx","components/mini DYI/MiniDYI.tsx","pages/admin/AccordionOutcomes.tsx","pages/survey/survey.tsx","pages/calls/stepsConfig.tsx","components/Uploader.tsx","components/forms/CreateStep.tsx","pages/admin/castToDate.tsx","pages/admin/CreateCall.tsx","pages/admin/CreateCallType.tsx","pages/admin/createSurvey.tsx","pages/admin/createSurveyType.tsx","utils/AddMonths.ts","pages/admin/sections/CustomizeList.tsx","pages/admin/Dashboard.tsx","pages/admin/FilesList.tsx","pages/admin/FileUpload.tsx","pages/calls/call.tsx","pages/calls/callList.tsx","components/forms/CreateStepType.tsx","pages/calls/steps.tsx","pages/organizations/organizationEdit.tsx","pages/organizations/organizationsList.tsx","pages/powerBi/PbiReport.tsx","pages/powerBi/PbiReportList.tsx","pages/survey/surveyLayout.tsx","pages/admin/EditCall.tsx","pages/WelcomePage.tsx","translations/index.ts","components/forms/ExcelReader.tsx","components/forms/CreateFramework.tsx","components/forms/ImageUploaded.tsx","components/forms/CustomizeInstallation.tsx","pages/admin/StepsListReport.tsx","pages/admin/SurveyJsDashboard.tsx","pages/admin/sections/ReportByStep.tsx","pages/admin/AccordionStakeholders.tsx","pages/admin/FrameworkView.tsx","pages/admin/AttachmentsList.tsx","pages/powerBi/PbiReportRls.tsx","App.tsx","serviceWorkerRegistration.ts","reportWebVitals.ts","index.tsx","components/Loading.tsx","api/endpoints/index.ts","components/Editor.tsx"],"names":["pdfMake","vfs","pdfFonts","require","AnswerPdf","callId","subId","t","useTranslation","fullAnswerForPDF","useGetApiCallGetAllAnswerForPdf","data","variant","color","mt","radius","style","float","onClick","dataURL","configLogo","all","sectionsForPDF","map","e","section","content","questions","JSON","parse","answersJSON","answers","console","log","pages","elements","forEach","element","name","type","rows","push","text","title","r","rval","undefined","value","rtit","answer","columns","width","toString","canvas","x1","y1","x2","y2","tbl","table","headerRows","widths","length","body","c","rv","layout","hLineWidth","i","node","vLineWidth","hLineColor","vLineColor","filter","otherText","toret","items","item","otherAnswer","showOtherItem","sectionName","renderQuestions","attachments","attachmentTitle","fileName","renderAttachment","fullAttachments","ifSection","additionalProperties","StepName","selectedOutcomes","outcome","outcomeName","stakeholderName","indicators","indicator","indicatorName","indicatorTargetValue","proxyName","proxyValue","renderIf","miniDyi","docDefinition","pageSize","pageMargins","defaultStyle","fontSize","styles","callheader","bold","lineHeight","blankLine","header","marginTop","marginBottom","header1","question","marginRight","italics","footer","footerLeft","marginLeft","tableHeader","alignment","tableHeaderRow","tableCell","image","configLogoWidth","height","configLogoHeight","callName","submittedBy","submissionDateTime","submissionId","orgName","pIva","address","city","country","userReferenteNome","userReferenteCognome","userReferenteRuolo","userReferenteEmail","currentPage","pageCount","createPdf","download","PbiReportComponent","pbi","useState","report","setReport","embedReport","fullscreen","m","embedConfig","id","reportId","embedUrl","accessToken","embedToken","token","tokenType","models","TokenType","Embed","settings","panes","filters","expanded","visible","showFilters","eventHandlers","Map","event","cssClassName","getEmbeddedComponent","embeddedReport","AXIOS_INSTANCE","Axios","create","baseURL","customInstance","config","source","CancelToken","promise","cancelToken","then","cancel","useCookie","key","defaultValue","document","cookie","split","reduce","total","currentCookie","storedKey","storedValue","decodeURIComponent","getItem","setCookie","numberOfDays","now","Date","setTime","getTime","toUTCString","setItem","AuthContext","createContext","useAuth","useContext","useRefreshToken","AuthProvider","children","navigate","useNavigate","updateAccessToken","access_token","setAccessToken","mutate","getGetApiUserKey","isAuthenticated","isAdmin","isLoading","setValue","user","useGetApiUser","swr","revalidateIfStale","revalidateOnFocus","revalidateOnReconnect","useEffect","interceptorId","interceptors","request","use","headers","Authorization","error","Promise","reject","response","status","replace","eject","prevValue","roles","some","role","toLowerCase","Provider","RequireAuth","auth","location","useLocation","Loading","to","state","from","_style","_g","_text","_excluded","_extends","Object","assign","bind","target","arguments","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgOiLogo","_ref","svgRef","titleId","props","xmlns","xmlnsXlink","x","y","viewBox","enableBackground","xmlSpace","ref","className","points","d","transform","ForwardRef","useSelectedLanguage","defaultLanguage","ConfigContext","React","ConfigProvider","useGetApiConfigGetConfig","Center","Flex","direction","align","Loader","useConfig","Error","SelectLanguage","selectedLanguage","setSelectedLanguage","Select","onChange","lang","window","reload","size","label","TopBar","Header","p","fixed","top","dir","zIndex","px","justify","Group","ml","logoBase64","src","alt","grow","mx","Menu","trigger","openDelay","closeDelay","languageSelection","Target","Text","firstName","lastName","Avatar","toUpperCase","Dropdown","Item","component","Link","icon","href","process","Anchor","Button","leftIcon","PostIt","styled","div","RegisterOrganization","form","useForm","initialValues","contact_name","contact_surname","contact_email","email","contact_role","personalData","selfCertification","termsOfService","nordicCountry","preFunding","chnageInLife","Box","onSubmit","values","postApiOrganizationCreateOrganization","res","getGetApiOrganizationGetOrganizationsKey","showNotification","message","closeAllModals","Stack","TextInput","withAsterisk","getInputProps","rightSection","Tooltip","multiline","placeholder","Divider","my","Title","order","dataConsentText","Checkbox","position","disabled","reg_number","city_name","street_name","useSelectedOrganizationId","LsHookReturn","useLocalStorage","selectedOrganizationId","SelectedOrganizationId","getGetApiCallGetCallListUserKey","SelectOrganization","useGetApiOrganizationGetOrganizations","orgs","setSelectedOrganizationId","firstOrg","Array","isArray","organizationSelection","o","OrganizationMenu","openRegisterOrgModal","openModal","StyledContainer","Container","StyledFlex","sidebarStore","set","setContent","sidebarOpen","setSidebarOpen","open","Layout","sidebarContent","useStore","isSidebarOpen","setState","pathname","preload","getGetApiCallGetCallListKey","getApiCallGetCallList","getApiOrganizationGetOrganizations","Navbar","base","pt","h","innerHeight","ScrollArea","py","Organization","w","sm","md","lg","xl","pb","LoginCallback","useSearchParams","searchParams","code","get","userState","redirectUri","setRefreshToken","a","fetch","method","mode","cache","credentials","redirect","referrerPolicy","stringify","json","refresh_token","fetcher","url","exchangeToken","LogoutCallback","setSelectedOrgId","AdminLayout","UploadFile","setData","uploaded","setUploaded","loader","setLoader","errorDimension","setErrorDimension","fileChoice","setFileChoice","pdfFormat","PDF_MIME_TYPE","ExcelFormat","MS_EXCEL_MIME_TYPE","WordFormat","MS_WORD_MIME_TYPE","ImageFormat","IMAGE_MIME_TYPE","useGetApiFileUploadGetAttachmentTypes","dataAttachments","isLoadingAttachments","useMemo","file_type","file_name","mandatory","file_description","Paper","cursor","fw","filename","fileDownloadId","blob","fileURL","URL","createObjectURL","alink","createElement","click","onDrop","files","file","fileUploadReq","Nome","Descrizione","substring","TipoFileId","attachedType","File","dimensions","postApiFileUploadUploadFile","ret","catch","uploadFile","accept","sx","border","Creator","Editor","Filler","step","dangerouslySetInnerHTML","__html","compareOutcomes","b","customKey","outcomeId","compareIndicators","indicatorId","useMiniDyiStore","budget","setBudget","budgetSpent","setBudgetSpent","stepId","setStepId","sdg","cleanup","hydrate","newState","toggleSdg","sdgId","includes","toggleOutcome","so","addCustomOutcome","toggleIndicator","out","setOutcomeField","field","setIndicatorField","ind","SelectStakeholder","selectedStakeholder","setSelectedStakeholder","impactFrameworkId","ImpactFrameworkIdContext","useGetApiImpactFrameworkGetStakeholderType","ifSetId","stakeholderType","s","InfoTooltip","display","SelectIndicator","readOnly","useDisclosure","proxyHelpModalOpened","closeProxyHelpModal","close","proxyValueHelpModalOpened","closeProxyValueHelpModal","KPIHelpModalOpened","closeKPIHelpModal","indicatorTypeList","setIndicatorTypeList","postApiIndicatorGetIndicatorType","getIndicatorTypes","indicatorTypes","Modal","opened","onClose","mb","Space","Card","withBorder","ActionIcon","find","stakeholderId","stakeholder","gridTemplateColumns","gap","group","it","outcomeTypeId","indicatortype","alignSelf","justifySelf","proxyId","proxyTypeID","proxyTypeName","proxyTypeDefaultValue","mr","checked","weight","maxWidth","Input","Wrapper","description","required","Number","min","Images","path","SDGImage","imagePaths","Image","SelectOutcome","outcomeTypeList","setOutcomeTypeList","selectedOutcomeDetails","setSelectedOutcomeDetails","useCallback","outcomeIds","concat","postApiOutcomeGetOutcomeType","getOutcomeTypes","outcomeTypes","sort","borderBottom","minHeight","stopPropagation","Drawer","overlayProps","opacity","blur","Table","striped","l","SelectSDG","selectedSDG","setSelectedSDG","sdgs","useGetApiImpactFrameworkGetSdg","outcomeTypesList","setOutcomeTypesList","selectedSdgs","sdgCodes","sdgcodes","sdgCode","SimpleGrid","cols","keywords","SelectBudget","useStepperStore","steps","currentStep","setSteps","setCurrentStep","indexes","nextStep","currentStepRef","current","validate","nextSteps","subSteps","stepType","showClosingPage","previousStep","submission","callTypeId","results","readonly","storeSteps","sp","useParams","sub","useGetApiCallGetSubmissionByID","lowScore","setlowScore","highScore","setHighScore","showClosingPageLoader","setShowClosingPageLoader","setQuizRecap","setQuizScore","useGetApiStepGetSteps","loadingSteps","useRef","confirmModalAction","postApiCallCloseCallSubmission","callSubmissionId","getGetApiCallGetSubmissionByIDKey","stepStepTypeName","quiz","processResultsPromises","getApiImpactFrameworkMiniDYI","stepResult","miniRes","lowerScore","upperScore","score","quizResults","recap","stepswithSubsteps","tmp","closed","shift","pop","shadow","stepsConfig","StepCmp","FillableComponent","sr","resolve","postApiCallUpsertCallStepResult","rightIcon","openConfirmModal","labels","confirm","onConfirm","setSidebarContent","fullWidth","stepIndex","NavLink","active","childrenOffset","theme","borderLeft","colors","blue","substep","subStepIndex","MiniDyiIntro","AddNewOutcome","getOutcome","getIndicator","NumberInput","val","makeKey","result","characters","charactersLength","counter","charAt","Math","floor","random","CustomOutComeStep","customOutcomes","MiniDYI","forwardRef","currentSubStep","useImperativeHandle","sid","putMiniDYI","stepResultID","putApiImpactFrameworkPutMiniDYI","outcomes","useGetApiCallGetStepResult","StepId","shouldRetryOnError","currentStepResult","srLoading","srErr","saverCb","getGetApiCallGetStepResultKey","srId","hydrateCb","unsub","subscribe","AccordionOutcomes","framework","TextBold","fontWeight","TextLight","stakeholders","localeCompare","Accordion","chevron","Control","Panel","proxies","sourceName","StylesManager","applyTheme","Survey","model","isQuiz","survey","setSurvey","isValidJson","newSurvey","Model","completeLastPage","saveResults","sender","qa","quizAnswers","acc","curr","correctAnswersCount","focusFirstQuestionAutomatic","onComplete","add","onValueChanged","surveyData","CreationComponent","upload","initialData","setFiles","fileTypeList","handleFormChange","index","nameValue","preventDefault","Textarea","clearable","Switch","onLabel","offLabel","splice","handleRemoveForm","newfield","stepFiles","stepContentData","setStepContentData","setFirst","idx","selected","setSelected","frameworks","useGetApiImpactFrameworkGetImpactFrameworkSetList","useGetApiImpactFrameworkGetImpactFrameworkById","ImpactFrameworkId","editorLocalization","currentLocale","creator","SurveyCreator","showLogicTab","isAutoSave","haveCommercialLicense","saveSurveyFunc","saveNo","callback","bg","ModalTypeName","typeName","setOpened","centered","withCloseButton","IconTypeName","CreateStep","useGetApiStepGetStepTypes","stepTypes","errorStepTypes","selectedStepTypeId","setSelectedStepTypeId","setTypeName","contentBuffer","setContentBuffer","nameBuffer","setNameBuffer","stepTypeId","typeBuffer","setTypeBuffer","descriptionBuffer","setDescriptionBuffer","stepCreationComponent","setStepCreationComponent","setStepField","useNewCallStore","store","v","save","st","pos","bottom","castToDate","srcDateStr","endsWith","castToUnixTimestamp","compareSteps","openingAt","toDateString","closingAt","moveStepUp","moveStepDown","addStep","removeStep","setCall","clearCall","ModalInfoEdit","ModalCallLock","setLockEnd","CreateCall","useGetApiCallGetCallByIdAdmin","openedLockEndModal","setOpenedLockEndModal","stepEditorOpen","openStepEditor","closeStepEditor","selectedStep","setSelectedStep","useGetApiCallGetCallType","revalidateOnMount","callType","ctIsLoading","openingDate","setOpeningDate","closingDate","setClosingDate","lockDate","setLockDate","lockDateEnable","setLockDateEnable","callLockEnd","setValues","powerBIReportID","powerBIWorkspaceID","userPowerBIReportID","userPowerBIWorkspaceID","putApiCallUpsertCallType","getGetApiCallGetCallTypeKey","putApiCallUpdateCall","toISOString","getGetApiCallGetCallByIdAdminKey","Tabs","List","Tab","DateTimePicker","withSeconds","currentTarget","minDate","isUserFilterEnable","setFieldValue","expectedAnswers","right","padding","useNewStepsStore","addNewStep","newStep","produce","draft","clearSteps","editStep","stepKey","CreateCallType","getState","postApiCallCreateCallType","Grid","Col","span","creatorJson","completedHtml","completedHtmlOnCondition","expression","html","isRequired","rateMin","rateMax","minRateDescription","maxRateDescription","visibleIf","validators","maxCount","choices","colCount","showQuestionNumbers","creatorOptions","CreateSurvey","CreateSurveyType","postApiSJSurveyCreateSurveyType","addMonths","date","months","setMonth","getMonth","CustomizeList","useGetApiConfigGetConfigList","configs","getGetApiConfigGetConfigListKey","isActive","postApiConfigActivateConfig","configId","getGetApiConfigGetConfigKey","deleteApiConfigDeleteConfig","lazy","SubmissionsList","CallsList","FrameworkList","showCloseStore","show","setShow","setLabel","toggleShowCloseLabel","showClosed","Dashboard","activeTab","setActiveTab","showCloseLabel","setShowClosed","EMPTY_GUID","useGetApiPBITokens","workspacePowerBiId","reportPowerBiId","workspaceId","onTabChange","postApiCallCreateCall","fallback","FilesList","useGetApiFileUploadGetAttachments","descrizione","nomeAllegato","createdAt","nomeFile","FileUpload","useMantineTheme","formData","FormData","append","onReject","maxSize","MIME_TYPES","png","jpeg","docx","mp4","xlsx","spacing","pointerEvents","Accept","stroke","primaryColor","colorScheme","Reject","red","Idle","inline","Call","CallStepper","callCallTypeId","stepResults","CallList","useGetApiCallGetCallListUser","calls","selectedOrgId","handlePbi","handleSubmission","postApiCallUpsertCallSubmission","listName","submissionClosed","customFile","CreateStepType","postApiStepCreateStepType","Steps","OrganizationEdit","organizationId","useGetApiOrganizationGetOrganizationById","orgId","organization","orgError","date_of_foundation","putApiOrganizationUpdateOrganization","getGetApiOrganizationGetOrganizationByIdKey","OrganizationsList","postApiOrganizationDeleteOrganization","alert","org","PbiReport","params","wid","rid","PbiReportList","useGetApiPowerBiAvailable","groupId","RenderPbiList","pbilist","reportName","datasetId","generatePath","SurveyLayout","DateCast","str","EditCall","useGetApiCallGetCallTypes","callTypes","callTypeLoading","useGetApiCallGetCallById","callLoading","getGetApiCallGetCallByIdKey","WelcomePage","resources","en","translation","fr","i18n","initReactI18next","init","lng","fallbackLng","interpolation","escapeValue","ExcelReader","iconx","setIconx","loadedData","setLoadedData","input","backgroundColor","reader","FileReader","onload","evt","bstr","wb","XLSX","SheetNames","ws","Sheets","sheet_to_json","camelCase","replaceAll","createObjectFromArrays","readAsBinaryString","reset","timer","setTimeout","clearTimeout","CreateFramework","excel_design_your_impact","impactFramework","setImpactFramework","loadImpactFramework","duplicateIndicator","indicatore","proxy","valoreproxy","fonteproxy","sourceUrl","descrizioneIndicatore","descrizioneOutcome","sdgNumero","descrizioneStakeholder","putApiImpactFrameworkAddImpactFrameworkSet","appendChild","removeChild","underline","ta","ImageUploader","base64Image","setBase64Image","onloadend","readAsDataURL","CustomizeInstallation","domain","logoWidth","logoHeight","postApiConfigUpsertConfig","labelPosition","defaultChecked","StepsListReport","StepList","paddingTop","paddingBottom","vizPanelOptions","allowHideQuestions","SurveyJsDashboard","vizPanel","setVizPanel","VisualizationPanel","getAllQuestions","showToolbar","render","getElementById","innerHTML","ReportByStep","useGetApiStepGetStepById","useGetApiCallGetStepResultByCall","AccordionStakeholders","FrameworkView","getGetApiImpactFrameworkGetImpactFrameworkByIdKey","AttachmentsTable","fileChoices","tipoAllegatoName","AttachmentsList","useGetApiCallGetSubmissionByIDAdmin","PbiReportRls","useGetApiPBITokensGetPBITokenRls","oid","I18n","changeLanguage","I18nextProvider","App","MantineProvider","withGlobalStyles","withNormalizeCSS","fontFamily","fontFamilyMonospace","headings","ModalsProvider","NotificationsProvider","getApiCallGetSubmissionByID","Boolean","hostname","match","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","baseUrl","getElementsByTagName","getAttribute","rootElement","createRoot","basename","navigator","serviceWorker","ready","registration","unregister","options","swrOptions","isEnabled","enabled","swrKey","query","useSwr","getApiCallGetCallById","getApiCallGetCallByIdAdmin","useGetApiCallGetCallList","getGetApiCallGetCallTypesKey","createCallDto","callDtoAdmin","postApiCallDeleteCall","getGetApiCallGetAllAnswerForPdfKey","getApiCallGetAllAnswerForPdf","createSubmissionDtoBody","callStepResultDto","getGetApiCallGetSubmissionByIDAdminKey","getApiCallGetSubmissionByIDAdmin","getApiCallGetStepResult","getGetApiCallGetStepResultByCallKey","getApiCallGetStepResultByCall","getGetApiCallGetSubmissionsKey","useGetApiCallGetSubmissions","createCallTypeDtoBody","getApiCallGetCallType","postApiCallSubmissionAddCustomFile","extraInfoAllegatoResultForSubmission","postApiCallSubmissionReOpenSubmission","postApiCallSubmissionDeleteSubmission","appConfigDTOBody","postApiFileuploadUploadfiletosubmissionBody","getGetApiImpactFrameworkGetImpactFrameworkSetListKey","getApiImpactFrameworkDeleteImpactFrameworkSet","getApiImpactFrameworkGetImpactFrameworkById","impactFrameworkDTO","miniDyiReqDTO","getGetApiImpactFrameworkGetStakeholderTypeKey","getApiImpactFrameworkGetStakeholderType","bodyBody","createOrgDto","getApiOrganizationGetOrganizationById","organizationDto","postApiOutcomeGetOutcomeTypeBody","getGetApiPBITokensKey","getApiPBITokens","getGetApiPBITokensGetPBITokenRlsKey","getApiPBITokensGetPBITokenRls","getGetApiPowerBiAvailableKey","getApiPowerBiAvailable","postApiSendEmailSendEmail","logEmailDto","sJSurveyTypeDTO","getGetApiStepGetStepByIdKey","getApiStepGetStepById","getGetApiStepGetStepsKey","getApiStepGetSteps","createStepTypeDto","editor","useEditor","extensions","StarterKit","Underline","Superscript","SubScript","Highlight","TextAlign","configure","types","onUpdate","getHTML","Toolbar","sticky","stickyOffset","ControlsGroup","Bold","Italic","Strikethrough","ClearFormatting","Code","H1","H2","H3","H4","Blockquote","Hr","BulletList","OrderedList","Subscript","Unlink","AlignLeft","AlignCenter","AlignJustify","AlignRight","scrollHideDelay","Content","fz"],"mappings":"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","file":"static/js/main.ad8c7b5b.chunk.js","sourcesContent":["import React from 'react';\nimport { Button } from '@mantine/core';\nimport { Container, Title, Text, Stack, Group, Divider } from '@mantine/core';\n\n// Import pdfmake and its fonts\nimport pdfMake from \"pdfmake/build/pdfmake.js\";\nimport pdfFonts from \"pdfmake/build/vfs_fonts.js\";\nimport { ContentTable, TDocumentDefinitions } from 'pdfmake/interfaces';\nimport { useGetApiCallGetAllAnswerForPdf } from '../../api/endpoints';\nimport { AnswerSectionsForPDF, AttachmentForPdf, IFSelectedIndicator, IFSelectedOutcome, IFSurvey } from '../../api/model';\nimport { useTranslation } from 'react-i18next';\n\npdfMake.vfs = pdfFonts.pdfMake.vfs;\nconst fs = require('fs');\n\nexport interface AnswerPdfProps {\n callId?: string;\n subId?: string;\n}\n\nexport interface QuestionItem {\n name: string;\n title: string;\n inputType?: \"number\"; // Optional property for input type\n}\nexport interface QuestionChoices{\n value: string;\n text: string;\n}\nexport interface QuestionElement {\n type: \"multipletext\" | \"text\" | \"radiogroup\" | \"matrixdropdown\" | \"checkbox\" | \"comment\" | \"dropdown\" | \"matrix\";\n name: string;\n title: string;\n items?: QuestionItem[]; // Optional property for multipletext questions\n choices?: QuestionChoices[] | any[];\n columns?: QuestionItem[] | QuestionItem[] | any[];\n rows?: QuestionChoices[] | any[];\n showOtherItem?: boolean;\n otherText?: string;\n \n}\n\nexport interface Page {\n name: string;\n elements: QuestionElement[];\n}\n\nexport interface QuestionsJSON {\n logoPosition: string;\n pages: Page[];\n questionsOnPageMode: string;\n}\n\nexport interface RenderQuestion{\n title: string;\n questions: any[];\n}\n\nconst AnswerPdf : React.FC = ({ callId, subId }) => {\n const { t } = useTranslation();\n const renderAttachment = (section : AttachmentForPdf) => {\n let content:any[]= [];\n content.push({\n columns: [\n { text: `${section.attachmentTitle}:`, style: 'question', width: '60%' },\n { text: `${section.fileName}`, style: 'answer', width: '40%' }\n ]\n });\n //content.push({ text: `- ${section.fileName}`, style: 'header1' });\n return content;\n };\n\n const renderIf = (section : IFSurvey) => {\n let content:any[]= [];\n if(section === null || section === undefined) return content;\n\n content.push({ text: `${section.additionalProperties!.StepName}`, style: 'header' });\n section.selectedOutcomes!.forEach((outcome: IFSelectedOutcome) => {\n content.push({ text: `${t('export_pdf.outcome')}: ${outcome.outcomeName}`, style: 'question' });\n content.push({ text: `${t('export_pdf.stakeholder')}: ${outcome.stakeholderName}`, style: 'question' });\n content.push({\n columns: [\n { text: `${t('export_pdf.indicator')}`, style: 'question', width: '30%' },\n { text: `${t('export_pdf.target_value')}`, style: 'answer', width: '20%' },\n { text: `${t('export_pdf.proxy')}`, style: 'question', width: '30%' },\n { text: `${t('export_pdf.proxy_value')}`, style: 'answer', width: '20%' }\n \n ]\n });\n outcome.indicators!.forEach((indicator: IFSelectedIndicator) => {\n content.push({\n columns: [\n { text: `${indicator.indicatorName}:`, style: 'question', width: '30%' },\n { text: `${indicator.indicatorTargetValue}`, style: 'answer', width: '20%' },\n { text: `${indicator.proxyName}:`, style: 'question', width: '30%' },\n { text: `${indicator.proxyValue}` , style: 'answer', width: '20%' }\n \n ]\n });\n });\n content.push({ canvas: [{ type: 'line', x1: 0, y1: 5, x2: 550, y2: 5, color: '#333'}] }); // Line as a divider\n });\n \n //content.push({ text: `- ${section.fileName}`, style: 'header1' });\n return content;\n };\n\n const renderQuestions = (section: AnswerSectionsForPDF) => {\n let content:any[]= [];\n let questions:QuestionsJSON = JSON.parse(section.questions!);\n let answersJSON = section.answers != \"\" ? JSON.parse(section.answers!) : [];\n console.log(\"questions\",questions.pages[0].elements);\n // console.log(\"answersJSON\",answersJSON);\n questions.pages[0].elements.forEach((element: QuestionElement) => {\n // console.log(\"element.name\",element.name);\n\n if(answersJSON[element.name]){\n \n \n if (element.type == 'matrix' && element.rows){\n \n // console.log(\"found matrix\",element,answersJSON[element.name]);\n \n \n content.push({ text: `${element.title ?? element.name}`, style: 'header1' });\n element.rows!.map((r:any) => {\n const rval = r.value === undefined ? r : r.value;\n const rtit = r.text === undefined ? r : r.text;\n\n const answer = answersJSON[element.name] && answersJSON[element.name][rval];\n if(answer)\n content.push({\n columns: [\n { text: `${rtit}:`, style: 'question', width: '60%' },\n { text: answer ? answer.toString() : '', style: 'answer', width: '*' }\n ]\n });\n content.push({ canvas: [{ type: 'line', x1: 0, y1: 5, x2: 550, y2: 5, color: '#333'}] }); // Line as a divider\n });\n \n }else if (element.type == 'matrixdropdown' ){\n //console.log(\"found element.name\",element.name);\n \n var tbl:ContentTable = {\n table :{\n headerRows: 1,\n //widths: [ '*', 'auto', 100, '*' ],\n widths: [`${100/((element.columns?.length??1)+1)}%`, ...element.columns!.map(() => {\n // console.log(\"columns\",element.columns?.length,`${100/((element.columns?.length??1)+1)}%`);\n \n return `${100/((element.columns?.length??1)+1)}%`;\n })],\n //widths: ['auto', ...element.columns!.map(() => \"auto\")],\n body: [\n\n // Header row with borders\n [\n { text: ' ', style: 'tableHeader' },\n ... element.columns!.map((c:QuestionItem) => {\n if(c.title === undefined) return { text: `${c.name}`, style: 'tableHeader' };\n \n return { text: `${c.title}`, style: 'tableHeader' }})\n // { text: 'Header 1', style: 'tableHeader' },\n // { text: 'Header 2', style: 'tableHeader' }\n ],\n \n // Data rows with borders\n ... element.rows!.map((r:QuestionChoices) => {\n var rtit = r.text\n var rv = r.value\n if(rtit === undefined) rtit = r.value\n if(rtit === undefined) rtit = `${r}`\n if(rv === undefined) rv = `${r}`\n\n // console.log(\"r.text\",r.text);\n // console.log(\"r.value\",r.value);\n // console.log(\"r\",r);\n // console.log(\"element.name\",element.name);\n \n return [\n { text: `${rtit}`, style: 'tableHeaderRow' },\n ...element.columns!.map((c:QuestionItem) => {\n // console.log(\"c.name\",c.name);\n // console.log(\"element.name\",element.name);\n // console.log(\"r.value\",r.value);\n // console.log(\"answersJSON\",answersJSON);\n // console.log(\"answersJSON[element.name]!\",answersJSON[element.name]!);\n // console.log(\"answersJSON[element.name]![r.value]!\",answersJSON[element.name]![rv]!);\n // console.log(\"answersJSON[element.name]![r.value]![c.name]!\",answersJSON[element.name]![r.value]![c.name]!);\n if(answersJSON[element.name]! === undefined || answersJSON[element.name]![rv]! === undefined || answersJSON[element.name]![rv]![c.name]! === undefined) return {};\n return { text: `${answersJSON[element.name]![rv]![c.name]!}`, style: 'tableCell' }})\n ]})\n \n \n ],\n \n }, layout: {\n hLineWidth: function (i, node) {\n // console.log(\"hLineWidth(i, node)\", i, node)\n if (i === 0) return 0;\n return i === node.table.body.length ? 0.2 : 0.2;\n },\n vLineWidth: function (i, node) {\n // console.log(\"vLineWidth(i, node)\", i, node)\n return i === 0 || i === node.table.widths!.length ? 0 : 0;\n },\n hLineColor: function (i, node) {\n return '#333';\n },\n vLineColor: function (i, node) {\n return '#333';\n }\n }\n }\n //console.log(\"tbl\",tbl);\n\n content.push(tbl);\n \n }else if(element.type == 'checkbox'){\n //console.log(\"element\",element);\n var answer:string[] = answersJSON[element.name];\n if (answersJSON[`${element.name}-Comment`]){\n \n answer = answer.filter((i) => i !== 'other');\n answer.push(`${element.otherText ?? 'Altro'}: ${answersJSON[`${element.name}-Comment`]}`)\n\n }\n \n var toret = {\n columns: [\n { text: `${element.title ?? element.name}:`, style: 'question', width: '60%'}, //60%\n { text: answer ? answer.toString() : '', style: 'answer', width: 'auto' } //40%\n ]\n }\n //console.log(\"toret\",toret);\n \n content.push(toret);\n }else if (element.items) {\n content.push({ text: `${element.title ?? element.name}`, style: 'header1' });\n element.items.forEach((item: { title: string | null | undefined; name: string; }) => {\n const answer = answersJSON[element.name] && answersJSON[element.name][item.name];\n if(answer){\n\n // console.log(\"answer\",answer);\n // console.log(\"item\",item);\n content.push({\n columns: [\n { text: `${item.title}:`, style: 'question', width: '60%' },\n { text: answer ? answer.toString() : '', style: 'answer', width: 'auto' }\n ]\n });\n }\n content.push({ canvas: [{ type: 'line', x1: 0, y1: 5, x2: 550, y2: 5, color: '#333'}] }); // Line as a divider\n });\n } else {\n const answer = answersJSON[element.name] ?? '';\n var otherAnswer = '';\n\n if(element.showOtherItem && answer === 'other') {\n otherAnswer = `${element.otherText ?? t('export_pdf.other')}: ${answersJSON[`${element.name}-Comment`]}`;\n }\n // console.log(\"answer\",answer);\n // console.log(\"otherAnswer\",otherAnswer);\n\n content.push({\n columns: [\n { text: `${element.title ?? element.name}:`, style: 'question', width: '60%'},\n { text: answer === 'other' ? otherAnswer : answer.toString(), style: 'answer', width: 'auto' }\n ]\n });\n\n \n // content.push({ text: answer ? answer.toString() : '' });\n }\n \n // Add a divider after each question\n // content.push({ canvas: [{ type: 'line', x1: 0, y1: 5, x2: 550, y2: 5 }] }); // Line as a divider\n content.push({ text: ' ', style: 'blankLine' });\n }\n });\n content.push({ canvas: [{ type: 'line', x1: 0, y1: 5, x2: 550, y2: 5 }] }); // Line as a divider\n \n return {title: section.sectionName!, questions:content};\n };\n // const questionsJSON: QuestionsJSON = {\"logoPosition\":\"right\",\"pages\":[{\"name\":\"page1\",\"elements\":[{\"type\":\"multipletext\",\"name\":\"question1\",\"title\":\"Please write the number of male, female or nonbinary persons being founders of the company. \",\"items\":[{\"name\":\"text1\",\"title\":\"Male\"},{\"name\":\"text2\",\"title\":\"Female\"},{\"name\":\"text3\",\"title\":\"Nonbinary\"}]},{\"type\":\"multipletext\",\"name\":\"question6\",\"title\":\"Please write the number of male, female or nonbinary persons having managerial positions in the company. This may include directors, general managers, board members, etc.\",\"items\":[{\"name\":\"text1\",\"title\":\"Male\"},{\"name\":\"text2\",\"title\":\"Female\"},{\"name\":\"text3\",\"title\":\"Nonbinary\"}]},{\"type\":\"multipletext\",\"name\":\"question2\",\"title\":\"Please write the total number of male employees in the company\",\"items\":[{\"name\":\"full-time\",\"inputType\":\"number\",\"title\":\"Full Time\"},{\"name\":\"part-time\",\"inputType\":\"number\",\"title\":\"Part Time\"},{\"name\":\"intern\",\"inputType\":\"number\",\"title\":\"Intern / Trainees\"},{\"name\":\"volunteer\",\"inputType\":\"number\",\"title\":\"Volunteer\"}]},{\"type\":\"multipletext\",\"name\":\"question3\",\"title\":\"Please write the total number of female employees in the company\",\"items\":[{\"name\":\"full-time\",\"inputType\":\"number\",\"title\":\"Full Time\"},{\"name\":\"part-time\",\"inputType\":\"number\",\"title\":\"Part Time\"},{\"name\":\"intern\",\"inputType\":\"number\",\"title\":\"Intern / Trainees\"},{\"name\":\"volunteer\",\"inputType\":\"number\",\"title\":\"Volunteer\"}]},{\"type\":\"multipletext\",\"name\":\"question4\",\"title\":\"Please write the total number of nonbinary employees in the company\",\"items\":[{\"name\":\"full-time\",\"inputType\":\"number\",\"title\":\"Full Time\"},{\"name\":\"part-time\",\"inputType\":\"number\",\"title\":\"Part Time\"},{\"name\":\"intern\",\"inputType\":\"number\",\"title\":\"Intern / Trainees\"},{\"name\":\"volunteer\",\"inputType\":\"number\",\"title\":\"Volunteer\"}]},{\"type\":\"text\",\"name\":\"question5\",\"title\":\"Please describe if the company has any formal collaborations with other actors. This could be for example an incubator, research centers, public agencies, or if the company is a spin out from a university or another company.\"}]}],\"questionsOnPageMode\":\"singlePage\"};\n\n // const answersJSON: any = {\"question1\":{\"text1\":\"2\",\"text2\":\"1\"},\"question6\":{\"text1\":\"3\",\"text2\":\"2\"},\"question3\":{\"full-time\":9,\"part-time\":1,\"intern\":1},\"question2\":{\"full-time\":12,\"intern\":1},\"question5\":\"Company is a spin out from Auckland University and today we have collaboration with public research and we are part of different ecosystem regional in France, national and Europe (around 5 ongoing collaborations) \"};\n const {data: fullAnswerForPDF} = useGetApiCallGetAllAnswerForPdf({callId: callId, subId: subId})\n\n \n \n\n const generatePDF = () => {\n\n // console.log(\"fullAnswerForPDF\",fullAnswerForPDF)\n\n // Read the image file and convert it to base64\n const dataURL = fullAnswerForPDF?.configLogo ?? `data:image/png;base64,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`;\n \n var all = fullAnswerForPDF?.sectionsForPDF?.map((e) => {return renderQuestions(e)})\n var attachments = fullAnswerForPDF?.attachments?.map((e) => {return renderAttachment(e)})\n var fullAttachments = [] as any[];\n if( attachments && attachments?.length > 0){\n fullAttachments.push( { text: `${t('export_pdf.attachments')}:`, style: 'header' } )\n fullAttachments = [fullAttachments, ... attachments]\n }\n var ifSection = renderIf(fullAnswerForPDF?.miniDyi!);\n //console.log(\"ifSection\", ifSection)\n // var questionsContent: any[] = renderQuestions(fullAnswerForPDF?.sectionsForPDF);\n // var questionsContent1: any[] = renderQuestions(questionsJSON.pages[0].elements);\n // var questionsContent2: any[] = renderQuestions(questionsJSON.pages[0].elements);\n\n const docDefinition:TDocumentDefinitions = {\n pageSize: 'A4',\n pageMargins: [20, 20, 20, 20],\n defaultStyle: { fontSize: 12 },\n \n styles: {\n callheader: {\n fontSize: 18,\n bold: true,\n lineHeight: 1\n },\n blankLine: {\n fontSize: 12,\n lineHeight: 1.5 // Adjust this value to increase or decrease the space\n },\n header: {\n fontSize: 16,\n bold: true,\n marginTop: 15,\n marginBottom: 10,\n },\n header1: {\n fontSize: 12,\n bold: true\n },\n question: {\n bold: true,\n fontSize: 10,\n marginRight: 5,\n marginTop: 5,\n\n \n // border: [true, true, true, true]\n },\n answer: {\n marginTop: 5,\n fontSize: 10, \n color: '#333',\n italics: true,\n \n },\n footer:{\n marginRight: 15,\n fontSize: 8, \n color: '#333',\n italics: true,\n },\n footerLeft: {\n marginLeft: 15,\n fontSize: 8, \n color: '#333'\n },\n tableHeader: {\n bold: true,\n fontSize: 10, \n // fillColor: '#f2f2f2',\n alignment: 'center',\n // border: [true, true, true, true] // Top, right, bottom, left\n },\n tableHeaderRow: {bold: true,\n fontSize: 10, alignment: 'left', },\n tableCell: {\n fontSize: 10, \n alignment: 'center',\n // border: [true, true, true, true] // Top, right, bottom, left\n }\n },\n\n content: [\n \n { image: dataURL, width: fullAnswerForPDF?.configLogoWidth ?? 50, height: fullAnswerForPDF?.configLogoHeight ?? 50 }, // Add logo here\n { text: fullAnswerForPDF?.callName ?? \"Call\" , style: 'callheader' },\n { text: ' ', style: 'blankLine' },\n { text: `${t('export_pdf.submitted_by')}: ${fullAnswerForPDF?.submittedBy}`, style: 'blankLine' },\n { text: `${t('export_pdf.submitted_when')}: ${fullAnswerForPDF?.submissionDateTime}`, style: 'blankLine' },\n { text: `${t('export_pdf.code')}: ${fullAnswerForPDF?.submissionId}`, style: 'blankLine' },\n { text: `${t('export_pdf.general_info')}`, style: 'header' },\n {\n columns: [\n { text: `${t('export_pdf.org_name')}:`, style: 'question', width: '60%'},\n { text: `${fullAnswerForPDF?.orgName}`, style: 'answer', width: '40%' }\n ]\n },\n {\n columns: [\n { text: `${t('export_pdf.p_iva')}:`, style: 'question', width: '60%'},\n { text: `${fullAnswerForPDF?.pIva}`, style: 'answer', width: '40%' }\n ]\n },\n {\n columns: [\n { text: `${t('export_pdf.address')}:`, style: 'question', width: '60%'},\n { text: `${fullAnswerForPDF?.address}`, style: 'answer', width: '40%' }\n ]\n },\n {\n columns: [\n { text: `${t('export_pdf.city')}:`, style: 'question', width: '60%'},\n { text: `${fullAnswerForPDF?.city}`, style: 'answer', width: '40%' }\n ]\n },\n {\n columns: [\n { text: `${t('export_pdf.country')}:`, style: 'question', width: '60%'},\n { text: `${fullAnswerForPDF?.country}`, style: 'answer', width: '40%' }\n ]\n },\n { text: `${t('export_pdf.reference')}`, style: 'header' },\n {\n columns: [\n { text: `${t('export_pdf.ref_name')}:`, style: 'question', width: '60%'},\n { text: `${fullAnswerForPDF?.userReferenteNome}`, style: 'answer', width: '40%' }\n ]\n },\n {\n columns: [\n { text: `${t('export_pdf.ref_last_name')}:`, style: 'question', width: '60%'},\n { text: `${fullAnswerForPDF?.userReferenteCognome}`, style: 'answer', width: '40%' }\n ]\n },\n {\n columns: [\n { text: `${t('export_pdf.ref_role')}:`, style: 'question', width: '60%'},\n { text: `${fullAnswerForPDF?.userReferenteRuolo}`, style: 'answer', width: '40%' }\n ]\n },\n {\n columns: [\n { text: `${t('export_pdf.ref_email')}:`, style: 'question', width: '60%'},\n { text: `${fullAnswerForPDF?.userReferenteEmail}`, style: 'answer', width: '40%' }\n ]\n },\n { canvas: [{ type: 'line', x1: 0, y1: 5, x2: 550, y2: 5 }] },\n\n ... all ? all.map((e) => {return [{ text: `${t('export_pdf.section')}: ${e.title}`, style: 'header' },e.questions]}) : [],\n ... ifSection,\n // { text: `Allegati:`, style: 'header' },\n ... fullAttachments! ,\n \n ],\n footer(currentPage, pageCount) {\n return [\n { \n columns: [\n { text: `Impact Call by Open Impact S.r.L.`, alignment: 'left', style:\"footerLeft\" },\n { text: `${t('export_pdf.page')} ${currentPage.toString()} ${t('export_pdf.page_of')} ${pageCount}`, alignment: 'right', style:\"footer\" },\n ]\n }\n ];\n }\n };\n\n pdfMake.createPdf(docDefinition).download('questions_answers.pdf');\n };\n\n return (\n <>\n \n \n \n );\n};\n\n/**\n * {\n downloadFile(\n `/api/FileUpload/GetFile?downloadId=${call.customFile ?.id}`,\n call.customFile?.name!\n )}}\n >\n */\n\nexport default AnswerPdf;","import { EventHandler, PowerBIEmbed } from \"powerbi-client-react\";\nimport { models } from \"powerbi-client\";\nimport {EmbedParams, EmbedReport} from \"../../api/model\";\nimport {ComponentProps, useState} from \"react\";\nimport * as embed from \"embed\";\nimport {pick} from \"lodash\";\nimport {Button} from \"@mantine/core\";\nimport {\n IconArrowAutofitContentFilled,\n IconArrowAutofitWidth,\n IconArrowsDiagonal,\n IconGlassFull,\n IconGrowth\n} from \"@tabler/icons-react\";\nimport {IconArrowAutofitContent} from \"@tabler/icons\";\n\nfunction PbiReportComponent({ pbi }: { pbi: EmbedParams }) {\n const [report, setReport] = useState()\n if (pbi?.embedReport == undefined) return
;\n return (\n <>\n \n ([\n [\n \"loaded\",\n function () {\n //console.log(\"Report loaded\");\n },\n ],\n [\n \"rendered\",\n function () {\n //console.log(\"Report rendered\");\n },\n ],\n [\n \"error\",\n function (event) {\n //console.log(event?.detail);\n },\n ],\n ])\n }\n cssClassName={\"report-style-class\"}\n getEmbeddedComponent={(embeddedReport) => {\n setReport(embeddedReport)\n //console.log(\"embeddedReport\",embeddedReport)\n //@ts-ignore\n //this.report = embeddedReport;\n }}\n />\n \n \n );\n}\n\nexport default PbiReportComponent;\n","import Axios, { AxiosError, AxiosRequestConfig } from \"axios\";\n\nexport const AXIOS_INSTANCE = Axios.create({\n baseURL:\n \"https://\" + process.env.REACT_APP_HOSTNAME ?? \"https://localhost:7071\",\n}); //use env variable!\n\nexport const customInstance = async (\n config: AxiosRequestConfig\n): Promise => {\n const source = Axios.CancelToken.source();\n const promise = AXIOS_INSTANCE({\n ...config,\n cancelToken: source.token,\n /* headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n Authorization: \"Bearer \" + '',\n },*/\n }).then(({ data }) => data);\n\n // @ts-ignore\n promise.cancel = () => {\n source.cancel(\"Query was cancelled\");\n };\n\n return promise;\n};\n\nexport default customInstance;\n\n// In some case with react-query and swr you want to be able to override the return error type so you can also do it here like this\nexport type ErrorType = AxiosError;\n","import React, { useState } from \"react\";\n\nconst getItem = (key: string) =>\n document.cookie.split(\"; \").reduce((total, currentCookie) => {\n const item = currentCookie.split(\"=\");\n const storedKey = item[0];\n const storedValue = item[1];\n\n return key === storedKey ? decodeURIComponent(storedValue) : total;\n }, \"\");\n\nconst setItem = (key: string, value: string | null, numberOfDays: number) => {\n const now = new Date();\n\n // set the time to be now + numberOfDays\n now.setTime(now.getTime() + numberOfDays * 60 * 60 * 24 * 1000);\n\n document.cookie = `${key}=${value}; expires=${now.toUTCString()}; path=/`;\n};\n\n/**\n *\n * @param {String} key The key to store our data to\n * @param {String} defaultValue The default value to return in case the cookie doesn't exist\n */\nconst useCookie = ({\n key,\n defaultValue,\n}: {\n key: string;\n defaultValue: string | null;\n}): [string | null, (v: string | null, numberOfDays: number) => void] => {\n const getCookie = () => getItem(key) || defaultValue;\n const [cookie, setCookie] = useState(getCookie());\n\n const updateCookie = (value: string | null, numberOfDays: number) => {\n setCookie(value);\n setItem(key, value, numberOfDays);\n };\n\n return [cookie, updateCookie];\n};\n\nexport default useCookie;\n","import React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { Navigate, useLocation, useNavigate } from \"react-router-dom\";\nimport { AXIOS_INSTANCE } from \"../api/axios-instance\";\n// import { AxiosRequestConfig } from \"axios\";\nimport { mutate } from \"swr\";\nimport { MyUserInfo, UserDto } from \"../api/model\";\nimport useCookie from \"../hooks/useCookie\";\nimport { getGetApiUserKey, useGetApiUser } from \"../api/endpoints\";\nimport Loading from \"../components/Loading\";\n// import React, { createContext, useContext, useEffect, useState } from \"react\";\n// import { useNavigate, Navigate, useLocation } from \"react-router-dom\";\n// import { useCookie } from \"react-use\"; // Assuming you have a hook for cookies\n// import { mutate } from \"swr\"; // For SWR revalidation\nimport axios, { AxiosRequestConfig,AxiosHeaders } from \"axios\";\n// import { Loading } from \"./Loading\"; // Replace with your actual loading component\n// import { useGetApiUser, getGetApiUserKey } from \"./api\"; // Replace with your API hooks\n\n// // Types\n// interface UserDto {\n// roles?: string[];\n// [key: string]: any; // Adjust this as per your UserDto structure\n// }\n\ninterface AuthContextType {\n user?: UserDto;\n access_token: string | null;\n setAccessToken: (token: string | null) => void;\n isAuthenticated: boolean;\n isAdmin: boolean;\n isLoading: boolean;\n}\n\n// Auth Context\nconst AuthContext = createContext(null!);\n\n// Custom Hooks\nconst useAuth = () => useContext(AuthContext);\n\nexport const useAccessToken = () => {\n return useCookie({\n key: \"access_token\",\n defaultValue: \"\",\n });\n};\n\nexport const useRefreshToken = () => {\n return useCookie({\n key: \"refresh_token\",\n defaultValue: \"\",\n });\n};\n\n// Auth Provider\nfunction AuthProvider({ children }: { children: React.ReactNode }) {\n const navigate = useNavigate();\n const [accessToken, updateAccessToken] = useAccessToken();\n const [value, setValue] = useState({\n access_token: null,\n setAccessToken: (token: string | null) => {\n updateAccessToken(token, 30);\n mutate(getGetApiUserKey());\n },\n isAuthenticated: false,\n isAdmin: false,\n isLoading: true,\n });\n\n const { data: user } = useGetApiUser({\n swr: {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n });\n\n // Axios Request Interceptor\n useEffect(() => {\n const interceptorId = AXIOS_INSTANCE.interceptors.request.use(\n (config: AxiosRequestConfig) => {\n if (accessToken) {\n config = {\n ...config,\n headers: accessToken\n ? {\n ...config.headers,\n Authorization: `Bearer ${accessToken}`,\n }\n : config.headers,\n } as AxiosRequestConfig;\n }\n return config;\n },\n (error) => Promise.reject(error)\n );\n const responseInterceptorId = AXIOS_INSTANCE.interceptors.response.use(\n (response) => {\n // Successful response\n return response;\n },\n (error) => {\n if (error.response && (error.response.status === 401 || error.response.status === 403 || error.response.status === 498)) {\n console.error('Token is invalid or expired.');\n\n // Handle 401 403 and 498 Unauthorized\n navigate(\"/\", { replace: true });\n }\n // Handle other errors\n return Promise.reject(error);\n }\n );\n // Revalidate user on interceptor setup\n mutate(getGetApiUserKey());\n\n return () => {\n AXIOS_INSTANCE.interceptors.request.eject(interceptorId);\n };\n }, [accessToken]);\n\n // Update Auth Context\n useEffect(() => {\n setValue((prevValue) => ({\n ...prevValue,\n user,\n access_token: accessToken,\n isAuthenticated: !!accessToken && !!user,\n isAdmin: user?.roles?.some((role) => role.toLowerCase() === \"admin\") || false,\n isLoading: !user && !!accessToken,\n }));\n }, [user, accessToken]);\n\n return {children};\n}\n\n// RequireAuth Component\nfunction RequireAuth({ children }: { children: JSX.Element }) {\n const auth = useAuth();\n const location = useLocation();\n\n if (!auth.isLoading && (!auth.isAuthenticated || !auth.access_token)) {\n return ;\n }\n\n if (auth.isLoading) {\n return ;\n }\n\n return children;\n}\n\n// Export Components and Hooks\nexport { useAuth, RequireAuth, AuthProvider };","var _style, _g, _text;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgOiLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\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: \"Livello_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 388.2 170.6\",\n style: {\n enableBackground: \"new 0 0 388.2 170.6\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#FFD41D;}\\n\\t.st1{fill:#009FE3;}\\n\\t.st2{fill:#FF9A55;}\\n\\t.st3{fill:#3CCE92;}\\n\\t.st4{fill:#F75711;}\\n\\t.st5{fill:#212121;}\\n\\t.st6{font-family:'Poppins-Light';}\\n\\t.st7{font-size:30px;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"33.7,85.3 55.1,106.7 55.1,85.3 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"85.3,64 85.3,33.8 33.7,33.8 33.7,85.3 70.2,48.9 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"106.6,85.3 106.6,85.3 85.3,64 85.3,85.3 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st2\",\n points: \"106.6,85.3 85.3,85.3 85.3,85.3 55.1,85.3 55.1,106.7 70.2,121.8 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st3\",\n points: \"55.1,85.3 85.3,85.3 85.3,64 70.2,48.9 33.7,85.3 55.1,85.3 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st4\",\n points: \"106.6,136.9 106.6,85.3 106.6,85.3 70.2,121.8 55.1,106.7 55.1,136.9 \"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M146.8,65.1c-2.5-1.4-4.5-3.4-5.8-5.9c-1.5-2.7-2.2-5.7-2.1-8.8c-0.1-3.1,0.7-6.1,2.1-8.8 c1.4-2.5,3.5-4.5,6-5.9c5.3-2.8,11.6-2.8,16.9,0c2.5,1.4,4.6,3.4,6,5.9c1.5,2.7,2.3,5.7,2.2,8.8c0.1,3.1-0.7,6.1-2.2,8.8 c-1.4,2.5-3.5,4.5-6.1,5.9c-2.6,1.4-5.6,2.1-8.6,2.1C152.3,67.2,149.4,66.5,146.8,65.1z M159.4,59c1.3-0.8,2.4-1.9,3.1-3.2 c0.8-1.6,1.2-3.4,1.2-5.3c0-3.1-0.8-5.4-2.4-7.1c-1.5-1.6-3.7-2.5-5.9-2.5c-2.2,0-4.4,0.9-5.9,2.5c-1.6,1.7-2.4,4-2.4,7.1 c0,3.1,0.8,5.4,2.3,7.1c1.5,1.6,3.6,2.5,5.8,2.5C156.7,60.1,158.1,59.7,159.4,59z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M190.7,35.3c2-1,4.1-1.5,6.3-1.5c2.6,0,5.2,0.6,7.5,2c2.3,1.4,4.1,3.4,5.3,5.8c1.3,2.7,2,5.7,1.9,8.7 c0.1,3-0.6,6.1-1.9,8.8c-1.2,2.4-3,4.5-5.3,5.9c-2.2,1.4-4.9,2.1-7.5,2.1c-2.2,0-4.3-0.5-6.3-1.5c-1.7-0.9-3.2-2.1-4.4-3.7v20 h-8.2V34.3h8.2V39C187.5,37.4,188.9,36.2,190.7,35.3z M202.2,45.3c-0.7-1.4-1.8-2.5-3.2-3.2c-1.3-0.7-2.7-1.1-4.2-1.1 c-1.5,0-2.9,0.4-4.2,1.1c-1.3,0.8-2.4,1.9-3.2,3.3c-1.6,3.2-1.6,7,0,10.2c0.7,1.4,1.8,2.5,3.2,3.3c2.6,1.5,5.8,1.5,8.4,0 c1.3-0.8,2.4-2,3.2-3.3c0.8-1.6,1.2-3.3,1.2-5.1C203.5,48.7,203.1,46.9,202.2,45.3z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M247.6,53h-23.6c0.1,2.1,1,4,2.4,5.5c1.4,1.3,3.3,2.1,5.3,2c2.8,0.2,5.3-1.4,6.5-3.9h8.9 c-0.9,3.1-2.8,5.8-5.4,7.7c-2.8,2.1-6.3,3.1-9.8,3c-2.9,0-5.8-0.7-8.4-2.1c-2.5-1.4-4.5-3.4-5.8-5.9c-1.4-2.7-2.1-5.7-2.1-8.8 c-0.1-3.1,0.6-6.1,2-8.8c1.3-2.5,3.3-4.5,5.7-5.8c5.2-2.7,11.5-2.7,16.7-0.1c2.4,1.3,4.4,3.2,5.7,5.6c1.4,2.6,2.1,5.5,2,8.4 C247.8,50.9,247.7,52,247.6,53z M239.3,47.5c0-1.9-0.8-3.8-2.3-5c-1.5-1.3-3.4-2-5.4-1.9c-1.9-0.1-3.7,0.6-5.1,1.8 c-1.4,1.3-2.3,3.1-2.5,5L239.3,47.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M281,37.5c2.4,2.4,3.6,5.8,3.6,10.2v19h-8.2V48.8c0.1-2.1-0.5-4.3-1.9-5.9c-1.4-1.4-3.3-2.2-5.3-2.1 c-2-0.1-3.9,0.7-5.3,2.1c-1.4,1.6-2.1,3.8-2,5.9v17.9h-8.2V34.3h8.2v4c1.1-1.4,2.5-2.5,4.2-3.3c1.7-0.8,3.6-1.2,5.6-1.2 C275.1,33.7,278.5,35,281,37.5z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M140.3,99.2c-1.9-1.9-1.9-4.9-0.1-6.8c0,0,0,0,0.1-0.1c2-1.8,5.1-1.8,7.2,0c1.9,1.9,1.9,4.9,0.1,6.8 c0,0,0,0-0.1,0.1C145.4,101,142.3,101,140.3,99.2z M147.9,104.4v32.3h-8.2v-32.3H147.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M205.7,107.6c2.4,2.4,3.6,5.8,3.6,10.2v19h-8.2v-17.9c0.1-2.1-0.6-4.2-1.9-5.8c-1.4-1.4-3.3-2.1-5.2-2 c-2-0.1-3.9,0.6-5.3,2c-1.4,1.6-2.1,3.7-1.9,5.8v17.9h-8.2v-17.9c0.1-2.1-0.5-4.2-1.9-5.8c-1.4-1.4-3.3-2.1-5.3-2 c-2-0.1-3.9,0.6-5.3,2c-1.4,1.6-2.1,3.7-2,5.8v17.9H156v-32.3h8.2v3.9c1.1-1.4,2.5-2.5,4.1-3.2c1.7-0.8,3.6-1.2,5.5-1.2 c2.4,0,4.7,0.5,6.8,1.6c2,1,3.6,2.6,4.6,4.6c1.1-1.9,2.7-3.5,4.6-4.5C194.9,102.8,201.4,103.6,205.7,107.6L205.7,107.6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M229.7,105.4c2-1,4.1-1.5,6.3-1.5c2.6,0,5.2,0.6,7.5,2c2.3,1.4,4.1,3.4,5.3,5.8c1.3,2.7,2,5.7,1.9,8.7 c0.1,3-0.6,6.1-1.9,8.8c-1.2,2.4-3,4.5-5.3,5.9c-2.2,1.4-4.9,2.1-7.5,2.1c-2.2,0-4.3-0.5-6.3-1.5c-1.7-0.9-3.2-2.1-4.4-3.7v20 h-8.2v-47.7h8.2v4.7C226.5,107.5,227.9,106.2,229.7,105.4z M241.2,115.4c-0.7-1.4-1.8-2.5-3.2-3.2c-1.3-0.7-2.7-1.1-4.2-1.1 c-1.5,0-2.9,0.4-4.2,1.1c-1.3,0.8-2.4,1.9-3.2,3.3c-1.6,3.2-1.6,7,0,10.2c0.7,1.4,1.8,2.5,3.2,3.3c2.6,1.5,5.8,1.5,8.4,0 c1.3-0.8,2.4-2,3.2-3.3c0.8-1.6,1.2-3.3,1.2-5.1C242.5,118.7,242,117,241.2,115.4L241.2,115.4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M256.6,111.8c1.2-2.4,3-4.4,5.3-5.8c2.3-1.4,4.9-2,7.5-2c2.2-0.1,4.4,0.4,6.3,1.5c1.7,0.9,3.2,2.1,4.4,3.7 v-4.6h8.2v32.3h-8.2V132c-1.1,1.6-2.6,2.9-4.4,3.8c-2,1-4.2,1.5-6.4,1.5c-2.6,0-5.2-0.7-7.4-2.1c-2.3-1.5-4.1-3.5-5.3-5.9 c-1.3-2.7-2-5.7-1.9-8.8C254.6,117.4,255.2,114.5,256.6,111.8z M278.9,115.5c-0.7-1.4-1.8-2.5-3.1-3.3c-1.3-0.7-2.8-1.1-4.3-1.1 c-1.5,0-2.9,0.4-4.2,1.1c-1.3,0.8-2.4,1.9-3.1,3.2c-0.8,1.5-1.2,3.3-1.2,5c0,1.8,0.4,3.5,1.2,5.1c0.7,1.4,1.8,2.5,3.1,3.4 c1.3,0.8,2.7,1.2,4.2,1.2c1.5,0,3-0.4,4.3-1.1c1.3-0.8,2.4-1.9,3.1-3.3C280.5,122.4,280.5,118.6,278.9,115.5L278.9,115.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M296.2,111.8c1.3-2.4,3.3-4.5,5.7-5.8c2.5-1.4,5.4-2.1,8.3-2.1c3.6-0.1,7.1,0.9,10,3c2.7,2.1,4.6,5.1,5.3,8.4 h-8.8c-0.4-1.3-1.2-2.5-2.4-3.3c-1.2-0.8-2.6-1.3-4.1-1.2c-2.1-0.1-4.2,0.9-5.5,2.5c-1.3,1.7-2,4.1-2,7.2c0,3.1,0.7,5.5,2,7.2 c1.3,1.7,3.4,2.6,5.5,2.5c3.3,0,5.5-1.5,6.5-4.4h8.8c-0.8,3.3-2.7,6.2-5.3,8.3c-2.9,2.1-6.4,3.2-9.9,3.1c-2.9,0.1-5.8-0.7-8.3-2.1 c-2.4-1.4-4.4-3.4-5.7-5.8C293.5,123.8,293.5,117.3,296.2,111.8L296.2,111.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M341,111.1v15.7c-0.1,0.9,0.2,1.7,0.8,2.4c0.8,0.6,1.7,0.8,2.7,0.7h3.8v6.9h-5.1c-6.9,0-10.3-3.3-10.3-10 v-15.6h-3.9v-6.7h3.9v-8h8.2v8h7.2v6.7H341z\"\n })))), _text || (_text = /*#__PURE__*/React.createElement(\"text\", {\n transform: \"matrix(1 0 0 1 354.78 146.7413)\",\n className: \"st5 st6 st7\"\n }, \"\\xAE\")));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOiLogo);\nexport default __webpack_public_path__ + \"static/media/OI_logo.3b5c80be.svg\";\nexport { ForwardRef as ReactComponent };","import useCookie from \"./useCookie\";\n\nconst useSelectedLanguage = (defaultLanguage?: string) => {\n return useCookie({\n key: \"language\",\n defaultValue: defaultLanguage ?? \"it\",\n });\n};\n\nexport default useSelectedLanguage;\n","import React, { useContext } from \"react\";\nimport { AppConfigDTO } from \"../api/model\";\nimport { useGetApiConfigGetConfig } from \"../api/endpoints\";\nimport { Center, Flex, Loader } from \"@mantine/core\";\n\nconst ConfigContext = React.createContext(undefined);\n\nexport function ConfigProvider(props: { children: React.ReactNode }) {\n const { data: config, isLoading, error } = useGetApiConfigGetConfig();\n if (error) console.log(error);\n if (isLoading) {\n //console.log(\"loading config\");\n return (\n
\n \n \n Loading config...\n \n
\n );\n }\n return ;\n}\n\nexport function useConfig() {\n const config = useContext(ConfigContext);\n if (config === undefined) {\n throw new Error(\"useConfig must be used within a ConfigProvider\");\n }\n return config;\n}\n","import { Select } from \"@mantine/core\";\nimport useSelectedLanguage from \"../hooks/useSelectedLanguage\";\nimport { useConfig } from \"../hooks/useConfig\";\nimport { useCallback, useEffect } from \"react\";\n\nexport const SelectLanguage = () => {\n const config = useConfig();\n const [selectedLanguage, setSelectedLanguage] = useSelectedLanguage(\n config.defaultLanguage\n );\n const changeLanguage = (lang: string) => {\n setSelectedLanguage(lang, 30);\n window?.location?.reload();\n };\n\n\n\n return (\n \n );\n};\n","import {\n Anchor,\n Avatar,\n Button,\n Flex,\n Group,\n Header,\n Menu,\n Text,\n} from \"@mantine/core\";\nimport { ReactComponent as Logo } from \"../assets/svg/OI_logo.svg\";\nimport {\n IconAffiliate,\n IconLogout,\n IconPhoto,\n IconSettings,\n IconUser,\n IconUserPlus,\n} from \"@tabler/icons\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\nimport { useGetApiUser } from \"../api/endpoints\";\nimport { useAuth } from \"../auth/AuthContext\";\nimport { SelectLanguage } from \"./SelectedLanguage\";\nimport { useConfig } from \"../hooks/useConfig\";\n\nfunction TopBar() {\n const { isAuthenticated, isAdmin } = useAuth();\n const { t } = useTranslation();\n const { data: user } = useGetApiUser();\n const config = useConfig();\n\n return (\n
\n \n \n \n {config.logoBase64 ? (\n \n ) : (\n \n )}\n \n \n\n \n {/* */}\n \n \n \n \n {user && isAuthenticated && (\n \n {config.languageSelection && }\n \n \n \n {user?.firstName} {user?.lastName}\n \n \n {user.firstName &&\n user.lastName &&\n (\n user?.firstName![0] + user?.lastName![0]\n ).toUpperCase()}\n \n \n \n \n }\n >\n {t(\"components.your-organizations\")}\n \n }\n >\n {t(\"components.back-calls\")}\n \n {\n (process.env.REACT_APP_ADMIN_ENABLE === undefined || process.env.REACT_APP_ADMIN_ENABLE === 'true') && isAdmin ? \n (\n }\n >\n {t(\"components.admin-panel\")}\n \n ) : (<>) }\n }\n >\n {t(\"components.logout\")}\n \n \n \n )}\n \n \n {user == null && (\n <>\n \n }\n >\n {t(\"components.login\")}\n \n \n \n }\n >\n {t(\"components.register\")}\n \n \n \n )}\n \n \n \n
\n );\n}\n\nexport default TopBar;\n","import styled from \"@emotion/styled\";\nconst PostIt = styled.div`\n background-color: #fffdcd;\n border-radius: 10px;\n color: #333;\n display: inline-block;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.5;\n padding: 15px;\n margin: 1rem 0;\n position: relative;\n text-align: left;\n vertical-align: top;\n width: 100%;\n`;\nexport default PostIt;\n","import {\n Box,\n Button,\n Checkbox,\n Group,\n Stack,\n TextInput,\n Tooltip,\n Divider,\n Title,\n Text,\n} from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { closeAllModals } from \"@mantine/modals\";\nimport { showNotification } from \"@mantine/notifications\";\nimport { IconInfoCircle } from \"@tabler/icons\";\nimport {\n getGetApiOrganizationGetOrganizationsKey,\n postApiOrganizationCreateOrganization,\n useGetApiUser,\n} from \"../../api/endpoints\";\nimport { CreateOrgDto } from \"../../api/model\";\nimport { mutate } from \"swr\";\nimport { useTranslation } from \"react-i18next\";\nimport { useConfig } from \"../../hooks/useConfig\";\n\nfunction RegisterOrganization() {\n const { t } = useTranslation();\n const { data: user } = useGetApiUser();\n const config = useConfig();\n const form = useForm({\n initialValues: {\n contact_name: user?.firstName,\n contact_surname: user?.lastName,\n contact_email: user?.email,\n contact_role: \"\",\n personalData: false,\n selfCertification: false,\n termsOfService: false,\n nordicCountry: false,\n preFunding: false,\n chnageInLife: false,\n },\n });\n\n return (\n \n \n postApiOrganizationCreateOrganization(values).then((res) => {\n if (res) {\n mutate(getGetApiOrganizationGetOrganizationsKey());\n showNotification({\n title: t(\"components.forms.organization-registered\"),\n message: t(\n \"components.forms.organization-registered-successfully\"\n ),\n });\n closeAllModals();\n }\n })\n )}\n >\n \n
{t(\"components.forms.general-info\")}
\n \n \n
\n \n
\n \n }\n />\n
\n \n
{t(\"components.forms.address\")}
\n \n \n \n
\n \n
{t(\"components.forms.contact-person\")}
\n \n \n \n \n \n \n {t(\"components.forms.processing-personal-data\")}\n \n \n {config.dataConsentText\n ? config.dataConsentText\n : t(\"components.forms.processing-personal-data-documentation\")}\n \n \n
\n\n \n \n {t(\"components.forms.submit\")}\n \n \n \n
\n );\n}\n\nexport default RegisterOrganization;\n","import { useLocalStorage } from \"@mantine/hooks\";\nimport { AxiosRequestConfig } from \"axios/index\";\nimport { useEffect } from \"react\";\nimport { mutate } from \"swr\";\nimport { AXIOS_INSTANCE } from \"../api/axios-instance\";\nimport { getGetApiCallGetCallListUserKey } from \"../api/endpoints\";\n\nconst useSelectedOrganizationId = () => {\n const LsHookReturn = useLocalStorage({\n key: \"selectedOrganizationId\",\n defaultValue: null,\n });\n const selectedOrganizationId = LsHookReturn[0];\n useEffect(() => {\n const interceptorId = AXIOS_INSTANCE.interceptors.request.use(\n (config) =>\n ({\n ...config,\n headers: selectedOrganizationId\n ? {\n ...config.headers,\n SelectedOrganizationId: selectedOrganizationId,\n }\n : config.headers,\n } as AxiosRequestConfig)\n );\n //console.log(\"mutate getGetApiCallGetCallListUserKey\")\n mutate(getGetApiCallGetCallListUserKey());\n \n return () => {\n AXIOS_INSTANCE.interceptors.request.eject(interceptorId);\n };\n }, [selectedOrganizationId]);\n\n return LsHookReturn;\n};\n\nexport default useSelectedOrganizationId;\n","import { Select } from \"@mantine/core\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n getGetApiOrganizationGetOrganizationsKey,\n useGetApiOrganizationGetOrganizations,\n} from \"../api/endpoints\";\nimport useSelectedOrganizationId from \"../hooks/useSelectedOrganizationId\";\nimport Loading from \"./Loading\";\nimport { mutate } from \"swr\";\nimport { useEffect } from \"react\";\nimport { useConfig } from \"../hooks/useConfig\";\n\nconst SelectOrganization = () => {\n const { t } = useTranslation();\n const {\n data: orgs,\n error,\n isLoading,\n } = useGetApiOrganizationGetOrganizations();\n const config = useConfig();\n\n const [selectedOrganizationId, setSelectedOrganizationId] =\n useSelectedOrganizationId();\n\n useEffect(() => {\n if (!selectedOrganizationId && orgs?.length) {\n const firstOrg = Array.isArray(orgs) && orgs.length && orgs[0];\n if (firstOrg) {\n setSelectedOrganizationId(firstOrg.id!);\n }\n }\n }, [selectedOrganizationId, orgs, setSelectedOrganizationId]);\n\n \n // if (!Array.isArray(orgs) || error) {\n // console.log()\n // mutate(getGetApiOrganizationGetOrganizationsKey());\n // return ;\n // }\n useEffect(() => {\n // Only trigger the mutate function when orgs is not an array or error exists\n if (!Array.isArray(orgs) || error) {\n // console.log(); // Do something here if needed\n mutate(getGetApiOrganizationGetOrganizationsKey());\n }\n }, [orgs, error]); // This effect will run whenever orgs or error changes\n if (isLoading) {\n return ;\n }\n if (!Array.isArray(orgs) || error) {\n return ; // Only return the Loading component\n }\n return !!config.organizationSelection && Array.isArray(orgs) ? (\n {\n return {\n value: o.id!,\n label: o.name!,\n };\n })!\n }\n value={selectedOrganizationId}\n onChange={setSelectedOrganizationId}\n />\n ) : (\n <>\n );\n};\nexport default SelectOrganization;\n","import { Text, Button } from \"@mantine/core\";\nimport { useGetApiOrganizationGetOrganizations } from \"../api/endpoints\";\nimport PostIt from \"./PostIt\";\nimport { openModal } from \"@mantine/modals\";\nimport RegisterOrganization from \"./forms/RegisterOrganization\";\nimport SelectOrganization from \"./SelectOrganization\";\nimport { useTranslation } from \"react-i18next\";\n\ntype Props = {};\n\nfunction OrganizationMenu(p: Props = {}) {\n const { t } = useTranslation();\n const openRegisterOrgModal = () =>\n openModal({\n title: t(\"components.register-organization\"),\n children: ,\n });\n const { data: orgs } = useGetApiOrganizationGetOrganizations();\n if (orgs == null || orgs.length === 0) {\n return (\n \n {t(\"components.apply-call-organization\")}\n openRegisterOrgModal()}\n >\n {t(\"components.register-organization\")}\n \n \n );\n } else {\n return ;\n }\n}\n\nexport default OrganizationMenu;\n","import { ReactNode, useEffect } from \"react\";\nimport TopBar from \"./TopBar\";\nimport { Navigate, Outlet, useLocation, useNavigate } from \"react-router-dom\";\nimport { Container, Flex, Group, Navbar, ScrollArea } from \"@mantine/core\";\nimport styled from \"@emotion/styled\";\n\nimport { create, useStore } from \"zustand\";\nimport { useAuth } from \"../auth/AuthContext\";\nimport { preload } from \"swr\";\nimport {\n getApiCallGetCallList,\n getApiOrganizationGetOrganizations,\n getGetApiCallGetCallListKey,\n getGetApiOrganizationGetOrganizationsKey,\n} from \"../api/endpoints\";\nimport OrganizationMenu from \"./Organization\";\n\nconst StyledContainer = styled(Container)`\n padding-top: 5rem;\n flex: 1 1 auto;\n overflow: auto;\n max-width: 90rem;\n`;\n\nconst StyledFlex = styled(Flex)`\n background-color: #fafafa;\n`;\ntype SidebarStoreState = {\n content: ReactNode | null;\n setContent: (content: ReactNode) => void;\n sidebarOpen: boolean;\n setSidebarOpen: (open: boolean) => void;\n};\n\nexport const sidebarStore = create((set) => ({\n content: null,\n setContent: (content: ReactNode) => set({ content }),\n sidebarOpen: false,\n setSidebarOpen: (open: boolean) => set({ sidebarOpen: open }),\n}));\n\nfunction Layout() {\n const sidebarContent = useStore(sidebarStore, (state) => state.content);\n const setSidebarOpen = useStore(\n sidebarStore,\n (state) => state.setSidebarOpen\n );\n const isSidebarOpen = useStore(sidebarStore, (state) => state.sidebarOpen);\n const location = useLocation();\n const navigate = useNavigate();\n const auth = useAuth();\n const isAuthenticated = !(!auth.isAuthenticated || !auth.access_token || auth.access_token == \"\" || auth.access_token == \"null\") \n useEffect(() => {\n sidebarStore.setState({ content: null });\n if (location.pathname === \"/\" && isAuthenticated) {\n preload(getGetApiCallGetCallListKey(), getApiCallGetCallList);\n preload(\n getGetApiOrganizationGetOrganizationsKey(),\n getApiOrganizationGetOrganizations\n );\n navigate(\"/calls\");\n }else{\n if (location.pathname !== \"/\" && !isAuthenticated) {\n navigate(\"/\");\n }\n }\n }, [location.pathname,isAuthenticated]);\n\n useEffect(() => {\n setSidebarOpen(isAuthenticated ?? false);\n }, [isAuthenticated]);\n return (\n \n {isAuthenticated && }\n \n {isAuthenticated && isSidebarOpen && (\n \n \n \n {sidebarContent ?? }\n \n \n \n )}\n \n \n \n \n \n );\n}\n\nexport default Layout;\n","import { useNavigate, useSearchParams } from \"react-router-dom\";\nimport { useEffect } from \"react\";\nimport { useAuth, useRefreshToken } from \"../auth/AuthContext\";\nimport { preload } from \"swr\";\nimport {\n getGetApiCallGetCallListKey,\n getGetApiOrganizationGetOrganizationsKey,\n} from \"../api/endpoints\";\nimport { useTranslation } from \"react-i18next\";\nimport { Center, Text } from \"@mantine/core\";\n\nconst LoginCallback = () => {\n const [searchParams] = useSearchParams();\n const { t } = useTranslation();\n //get the authorization_code\n const code = searchParams.get(\"code\");\n const locale = searchParams.get(\"locale\");\n const userState = searchParams.get(\"userState\");\n const redirectUri = `https://${process.env.REACT_APP_HOSTNAME}/login-callback`; // \"https://starimpact-dev.openimpact.it/login-callback\";//get this value from config!!!\n const [refreshToken, setRefreshToken] = useRefreshToken(); //use \"refreshToken\" because it is declared but not used, otherwise handle it differently\n const { access_token, setAccessToken } = useAuth(); //use \"access_token\" because it is declared but not used, otherwise handle it differently\n //perform token exchange\n const navigate = useNavigate();\n\n useEffect(() => {\n //console.log(\"exchange token in progress\");\n const exchangeToken = async () => {\n await fetch(\"/api/Jwt/token-exchange\", {\n method: \"POST\", // *GET, POST, PUT, DELETE, etc.\n mode: \"cors\", // no-cors, *cors, same-origin\n cache: \"no-cache\", // *default, no-cache, reload, force-cache, only-if-cached\n credentials: \"same-origin\", // include, *same-origin, omit\n headers: {\n \"Content-Type\": \"application/json\",\n // 'Content-Type': 'application/x-www-form-urlencoded',\n },\n redirect: \"follow\", // manual, *follow, error\n referrerPolicy: \"no-referrer\", // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url\n body: JSON.stringify({\n code,\n redirectUri,\n }), // body data type must match \"Content-Type\" header\n })\n .then((res) => res.json())\n .then((res) => {\n //console.log(\"access_token res: \", res);\n setAccessToken(res.token);\n setRefreshToken(res.refresh_token, 30);\n const fetcher = (url: string) =>\n fetch(url, {\n headers: {\n Authorization: \"Bearer \" + res.token,\n },\n })\n .then((res) => res.json())\n .then((res) => {\n //console.log(\"preloaded\", res);\n return res;\n });\n\n //console.log(\"preloading\");\n preload(getGetApiCallGetCallListKey(), fetcher);\n preload(getGetApiOrganizationGetOrganizationsKey(), fetcher);\n navigate(\"/calls\");\n return res;\n });\n };\n exchangeToken();\n }, [setAccessToken]);\n\n if (userState === \"AuthenticatedRegistrationNotVerified\") {\n return

{t(\"components.registration-not-verified\")}

;\n } else if (userState === \"Authenticated\")\n return (\n
\n {t(\"components.logged-in\")}\n
\n );\n return (\n
\n {t(\"components.logged-in\")}\n
\n );\n};\nexport default LoginCallback;\n","import { Navigate, useLocation, useNavigate } from \"react-router-dom\";\nimport { useEffect } from \"react\";\nimport { useAuth, useRefreshToken } from \"../auth/AuthContext\";\nimport useSelectedOrganizationId from \"../hooks/useSelectedOrganizationId\";\n\nconst LogoutCallback = () => {\n const { setAccessToken } = useAuth();\n const [_, setRefreshToken] = useRefreshToken();\n const [selectedOrgId, setSelectedOrgId] = useSelectedOrganizationId();\n // const navigate = useNavigate();\n const location = useLocation();\n\n useEffect(() => {\n //console.log(\"LOGGING OUT\");\n setAccessToken(null);\n setRefreshToken(null, 30);\n setSelectedOrgId(null);\n });\n return ;\n};\nexport default LogoutCallback;\n","import { Container } from \"reactstrap\";\nimport { Outlet, useNavigate } from \"react-router-dom\";\nimport { Flex } from \"@mantine/core\";\nimport styled from \"@emotion/styled\";\nimport TopBar from \"../../components/TopBar\";\nimport { useAuth } from \"../../auth/AuthContext\";\n\nconst StyledContainer = styled(Container)`\n padding-top: 6rem;\n overflow-y: scroll;\n height: 100vh;\n`;\nconst StyledFlex = styled(Flex)`\n background-color: #fafafa;\n`;\n\nfunction AdminLayout() {\n const { isAuthenticated, isAdmin } = useAuth();\n const navigate = useNavigate();\n if (!isAuthenticated || !isAdmin) {\n navigate(\"/\", { replace: true });\n }\n\n return (\n \n \n \n \n \n \n );\n}\n\nexport default AdminLayout;\n","import {Box, Button, Group, Loader, Paper, Switch, Text} from \"@mantine/core\";\nimport {\n Dropzone,\n FileWithPath,\n IMAGE_MIME_TYPE,\n MS_EXCEL_MIME_TYPE,\n MS_WORD_MIME_TYPE,\n PDF_MIME_TYPE\n} from \"@mantine/dropzone\";\nimport { IconAsteriskSimple, IconX } from \"@tabler/icons\";\nimport {useEffect, useMemo, useState} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { postApiFileUploadUploadFile, useGetApiFileUploadGetAttachmentTypes } from \"../api/endpoints\";\nimport { ExtraInfoAllegatoResult, PostApiFileuploadUploadfiletosubmissionBody } from \"../api/model\";\nimport Loading from \"./Loading\";\nimport { FileContent } from \"./UploadList\";\nimport { InserimentoMaterialiRequest } from \"../dto/inserimento-materiali-request\";\n\n\n\n\nexport default function UploadFile({ content, data, setData }: { content: FileContent, data: ExtraInfoAllegatoResult | undefined, setData: (value: ExtraInfoAllegatoResult) => void }) {\n const { t } = useTranslation();\n const [uploaded, setUploaded] = useState(false);\n const [loader, setLoader] = useState(false);\n const [errorDimension, setErrorDimension] = useState(false);\n const [fileChoice, setFileChoice] = useState();\n\n const pdfFormat = PDF_MIME_TYPE;\n const ExcelFormat = MS_EXCEL_MIME_TYPE;\n const WordFormat = MS_WORD_MIME_TYPE;\n const ImageFormat = IMAGE_MIME_TYPE;\n\n const {\n data: dataAttachments,\n isLoading: isLoadingAttachments,\n } = useGetApiFileUploadGetAttachmentTypes();\n\n const removeFileUpload = () => {\n setLoader(false);\n setUploaded(false);\n setFileChoice({});\n setErrorDimension(false);\n };\n\n useEffect(() => {\n if (typeof data != \"undefined\" && data) {\n // console.log(\"content:\",content)\n // console.log(\"data:\",data)\n setUploaded(true);\n setFileChoice(data)\n }\n }, [data])\n \n function uploadFile(file: FileWithPath) {\n setLoader(true);\n const fileUploadReq: PostApiFileuploadUploadfiletosubmissionBody = {\n Nome: file.name,\n Descrizione: content.file_name.length > 1024 ? content.file_name.substring(0,1024) : content.file_name,\n TipoFileId: dataAttachments?.filter((e) => e.attachedType.toUpperCase() === content.file_type.toUpperCase()).map((e) => e.id)[0] ?? \"\",\n File: file,\n };\n if (file.size > content.dimensions) {\n setErrorDimension(true);\n setLoader(false);\n }\n console.log(content.file_type)\n console.log(dataAttachments)\n console.log(fileUploadReq)\n postApiFileUploadUploadFile(fileUploadReq)\n .then((ret) => {\n setData(ret);\n setFileChoice(ret)\n setUploaded(true);\n setLoader(false);\n })\n .catch((e) => {\n //console.log(\"🚀 ~ file: SurveyAllegati.tsx:114 ~ uploadFile ~ e:\", e);\n setLoader(false);\n });\n }\n\n function downloadFile(url: string, filename: string) {\n fetch(url).then((response) => {\n response.blob().then((blob) => {\n const fileURL = window.URL.createObjectURL(blob);\n let alink = document.createElement(\"a\");\n alink.href = fileURL;\n alink.download = filename;\n alink.click();\n });\n });\n }\n const acceptedFileTypes = useMemo(() => {\n switch(content.file_type){\n case \"pdf\":\n return pdfFormat;\n case \"excel\":\n return ExcelFormat;\n case \"word\":\n return WordFormat;\n case \"image\":\n return ImageFormat;\n default:\n return [];\n }\n }, [content.file_type])\n \n if (isLoadingAttachments) {\n return ;\n }\n return (\n <>\n \n {content.file_name}\n {\n content.mandatory\n ? \n : \"\"\n }\n \n \n {content.file_description}\n \n \n {loader ? (\n \n ) : (\n <>\n\n \n {uploaded ? (\n \n \n {fileChoice?.fileName}\n \n \n \n\n \n ) :\n {\n uploadFile(files[0])\n }}\n accept={\n content.file_type === \"pdf\"\n ? pdfFormat\n : content.file_type === \"excel\"\n ? ExcelFormat\n : content.file_type === \"word\"\n ? WordFormat\n : content.file_type === \"image\"\n ? ImageFormat\n : []\n }\n sx={{ border: 0, }}\n // maxSize={content.dimensions}\n >\n\n \n {t(\"components.upload-file.drop-file\")}\n \n \n \n {t(\"components.upload-file.max-dimension\")}\n {content.dimensions} bytes\n \n\n }\n {errorDimension ? (\n {t(\"components.upload-file.dimensions-document-number-unit\")}\n ) : \"\"}\n \n\n \n )}\n \n\n\n \n );\n}\n","import { useEffect, useState } from \"react\";\nimport { FillableComponentProps } from \"../pages/calls/stepsConfig\";\nimport UploadFile from \"./UploadFile\";\nimport {ExtraInfoAllegatoResult} from \"../api/model\";\nimport {mutate} from \"swr\";\nimport {\n getGetApiCallGetSubmissionByIDKey,\n useGetApiCallGetStepResult\n} from \"../api/endpoints\";\n\nexport type FileContent = {\n file_name: string,\n file_description: string,\n file_type: string,\n dimensions: number,\n mandatory: false,\n}\n\nexport const UploadList = ({\n submission,\n data,\n step,\n setData\n}: FillableComponentProps) => {\n //console.log(\"upload content\",step.content)\n //console.log(\"upload content data\",data)\n //console.log(\"upload content step\",step)\n //console.log(\"upload content submission\",submission)\n const {\n data: currentStepResult,\n isLoading: srLoading,\n error: srErr,\n } = useGetApiCallGetStepResult(\n { submissionId: submission.id!, StepId: step.id },\n {\n swr: {\n shouldRetryOnError: false,\n revalidateIfStale: true,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n }\n );\n \n\n const [stepFiles, setStepFiles ] = useState(step.content && step.content != \"\" && JSON.parse(step.content!) ? JSON.parse(step.content!) : []);\n const [stepContentData, setStepContentData ] = useState();\n // () => { \n // console.log(\"useState -> currentStepResult\",currentStepResult,currentStepResult && currentStepResult.content ? JSON.parse(currentStepResult?.content!):[]);\n // return currentStepResult && currentStepResult.content ? JSON.parse(currentStepResult?.content!):[];}\n // );//return currentStepResult && data != \"\" && JSON.parse(data!) ? JSON.parse(data) : [];});\n const [first, setFirst] = useState(true);\n useEffect( () => {\n setStepContentData(currentStepResult && currentStepResult.content ? JSON.parse(currentStepResult?.content!):[]);\n // console.log(\"useEffect1 -> currentStepResult\",currentStepResult)\n // console.log(\"useEffect1 -> stepContentData\",stepContentData)\n // console.log(\"useEffect1 -> stepFiles\",stepFiles)\n },[currentStepResult])\n useEffect( () => {\n // console.log(\"useEffect2 -> first\",first)\n // console.log(\"useEffect2 -> currentStepResult\",currentStepResult)\n // console.log(\"useEffect2 -> stepContentData\",stepContentData)\n // console.log(\"useEffect2 -> stepFiles\",stepFiles)\n // console.log(\"error\",srErr)\n \n // if(!first){\n setData(JSON.stringify(stepContentData)).then((res)=>{\n // console.log('useEffect -> setData',res);\n const submissionId = res.callSubmissionId\n \n });\n // }\n setFirst(currentStepResult===undefined);\n },[stepContentData])\n // console.log(\"stepFiles:\",stepFiles)\n // console.log(\"stepContentData:\",stepContentData)\n\n return (\n <>\n {stepContentData && stepFiles.map((e, i) => {\n return (\n <>\n {\n // console.log(\"setStepContentData - stepFiles\",stepFiles)\n setStepContentData(stepFiles.map((file, idx) => {\n if (idx === i) return value;\n return stepContentData[idx]\n }));\n }}\n />\n \n )\n })}\n \n )\n}\n","import { creationComponentProps } from \"../../../pages/calls/stepsConfig\";\nimport Editor from \"../../Editor\";\n\nfunction Creator({ content, setData }: creationComponentProps) {\n return setData(data)} />;\n}\n\nexport default Creator;\n","import { FillableComponentProps } from \"../../../pages/calls/stepsConfig\";\n\nfunction Filler({ step }: FillableComponentProps) {\n return
;\n}\n\nexport default Filler;\n","import { create } from \"zustand\";\nimport {\n IndicatorTypeDTO,\n MiniDyiIndicatorDTO,\n MiniDyiOutcomeDTO,\n} from \"../../api/model\";\n\nimport { mountStoreDevtool } from \"simple-zustand-devtools\";\n\nexport type miniDyiStoreState = {\n stepId: string;\n sdg: number[];\n budget: number;\n budgetSpent: number;\n selectedOutcomes: (MiniDyiOutcomeDTO | MiniDyiCustomOutcome)[];\n};\n\nexport function compareOutcomes(\n a: MiniDyiCustomOutcome,\n b: MiniDyiCustomOutcome\n) {\n if (a.customKey && b.customKey && a.customKey === b.customKey) {\n return true;\n } else return a.outcomeId && b.outcomeId && a.outcomeId == b.outcomeId;\n}\nexport function compareIndicators(\n a: MiniDyiCustomIndicator,\n b: MiniDyiCustomIndicator\n) {\n if (\n (a.customKey && b.customKey && a.customKey == b.customKey) ||\n (a.id && b.indicatorId && a.id == b.indicatorId) ||\n (b.id && a.indicatorId && b.id == a.indicatorId) ||\n (b.indicatorId && a.indicatorId && b.indicatorId == a.indicatorId)\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nexport type MiniDyiCustomOutcome = MiniDyiOutcomeDTO & {\n customKey?: string;\n indicators?: MiniDyiCustomIndicator[];\n};\nexport type MiniDyiCustomIndicator = MiniDyiIndicatorDTO &\n IndicatorTypeDTO & {\n customKey?: string;\n };\n\ntype miniDyiStoreActions = {\n cleanup: () => void;\n hydrate: (data: string) => void;\n setStepId: (stepId: string) => void;\n setBudget: (budget: number) => void;\n setBudgetSpent: (budgetSpent: number) => void;\n toggleSdg: (sdgId: number) => void;\n toggleOutcome: (outcome: MiniDyiOutcomeDTO) => void;\n addCustomOutcome: (outcome: MiniDyiCustomOutcome) => void;\n toggleIndicator: (\n outcome: MiniDyiOutcomeDTO,\n indicator: MiniDyiIndicatorDTO\n ) => void;\n setOutcomeField: (\n outcomeId: MiniDyiCustomOutcome,\n field: T,\n value: MiniDyiOutcomeDTO[T]\n ) => void;\n setIndicatorField: (\n outcomeId: MiniDyiCustomOutcome,\n indicator: MiniDyiCustomIndicator,\n field: T,\n value: MiniDyiIndicatorDTO[T]\n ) => void;\n};\nexport type miniDyiStoreType = miniDyiStoreState & miniDyiStoreActions;\n\nconst useMiniDyiStore = create((set) => ({\n budget: 0,\n setBudget: (budget) => set(() => ({ budget })),\n budgetSpent: 0,\n setBudgetSpent: (budgetSpent: number) => set(() => ({ budgetSpent })),\n stepId: \"\",\n setStepId: (stepId: string) => set(() => ({ stepId })),\n sdg: [],\n selectedOutcomes: [],\n cleanup: () =>\n set(() => ({\n stepId: \"\",\n sdg: [],\n budget: 0,\n selectedOutcomes: [],\n })),\n hydrate: (newState: string) => set(() => JSON.parse(newState)),\n toggleSdg: (sdgId: number) =>\n set((state) => ({\n sdg: state.sdg.includes(sdgId)\n ? state.sdg.filter((id) => id != sdgId)\n : state.sdg.length < 4\n ? [...state.sdg, sdgId]\n : state.sdg,\n })),\n toggleOutcome: (outcome: MiniDyiOutcomeDTO) =>\n set((state) => ({\n selectedOutcomes: state.selectedOutcomes.filter((so) =>\n compareOutcomes(so, outcome)\n ).length\n ? state.selectedOutcomes.filter((so) => !compareOutcomes(so, outcome))\n : state.selectedOutcomes.filter((so) => so.sdg === outcome.sdg).length <\n 4\n ? [...state.selectedOutcomes, outcome]\n : state.selectedOutcomes,\n })),\n addCustomOutcome: (outcome: MiniDyiOutcomeDTO) =>\n set((state) => ({\n selectedOutcomes: [...state.selectedOutcomes, outcome],\n })),\n toggleIndicator: (\n outcome: MiniDyiOutcomeDTO,\n indicator: MiniDyiIndicatorDTO\n ) =>\n set((state) => {\n return {\n selectedOutcomes: state.selectedOutcomes.map((out) => {\n if (compareOutcomes(out, outcome)) {\n out.indicators = out?.indicators?.filter((i) =>\n compareIndicators(i, indicator)\n ).length\n ? out?.indicators?.filter((i) => !compareIndicators(i, indicator))\n : out.indicators?.length! > 0\n ? [indicator, ...out.indicators!]\n : [indicator];\n }\n return out;\n }),\n };\n }),\n setOutcomeField: (outcome, field, value) =>\n set((state) => ({\n selectedOutcomes: state.selectedOutcomes.map((out) => {\n if (compareOutcomes(out, outcome)) {\n out[field] = value;\n }\n return out;\n }),\n })),\n setIndicatorField: (outcome, indicator, field, value) =>\n set((state) => ({\n selectedOutcomes: state.selectedOutcomes.map((out) => {\n if (compareOutcomes(out, outcome)) {\n out.indicators = out?.indicators?.map((ind) => {\n if (compareIndicators(indicator, ind)) {\n ind[field] = value;\n }\n return ind;\n });\n }\n return out;\n }),\n })),\n}));\n\nif (process.env.NODE_ENV === \"development\") {\n mountStoreDevtool(\"MiniDyiStore\", useMiniDyiStore);\n}\nexport default useMiniDyiStore;\n","import { Select, SelectProps } from \"@mantine/core\";\nimport React, {useContext} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useGetApiImpactFrameworkGetStakeholderType } from \"../../api/endpoints\";\nimport Loading from \"../Loading\";\nimport {ImpactFrameworkIdContext} from \"./MiniDYI\";\n\nfunction SelectStakeholder({\n selectedStakeholder,\n setSelectedStakeholder,\n ...props\n}: {\n selectedStakeholder: string;\n setSelectedStakeholder: (stakeholder: string) => void;\n} & Omit &\n React.RefAttributes) {\n const impactFrameworkId = useContext(ImpactFrameworkIdContext);\n\n const {\n data: stakeholderType,\n error,\n isLoading,\n } = useGetApiImpactFrameworkGetStakeholderType({ifSetId:impactFrameworkId});\n const { t } = useTranslation();\n\n if (!impactFrameworkId || isLoading || error) {\n return ;\n }\n return (\n {\n return {\n value: s.id!,\n label: s.name!,\n };\n })!\n }\n value={selectedStakeholder}\n onChange={setSelectedStakeholder}\n />\n );\n}\n\nexport default SelectStakeholder;\n","import {\n ActionIcon,\n Button,\n Card,\n Checkbox,\n Divider,\n Flex,\n Group,\n Input,\n Modal,\n Space,\n Text,\n Title,\n Tooltip,\n} from \"@mantine/core\";\nimport { postApiIndicatorGetIndicatorType } from \"../../api/endpoints\";\nimport { useEffect, useState } from \"react\";\nimport { IndicatorTypeDTO } from \"../../api/model\";\nimport useMiniDyiStore from \"./miniDYIStore\";\nimport SelectStakeholder from \"./SelectStakeholder\";\nimport { openModal } from \"@mantine/modals\";\nimport { IconInfoCircle, IconTrash } from \"@tabler/icons\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDisclosure } from \"@mantine/hooks\";\n\nconst InfoTooltip = ({\n text,\n marginLeft,\n}: {\n text: string;\n marginLeft?: number | string;\n}) => {\n return (\n \n
\n \n
\n
\n );\n};\n\nconst SelectIndicator = ({readOnly}: {readOnly?: boolean}) => {\n const { t } = useTranslation();\n const selectedOutcomes = useMiniDyiStore((state) => state.selectedOutcomes);\n const setOutcomeField = useMiniDyiStore((state) => state.setOutcomeField);\n const setIndicatorField = useMiniDyiStore((state) => state.setIndicatorField);\n const toggleIndicator = useMiniDyiStore((state) => state.toggleIndicator);\n const toggleOutcome = useMiniDyiStore((state) => state.toggleOutcome);\n\n const [proxyHelpModalOpened, { close: closeProxyHelpModal }] =\n useDisclosure(false);\n const [proxyValueHelpModalOpened, { close: closeProxyValueHelpModal }] =\n useDisclosure(false);\n const [\n KPIHelpModalOpened,\n { close: closeKPIHelpModal, open: openKPIHelpModal },\n ] = useDisclosure(false);\n const [indicatorTypeList, setIndicatorTypeList] =\n useState();\n useEffect(() => {\n const getIndicatorTypes = async () =>\n await postApiIndicatorGetIndicatorType(\n selectedOutcomes.filter((so) => !!so.sdg).map((out) => out?.outcomeId!)\n );\n\n getIndicatorTypes().then((indicatorTypes) => {\n //console.log(indicatorTypes);\n setIndicatorTypeList(indicatorTypes);\n });\n }, [postApiIndicatorGetIndicatorType, selectedOutcomes]);\n\n return (\n
\n \n \n {t(\"components.mini-dyi.indicator-context-SROI-evaluation\")}\n \n

\n {t(\"components.mini-dyi.indicator-nonprofit-organization\")}\n

\n \n {t(\"components.mini-dyi.indicator-financial-value-outcome\")}\n \n \n \n \n {t(\"components.mini-dyi.indicator-impact-measurement-precise\")}\n \n

\n {t(\"components.mini-dyi.indicator-example-social-cost\")}\n \n \n \n {t(\"components.mini-dyi.indicator-impact-calculated-annually\")}\n \n

\n \n {t(\"components.mini-dyi.indicator-example-star-impact-investment\")}\n \n \n \n {t(\"components.mini-dyi.indicators\")}\n \n openModal({\n children: (\n <>\n \n {t(\"components.mini-dyi.category-stakeholders-target\")}\n \n \n {t(\"components.mini-dyi.concept-financial-proxy\")}\n \n \n {t(\"components.mini-dyi.standard-financial-proxy\")}\n \n {t(\"components.mini-dyi.impact-kpi\")}\n {t(\"components.mini-dyi.impact-chain\")}\n \n ),\n })\n }\n >\n \n \n \n \n {t(\"components.mini-dyi.indicators-description\")}\n\n \n\n {selectedOutcomes\n .filter((so) => !!so.sdg)\n .map((out) => {\n return (\n \n \n {out.outcomeName}\n toggleOutcome(out)} disabled={readOnly}>\n \n \n \n \n so.outcomeId == out.outcomeId)\n ?.stakeholderId!\n }\n setSelectedStakeholder={(stakeholder) => {\n setOutcomeField(out, \"stakeholderId\", stakeholder);\n }}\n disabled={readOnly}\n\n >\n \n \n \n \n \n \n {indicatorTypeList &&\n indicatorTypeList?.map((group) => {\n return group\n .filter((it) => it.outcomeTypeId == out.outcomeId)\n .map((indicatortype) => {\n return (\n \n \n toggleIndicator(out, {\n indicatorId: indicatortype.id,\n indicatorName: indicatortype.name,\n indicatorTargetValue: 0,\n proxyId: indicatortype.proxyTypeID,\n proxyName: indicatortype.proxyTypeName,\n proxyValue:\n indicatortype.proxyTypeDefaultValue,\n })\n }\n style={{ cursor: \"pointer\" }}\n >\n i.indicatorId == indicatortype.id\n )\n }\n disabled={readOnly}\n\n >\n \n {\" \"}\n {indicatortype.name}\n \n \n \n \n \n \n \n \n i.indicatorId == indicatortype.id\n )\n }\n error={\n !!out?.indicators?.find(\n (i) => i.indicatorId == indicatortype.id\n ) &&\n !out?.indicators?.find(\n (i) => i.indicatorId == indicatortype.id\n )?.indicatorTargetValue!\n }\n onChange={(event: any) =>\n setIndicatorField(\n out,\n indicatortype,\n \"indicatorTargetValue\",\n event.target.value\n )\n }\n value={Number(\n out?.indicators?.find(\n (i) => i.indicatorId == indicatortype.id\n )?.indicatorTargetValue!\n ).toString()}\n type={\"number\"}\n min={0}\n disabled={readOnly}\n\n />\n \n \n \n \n \n \n );\n });\n })}\n
\n \n );\n })}\n \n );\n};\n\nexport default SelectIndicator;\n","import { Group, Image } from \"@mantine/core\";\n\nconst Images = [\n {\n id: 1,\n path: \"../01_ita.png\",\n },\n {\n id: 2,\n path: \"../02_ita.png\",\n },\n {\n id: 3,\n path: \"../03_ita.png\",\n },\n {\n id: 4,\n path: \"../4.png\",\n },\n {\n id: 5,\n path: \"../5.png\",\n },\n {\n id: 6,\n path: \"../6.png\",\n },\n {\n id: 7,\n path: \"../7.png\",\n },\n {\n id: 8,\n path: \"../8.png\",\n },\n {\n id: 9,\n path: \"../9.png\",\n },\n {\n id: 10,\n path: \"../10.png\",\n },\n {\n id: 11,\n path: \"../11.png\",\n },\n {\n id: 12,\n path: \"../12.png\",\n },\n {\n id: 13,\n path: \"../13.png\",\n },\n {\n id: 14,\n path: \"../14.png\",\n },\n {\n id: 15,\n path: \"../15.png\",\n },\n {\n id: 16,\n path: \"../16.png\",\n },\n {\n id: 17,\n path: \"../17_ita.png\",\n },\n];\ntype SdgId = {\n id: number;\n};\n\nfunction SDGImage({ id }: SdgId) {\n const imagePaths = Images.filter((x) => x.id === id);\n\n return (\n
\n {imagePaths.map((path) => {\n return (\n \n \n \n );\n })}\n
\n );\n}\n\nexport default SDGImage;\n","import {\n Checkbox,\n Drawer,\n Flex,\n ScrollArea,\n Space,\n Table,\n Text,\n Title,\n} from \"@mantine/core\";\nimport {useEffect, useState, useCallback, useContext} from \"react\";\nimport {\n postApiIndicatorGetIndicatorType,\n postApiOutcomeGetOutcomeType,\n} from \"../../api/endpoints\";\nimport { IndicatorTypeDTO, OutcomeTypeDTO, SdgDTO } from \"../../api/model\";\nimport SDGImage from \"./SDGImage\";\nimport useMiniDyiStore from \"./miniDYIStore\";\nimport { useTranslation } from \"react-i18next\";\nimport { IconInfoCircle } from \"@tabler/icons\";\nimport { useDisclosure } from \"@mantine/hooks\";\nimport {ImpactFrameworkIdContext} from \"./MiniDYI\";\n\nfunction SelectOutcome({readOnly}: {readOnly?: boolean}) {\n const impactFrameworkId = useContext(ImpactFrameworkIdContext);\n const sdg = useMiniDyiStore((state) => state.sdg);\n const { t } = useTranslation();\n const toggleOutcome = useMiniDyiStore((state) => state.toggleOutcome);\n const selectedOutcomes = useMiniDyiStore((state) => state.selectedOutcomes);\n const [outcomeTypeList, setOutcomeTypeList] = useState();\n const [indicatorTypeList, setIndicatorTypeList] =\n useState();\n const [opened, { open, close }] = useDisclosure(false);\n const [selectedOutcomeDetails, setSelectedOutcomeDetails] = useState<\n OutcomeTypeDTO | undefined\n >();\n\n const getIndicatorTypes = useCallback(async (outcomeIds: string[]) => {\n return await postApiIndicatorGetIndicatorType(outcomeIds);\n }, []);\n\n useEffect(() => {\n if (Array.isArray(outcomeTypeList)) {\n getIndicatorTypes(\n outcomeTypeList.reduce((a, b) => a.concat(b), []).map((o) => o.id!)\n ).then((indicatorTypes) => {\n setIndicatorTypeList(indicatorTypes);\n });\n }\n }, [\n postApiIndicatorGetIndicatorType,\n selectedOutcomes,\n selectedOutcomeDetails,\n ]);\n\n useEffect(() => {\n const getOutcomeTypes = async () => await postApiOutcomeGetOutcomeType(sdg,{ifSetId:impactFrameworkId});\n\n getOutcomeTypes().then((outcomeTypes) => {\n //console.log(outcomeTypes);\n setOutcomeTypeList(outcomeTypes);\n });\n }, [postApiOutcomeGetOutcomeType, sdg,impactFrameworkId]);\n\n return (\n <>\n {t(\"components.mini-dyi.outcomes\")}\n \n {t(\"components.mini-dyi.outcome-description\")}\n \n <>\n {outcomeTypeList &&\n outcomeTypeList?.map((group) => {\n return group\n .sort((a, b) =>\n a.name! > b.name! ? 1 : b.name! > a.name! ? -1 : 0\n )\n .map((out) => {\n return (\n {\n toggleOutcome({\n outcomeId: out.id,\n sdg: out.sdg,\n outcomeName: out.name,\n indicators: [],\n stakeholderId: \"\",\n stakeholderName: \"\",\n });\n }}\n >\n so.outcomeId === out.id)\n }\n disabled={readOnly}\n\n />\n \n {out.name}\n \n {\n e.stopPropagation();\n setSelectedOutcomeDetails(out);\n open();\n }}\n >\n \n \n );\n });\n })}\n \n {selectedOutcomeDetails && (\n <>\n \n {t(\"components.mini-dyi.indicators-in\")} \"\n {selectedOutcomeDetails.name}\"\n \n\n \n \n \n {indicatorTypeList &&\n indicatorTypeList\n .filter(\n (l) =>\n !!l.filter(\n (i) =>\n i.outcomeTypeId === selectedOutcomeDetails.id\n ).length\n )[0]\n ?.map((i) => {\n return (\n \n \n {i.name}\n \n \n );\n })}\n \n
\n
\n \n )}\n \n \n \n );\n}\n\nexport default SelectOutcome;\n","import {\n Checkbox,\n Drawer,\n Flex,\n Image,\n SimpleGrid,\n Space,\n Table,\n Text,\n Title,\n} from \"@mantine/core\";\nimport useMiniDyiStore from \"./miniDYIStore\";\nimport {\n postApiOutcomeGetOutcomeType,\n useGetApiImpactFrameworkGetSdg,\n} from \"../../api/endpoints\";\nimport { useTranslation } from \"react-i18next\";\nimport {useCallback, useContext, useEffect, useState} from \"react\";\nimport { OutcomeTypeDTO, SdgDTO } from \"../../api/model\";\nimport { IconInfoCircle } from \"@tabler/icons\";\nimport { useDisclosure } from \"@mantine/hooks\";\nimport {ImpactFrameworkIdContext} from \"./MiniDYI\";\n\nfunction SelectSDG({readOnly}: {readOnly?: boolean}) {\n const impactFrameworkId = useContext(ImpactFrameworkIdContext);\n const toggleSdg = useMiniDyiStore((state) => state.toggleSdg);\n const { t } = useTranslation();\n const [selectedSDG, setSelectedSDG] = useState();\n const [opened, { open, close }] = useDisclosure(false);\n const { data: sdgs } = useGetApiImpactFrameworkGetSdg();\n const [outcomeTypesList, setOutcomeTypesList] =\n useState();\n const selectedSdgs = useMiniDyiStore((state) => state.sdg);\n const getOutcomeTypes = useCallback(async (sdgCodes: number[]) => {\n return await postApiOutcomeGetOutcomeType(sdgCodes,{ifSetId:impactFrameworkId});\n }, [impactFrameworkId]);\n useEffect(() => {\n if (Array.isArray(sdgs)) {\n const sdgcodes = sdgs!.map((sdg) => sdg.sdgCode);\n getOutcomeTypes(sdgcodes).then((outcomeTypes) => {\n setOutcomeTypesList(outcomeTypes);\n });\n }\n }, [postApiOutcomeGetOutcomeType, sdgs,impactFrameworkId]);\n return (\n <>\n {t(\"components.mini-dyi.sdg\")}\n \n {t(\"components.mini-dyi.sdg-description\")}\n \n \n {sdgs\n ?.sort((a, b) => a.sdgCode - b.sdgCode)\n .map((sdg) => {\n return (\n
toggleSdg(sdg.sdgCode)}>\n \n sdgId == sdg.sdgCode)\n .length\n }\n disabled={readOnly}\n\n />\n\n \n \n \n \n \n {sdg.name}\n {\n e.stopPropagation();\n setSelectedSDG(JSON.parse(JSON.stringify(sdg)));\n open();\n }}\n >\n \n \n {sdg.keywords}\n \n \n \n \n
\n );\n })}\n
\n \n {selectedSDG && (\n <>\n \n \n \n \n {selectedSDG.name}\n \n \n {selectedSDG.description}\n \n \n \n
\n \n {t(\"components.mini-dyi.outcomes-available-sdg\")}\n \n\n \n \n {outcomeTypesList &&\n !!outcomeTypesList\n .filter(\n (l) =>\n !!l.filter((s) => s.sdg === selectedSDG.sdgCode).length\n ).length &&\n outcomeTypesList\n .filter(\n (l) =>\n !!l.filter((s) => s.sdg === selectedSDG.sdgCode).length\n )[0]\n .map((o) => {\n return (\n \n \n {o.name}\n \n \n );\n })}\n \n
\n \n )}\n \n \n );\n}\n\nexport default SelectSDG;\n","import { Input, Space, Text, Title } from \"@mantine/core\";\nimport useMiniDyiStore from \"./miniDYIStore\";\nimport { useTranslation } from \"react-i18next\";\nfunction SelectBudget({readOnly}: {readOnly?: boolean}) {\n const setBudget = useMiniDyiStore((state) => state.setBudget);\n const { t } = useTranslation();\n const budget = useMiniDyiStore((state) => state.budget);\n return (\n <>\n {t(\"components.mini-dyi.budget\")}\n \n {t(\"components.mini-dyi.budget-amount\")}\n \n \n setBudget(event.target.value)}\n value={Number(budget).toString()}\n type=\"number\"\n min=\"0\"\n disabled={readOnly}\n />\n \n \n );\n}\n\nexport default SelectBudget;\n","import {\n Button,\n Paper,\n Text,\n NavLink,\n Center,\n Loader,\n Flex,\n Divider,\n Title,\n Box,\n Accordion,\n Group,\n} from \"@mantine/core\";\nimport { create, useStore } from \"zustand\";\nimport {\n getApiImpactFrameworkMiniDYI,\n getGetApiCallGetSubmissionByIDKey,\n postApiCallCloseCallSubmission,\n postApiCallUpsertCallStepResult,\n useGetApiCallGetSubmissionByID,\n useGetApiStepGetSteps,\n} from \"../api/endpoints\";\nimport { Step, StepResult, SubmissionResponse } from \"../api/model\";\nimport stepsConfig from \"../pages/calls/stepsConfig\";\nimport {Link, useNavigate, useParams, useSearchParams} from \"react-router-dom\";\nimport { sidebarStore } from \"./Layout\";\nimport {\n IconArrowBack,\n IconArrowLeft,\n IconArrowRight,\n IconCheck,\n IconX,\n} from \"@tabler/icons\";\nimport { openConfirmModal } from \"@mantine/modals\";\nimport {\n MutableRefObject,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { quizResultsType } from \"../pages/survey/survey\";\nimport { useTranslation } from \"react-i18next\";\nimport quizTips from \"../assets/json/quiz-tips.json\";\nimport { mutate } from \"swr\";\nimport AnswerPdf from \"../pages/admin/AnswerPdf\";\ntype subStep = {\n name: string;\n};\n\ntype stepWithSubSteps = Step & {\n subSteps?: subStep[];\n};\n\ntype StepperStore = {\n submissionId: string;\n steps: stepWithSubSteps[];\n currentStep: [number, number];\n setSteps: (steps: stepWithSubSteps[]) => void;\n previousStep: () => void;\n nextStep: (currentStepRef?: MutableRefObject) => void;\n showClosingPage: () => void;\n setCurrentStep: (indexes: [number, number]) => void;\n};\n\nconst useStepperStore = create((set) => ({\n submissionId: \"\",\n steps: [],\n currentStep: [0, 0],\n setSteps: (steps: stepWithSubSteps[]) => set((state) => ({ steps })),\n setCurrentStep: (indexes: [number, number]) => {\n set((state) => {\n return {\n currentStep: indexes,\n };\n });\n },\n nextStep: (currentStepRef) => {\n if (\n currentStepRef &&\n currentStepRef.current &&\n currentStepRef.current.validate\n ) {\n if (!currentStepRef.current.validate()) {\n return;\n }\n }\n set((state) => {\n let nextSteps = { currentStep: state.currentStep };\n // console.log(\"stepType\",state.steps[state.currentStep[0]]?.stepType?.name)\n if (\n state.currentStep[0] < state.steps?.length - 1 &&\n state.steps[state.currentStep[0]]?.subSteps?.length === 0\n ) {\n // console.log(\"if 1\")\n nextSteps = {\n currentStep: [state.currentStep[0] + 1, 0],\n };\n } else if (\n state.steps[state.currentStep[0]]?.stepType?.name == 'miniDyi' && (\n // state.currentStep[0] < state.steps?.length - 1 ||\n state.currentStep[1] < 5\n )\n ) {\n // console.log(\"if 2 \",state.currentStep[1])\n nextSteps = {\n currentStep: [state.currentStep[0], state.currentStep[1] + 1],\n };\n } else if (\n state.steps[state.currentStep[0]]?.stepType?.name != 'miniDyi' && (\n state.currentStep[0] < state.steps?.length - 1 ||\n state.currentStep[1] <\n state.steps[state.currentStep[0]]?.subSteps?.length! - 1\n )\n ) {\n // console.log(\"if 3\")\n\n nextSteps = {\n currentStep: [state.currentStep[0], state.currentStep[1] + 1],\n };\n } else if (\n state.currentStep[0] < state.steps?.length - 1 &&\n state.currentStep[1] ===\n state.steps[state.currentStep[0]]?.subSteps?.length! - 1\n ) {\n // console.log(\"if 4\")\n nextSteps = {\n currentStep: [state.currentStep[0] + 1, 0],\n };\n //the outcome of the code condition shown above is the same that occurs starting from line 75, check and manage this case\n }\n // console.log(\"STATE:\",state )\n // console.log(\"nextSteps:\",nextSteps )\n \n return nextSteps;\n });\n },\n showClosingPage: () =>\n set((state) => ({\n currentStep: [state.steps.length, 0],\n })),\n previousStep: () =>\n set((state) => {\n let nextSteps = { currentStep: state.currentStep };\n if (state.currentStep[0] > 0 && state.currentStep[1] === 0) {\n nextSteps = {\n currentStep: [\n state.currentStep[0] - 1,\n state.steps[state.currentStep[0] - 1]?.subSteps?.length == 0\n ? 0\n : state.steps[state.currentStep[0] - 1]?.subSteps?.length! - 1,\n ],\n };\n } else if (state.currentStep[0] > 0 && state.currentStep[1] > 0) {\n nextSteps = {\n currentStep: [state.currentStep[0], state.currentStep[1] - 1],\n };\n } else if (state.currentStep[0] === 0 && state.currentStep[1] > 0) {\n nextSteps = {\n currentStep: [0, state.currentStep[1] - 1],\n };\n }\n return nextSteps;\n }),\n}));\n\nexport { useStepperStore };\n\ntype Props = { submission: SubmissionResponse, callTypeId: string; results: StepResult[], readonly:boolean };\n\nfunction Stepper({ submission, callTypeId, results, readonly }: Props) {\n const {\n setSteps,\n currentStep,\n previousStep,\n nextStep,\n showClosingPage,\n steps: storeSteps,\n setCurrentStep,\n } = useStepperStore();\n\n const [sp] = useSearchParams();\n const { submissionId } = useParams();\n const { data: sub } = useGetApiCallGetSubmissionByID({\n submissionId,\n });\n const { t } = useTranslation();\n const [lowScore, setlowScore] = useState(0);\n const [highScore, setHighScore] = useState(0);\n const [showClosingPageLoader, setShowClosingPageLoader] =\n useState(false);\n const [quizRecap, setQuizRecap] = useState>({});\n const [quizScore, setQuizScore] = useState(0);\n const { data: steps, isLoading: loadingSteps, error: errorSteps } = useGetApiStepGetSteps({\n callTypeId,\n });\n\n const setSidebarOpen = useStore(\n sidebarStore,\n (state) => state.setSidebarOpen\n );\n const getScoreLabel = (lowScore: number, highScore: number) => {\n if (highScore > 8) {\n return <>{t(\"components.sroi-limit\")};\n } else {\n return (\n <>\n {t(\"components.sroi\")} {lowScore!.toFixed(2)} {t(\"components.and\")}{\" \"}\n {highScore!.toFixed(2)}\n \n );\n }\n };\n const currentStepRef = useRef();\n const openConfirmationModal = () =>\n openConfirmModal({\n title: t(\"components.close-call-submission\"),\n children: {t(\"components.call-confirm-proceed\")},\n labels: {\n confirm: t(\"components.confirm\"),\n cancel: t(\"components.cancel\"),\n },\n onConfirm: () => confirmModalAction(),\n });\n\n const confirmModalAction = useCallback(async () => {\n setShowClosingPageLoader(true);\n setlowScore(0);\n setHighScore(0);\n await postApiCallCloseCallSubmission({\n callSubmissionId: submissionId,\n })\n .then((res) => {\n mutate(getGetApiCallGetSubmissionByIDKey({ submissionId }));\n return res;\n })\n .then((res) => {\n if (Array.isArray(res)) {\n let miniDyi = res.find((x) => x.stepStepTypeName == \"miniDyi\");\n let quiz = res.find((x) => x.stepStepTypeName == \"quiz\");\n const processResultsPromises: Promise[] = [];\n if (miniDyi && typeof miniDyi != \"undefined\") {\n processResultsPromises.push(\n getApiImpactFrameworkMiniDYI({ stepResult: miniDyi.id }).then(\n (miniRes) => {\n setlowScore(miniRes?.lowerScore!);\n setHighScore(miniRes?.upperScore!);\n return miniRes;\n }\n )\n );\n }\n if (quiz && typeof quiz != \"undefined\") {\n const content: quizResultsType = JSON.parse(\n quiz.content!\n ) as quizResultsType;\n setQuizScore(quiz.score ?? 0);\n setQuizRecap(content.quizResults.recap);\n }\n\n Promise.all(processResultsPromises).then(() => {\n showClosingPage();\n setShowClosingPageLoader(false);\n });\n }\n });\n }, [submissionId, sub]);\n\n const readOnly = !!sp.get(\"readonly\")\n\n useEffect(() => {\n const stepswithSubsteps: stepWithSubSteps[] | undefined = steps?.map(\n (s) => {\n const tmp: stepWithSubSteps = { ...s, subSteps: [] };\n if (tmp?.stepType?.name === \"miniDyi\") {\n tmp.subSteps = [\n { name: t(\"components.introduction\") },\n { name: t(\"components.budget\") },\n { name: t(\"components.sdg\") },\n { name: t(\"components.outcomes\") },\n { name: t(\"components.indicators\") },\n { name: t(\"components.custom-outcome\") },\n ];\n }\n return tmp;\n }\n );\n setSteps(stepswithSubsteps!);\n }, [steps]);\n\n useEffect(() => {\n //console.log(\"lowScore: \", lowScore);\n //console.log(\"highScore: \", highScore);\n }, [lowScore, highScore]);\n\n useEffect(() => {\n if (sub && sub.closed) {\n if (steps) {\n setCurrentStep([steps.length, 0]);\n if(!!sp.get(\"readonly\")){\n setCurrentStep([0, 0]);\n }\n }\n confirmModalAction();\n //console.log(\"called\");\n } else {\n setCurrentStep([0, 0]);\n }\n }, []);\n\n if (!steps) {\n return (\n
\n \n
\n );\n }\n\n if (showClosingPageLoader && !sub?.closed) {\n return (\n
\n \n \n \n {t(\"components.processing-submission\").split(\",\").shift()}, <br />{\" \"}\n {t(\"components.processing-submission\").split(\",\").pop()}\n \n \n
\n );\n }\n \n if(loadingSteps) {\n return (\n
\n \n \n \n
\n );\n }\n \n return (\n \n \n {(() => {\n if (!sp.get(\"readonly\") && (\n (sub && sub.closed ) ||\n (currentStep &&\n typeof steps != \"undefined\" &&\n Array.isArray(currentStep) &&\n currentStep.length &&\n steps!.length > 1 &&\n currentStep[0] === steps!.length))\n ) {\n setSidebarOpen(false);\n return (\n
\n {t(\"components.thank-submitting\")}\n \n \n\n Scarica il pdf della tua compilazione \n \n \n \n \n \n }\n >\n {t(\"components.go-back-calls\")}\n \n \n \n
\n );\n }\n\n const config = stepsConfig[steps![currentStep[0] ?? 0]?.stepType?.name!];\n const StepCmp =\n (config && config.FillableComponent) ||\n (() => (\n \n {t(\"components.not-implemented\")}{\" \"}\n {steps![currentStep[0] ?? 0]?.stepType?.name!}\n \n ));\n\n return steps && (\n (+a.sort! > +b.sort! ? 1 : -1))[\n currentStep[0] ?? 0\n ]\n }\n data={\n results?.find((sr) => sr.stepId === steps![currentStep[0] ?? 0]!.id)\n ?.content\n }\n setData={(data, score = 0) => {\n if( sub?.closed && !!submissionId) return new Promise((resolve, reject) => {});\n return postApiCallUpsertCallStepResult({\n callSubmissionId: submissionId,\n stepId: steps![currentStep[0]].id,\n content: data,\n score,\n })\n }}\n readOnly={readOnly || (!!submissionId && sub && sub.closed)}\n />\n );\n })()}\n
\n {steps &&\n sub &&\n !sub.closed &&\n steps.length > 1 &&\n currentStep &&\n Array.isArray(currentStep) &&\n currentStep.length &&\n currentStep[0] != steps!.length && (\n \n
\n {(currentStep[0] > 0 || currentStep[1] > 0) && (\n }\n >\n {t(\"components.previous\")}\n \n )}\n
\n {sub && !sub.closed && (\n
\n {(currentStep &&\n Array.isArray(currentStep) &&\n currentStep.length &&\n currentStep[0] < steps.length - 1) ||\n (!!storeSteps[currentStep[0]]?.subSteps &&\n currentStep[1] <\n storeSteps[currentStep[0]]?.subSteps?.length! - 1) ? (\n nextStep(currentStepRef)}\n variant=\"outline\"\n color=\"blue\"\n radius=\"xl\"\n rightIcon={}\n >\n {t(\"components.next\")}\n \n ) : (\n }\n >\n {t(\"components.submit\")}\n \n )}\n
\n )}\n
\n )}\n
\n );\n}\n\nfunction Sidebar() {\n const { submissionId } = useParams();\n const { data: sub } = useGetApiCallGetSubmissionByID({\n submissionId,\n });\n const { steps, setCurrentStep, currentStep } = useStepperStore();\n const setSidebarContent = useStore(sidebarStore, (state) => state.setContent);\n const { t } = useTranslation();\n const navigate = useNavigate();\n useEffect(() => {\n\n \n setSidebarContent(\n
\n {sub && !sub.closed && }\n fullWidth\n onClick={() => navigate(\"/calls\")}\n >\n {t(\"components.go-back-calls\")}\n }\n\n \n {steps &&\n steps\n .sort((a, b) => (+a.sort! > +b.sort! ? 1 : -1))\n .map((step, stepIndex) => {\n return (\n <>\n setCurrentStep([stepIndex, 0])}\n active={currentStep[0] == stepIndex}\n style={{ float: \"right\" }}\n label={step.name}\n childrenOffset={12}\n sx={(theme) => ({\n borderLeft:\n currentStep[0] == stepIndex\n ? `2px solid ${theme.colors.blue[6]}`\n : `2px solid ${theme.colors.blue[1]}`,\n })}\n >\n {step.subSteps?.length! > 0 &&\n step.subSteps?.map((substep, subStepIndex) => (\n \n setCurrentStep([stepIndex, subStepIndex])\n }\n active={\n currentStep[0] == stepIndex &&\n currentStep[1] == subStepIndex\n }\n color=\"blue\"\n style={{ float: \"right\" }}\n label={substep.name}\n sx={(theme) => ({\n borderLeft:\n currentStep[0] == stepIndex &&\n currentStep[1] == subStepIndex\n ? `2px solid ${theme.colors.blue[6]}`\n : `2px solid ${theme.colors.blue[1]}`,\n })}\n >\n ))}\n \n \n );\n })}\n \n
\n );\n \n }, [sidebarStore,currentStep,steps])\n return <>;\n}\n\nexport default { Stepper, Sidebar };\n","import { Space, Text, Title } from \"@mantine/core\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MiniDyiIntro = () => {\n const { t } = useTranslation();\n return (\n <>\n {t(\"components.introduction\")}\n \n \n {t(\"components.mini-dyi.design-your-impact\")}\n \n {/**/}\n \n );\n};\nexport default MiniDyiIntro;\n","import {\n Card,\n Divider,\n TextInput,\n Text,\n Flex,\n Input,\n NumberInput,\n Space,\n ActionIcon,\n Box,\n} from \"@mantine/core\";\nimport SelectStakeholder from \"./SelectStakeholder\";\nimport { IconTrash } from \"@tabler/icons\";\nimport { useCallback } from \"react\";\nimport useMiniDyiStore, {\n compareIndicators,\n compareOutcomes,\n MiniDyiCustomIndicator,\n MiniDyiCustomOutcome,\n} from \"./miniDYIStore\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction AddNewOutcome({ outcome, disabled }: { outcome: MiniDyiCustomOutcome, disabled?: boolean }) {\n const selectedOutcomes = useMiniDyiStore((state) => state.selectedOutcomes);\n const toggleOutcome = useMiniDyiStore((state) => state.toggleOutcome);\n const setOutcomeField = useMiniDyiStore((state) => state.setOutcomeField);\n const setIndicatorField = useMiniDyiStore((state) => state.setIndicatorField);\n const getOutcome = useCallback(\n () => selectedOutcomes.find((out) => compareOutcomes(out, outcome)),\n [selectedOutcomes]\n );\n const getIndicator = useCallback(\n (indicator: MiniDyiCustomIndicator) =>\n selectedOutcomes\n .find((out) => compareOutcomes(out, outcome))\n ?.indicators?.find((i) => compareIndicators(i, indicator)),\n [selectedOutcomes, outcome]\n );\n\n const { t } = useTranslation();\n\n const indicators = outcome.indicators?.map((indicator) => (\n \n \n \n setIndicatorField(\n outcome,\n indicator,\n \"indicatorName\",\n e.target.value\n )\n }\n disabled={disabled}\n\n />\n \n \n \n \n value != \"\" &&\n setIndicatorField(outcome, indicator, \"indicatorTargetValue\", value)\n }\n disabled={disabled}\n />\n \n\n \n {t(\"components.mini-dyi.financial-proxy\")}\n \n \n \n \n setIndicatorField(outcome, indicator, \"proxyName\", e.target.value)\n }\n disabled={disabled}\n\n />\n \n\n \n value != \"\" &&\n setIndicatorField(outcome, indicator, \"proxyValue\", value)\n }\n disabled={disabled}\n\n />\n \n ));\n\n return (\n \n \n \n \n setOutcomeField(outcome, \"outcomeName\", e.target.value)\n }\n disabled={disabled}\n />\n \n setOutcomeField(outcome, \"stakeholderId\", val)\n }\n disabled={disabled}\n\n />\n \n toggleOutcome(outcome)} disabled={disabled}>\n \n \n \n\n \n\n
\n {indicators}\n
\n
\n );\n}\n\nexport default AddNewOutcome;\n","function makeKey(length: number) {\n let result = \"\";\n const characters =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n const charactersLength = characters.length;\n let counter = 0;\n while (counter < length) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n counter += 1;\n }\n return result;\n}\nexport default makeKey;\n","import { Button, Group } from \"@mantine/core\";\nimport AddNewOutcome from \"./AddNewOutcome\";\nimport useMiniDyiStore from \"./miniDYIStore\";\nimport makeKey from \"../../utils/makeKey\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction CustomOutComeStep({readOnly}: {readOnly?: boolean}) {\n const selectedOutcomes = useMiniDyiStore((state) => state.selectedOutcomes);\n const customOutcomes = useMiniDyiStore((state) =>\n state.selectedOutcomes.filter((so) => !so.outcomeId)\n );\n const { t } = useTranslation();\n const addCustomOutcome = useMiniDyiStore((state) => state.addCustomOutcome);\n return (\n <>\n {selectedOutcomes\n .filter((so) => typeof so.sdg == \"undefined\")\n .map((outcome) => {\n return ;\n })}\n \n {\n //console.log(customOutcomes);\n addCustomOutcome({\n customKey: makeKey(12),\n outcomeName: \"\",\n stakeholderName: \"\",\n indicators: [\n {\n customKey: makeKey(12),\n indicatorName: \"\",\n indicatorTargetValue: 0,\n proxyName: \"\",\n proxyValue: 0,\n },\n ],\n });\n }}\n disabled={customOutcomes.length == 3 || readOnly}\n >\n {t(\"components.mini-dyi.add-custome-outcome\")}\n \n \n \n );\n}\n\nexport default CustomOutComeStep;\n","import SelectIndicator from \"./SelectIndicator\";\nimport SelectOutcome from \"./SelectOutcome\";\nimport SelectSDG from \"./SelectSDG\";\nimport useMiniDyiStore, { miniDyiStoreState } from \"./miniDYIStore\";\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n} from \"react\";\nimport SelectBudget from \"./SelectBudget\";\nimport {\n getGetApiCallGetStepResultKey,\n putApiImpactFrameworkPutMiniDYI,\n useGetApiCallGetStepResult,\n} from \"../../api/endpoints\";\nimport { useParams } from \"react-router-dom\";\nimport { MiniDyiReqDTO, Step, StepResult } from \"../../api/model\";\nimport { useStepperStore } from \"../CallStepper\";\nimport { mutate } from \"swr\";\nimport MiniDyiIntro from \"./Intro\";\nimport CustomOutComeStep from \"./CustomOutComeStep\";\nimport { showNotification } from \"@mantine/notifications\";\nimport { useTranslation } from \"react-i18next\";\nimport { createContext } from 'react';\nimport {Center, Loader} from \"@mantine/core\";\n\nexport const ImpactFrameworkIdContext = createContext('');\n\nconst MiniDYI = forwardRef(\n (\n {\n step,\n setData,\n impactFrameworkId,\n readOnly\n }: {\n step: Step;\n setData: (value: string) => Promise;\n impactFrameworkId: string | undefined;\n readOnly?: boolean\n },\n ref: ForwardedRef | undefined\n ) => {\n const { t } = useTranslation();\n const { submissionId } = useParams();\n const currentSubStep = useStepperStore((state) => state.currentStep[1]);\n const cleanup = useMiniDyiStore((state) => state.cleanup);\n const hydrate = useMiniDyiStore((state) => state.hydrate);\n const state = useMiniDyiStore((state) => state);\n\n useImperativeHandle(ref, () => ({\n validate() {\n //console.log(\"validate called\");\n if (\n (currentSubStep === 4 || currentSubStep === 5) &&\n state.selectedOutcomes.length !==\n state.selectedOutcomes\n .map((so) => so.stakeholderId)\n .filter((sid) => typeof sid != \"undefined\" && sid !== \"\").length\n ) {\n showNotification({\n message: t(\"components.mini-dyi.error-stakeholders\"),\n color: \"red\",\n });\n return false;\n }\n //console.log(state);\n return true;\n },\n }));\n const putMiniDYI = async (\n stepResultID: string,\n state: Omit\n ) => {\n //console.log({\n // budget: state.budget,\n // budgetSpent: state.budgetSpent,\n // stepResultID,\n //});\n await putApiImpactFrameworkPutMiniDYI({\n outcomes: state.outcomes,\n budget: state.budget,\n budgetSpent: state.budgetSpent,\n stepResultID,\n });\n };\n const {\n data: currentStepResult,\n isLoading: srLoading,\n error: srErr,\n } = useGetApiCallGetStepResult(\n { submissionId: submissionId!, StepId: step.id },\n {\n swr: {\n shouldRetryOnError: false,\n revalidateIfStale: true,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n }\n );\n const saver = (state: miniDyiStoreState) =>\n setData(\n JSON.stringify({\n selectedOutcomes: state.selectedOutcomes,\n budget: state.budget,\n budgetSpent: state.budgetSpent,\n sdg: state.sdg,\n stepId: state.stepId,\n })\n )\n .then((sr) => {\n mutate(\n getGetApiCallGetStepResultKey({\n submissionId: submissionId!,\n StepId: step.id,\n })\n );\n return sr.id;\n })\n .then((srId) =>\n putMiniDYI(srId as string, {\n outcomes: state.selectedOutcomes.filter(\n (so) => !!so.outcomeId || !!so.outcomeName\n ),\n budget: state.budget,\n budgetSpent: state.budgetSpent,\n })\n )\n .then(() => console.log(\"mini dyi saved\"));\n const saverCb = useCallback(saver, []);\n const hydrateCb = useCallback(hydrate, []);\n\n useEffect(() => {\n const unsub = useMiniDyiStore.subscribe(saverCb);\n return () => {\n unsub();\n cleanup();\n };\n }, []);\n useEffect(() => {\n if (!srLoading && !srErr && currentStepResult?.stepId == step.id) {\n hydrateCb(currentStepResult?.content!);\n }\n }, [hydrateCb, srLoading, srErr, step]);\n\n if (!impactFrameworkId){\n return
\n }\n return (\n \n {currentSubStep === 0 && }\n {currentSubStep === 1 && }\n {currentSubStep === 2 && }\n {currentSubStep === 3 && }\n {currentSubStep === 4 && }\n {currentSubStep === 5 && }\n \n );\n }\n);\n\nexport default MiniDYI;\n","import {Accordion, Flex, Text, Title} from \"@mantine/core\";\nimport { IconChevronDown } from \"@tabler/icons\";\nimport { ImpactFrameworkDTO } from \"../../api/model\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AccordionOutcomes = ({\n framework,\n}: {\n framework: ImpactFrameworkDTO;\n}) => {\n const { t } = useTranslation();\n const TextBold = ({ value }: { value: string | number | undefined }) => {\n return {value};\n };\n const TextLight = ({ value }: { value: string | number | undefined }) => {\n return {value};\n };\n\n return (\n <>\n {framework.stakeholders?.map((r, i) => {\n \n \n \n ;\n })}\n {framework.outcomes?.sort((x,y)=>x.name?.localeCompare(y.name!)!).map((r, i) => (\n <>\n }>\n \n \n \n \n \n {r.name ?? \"-\"}\n \n{/* \n \n */}\n \n \n \n
\n \n \n \n \n <>\n \n \n \n {r.indicators?.map((e) => (\n <>\n
\n
\n \n \n \n \n \n \n \n \n \n {e.proxies?.map((p) => (\n <>\n \n \n \n {t(\"pages.admin.outcome-value\")}\n \n \n \n {t(\"pages.admin.outcome-source\")}\n \n \n
\n \n ))}\n
\n
\n
\n \n ))}\n \n \n \n \n
\n
\n
\n \n ))}\n \n );\n};\n\nexport default AccordionOutcomes;\n","import quizAnswers from \"../../assets/json/quiz-answers.json\";\nimport \"survey-core/modern.min.css\";\nimport { StylesManager, Model } from \"survey-core\";\nimport { Survey as SurveyComponent } from \"survey-react-ui\";\nimport { useGetApiCallGetStepResult } from \"../../api/endpoints\";\nimport { useParams } from \"react-router-dom\";\nimport { Step } from \"../../api/model\";\nimport Loading from \"../../components/Loading\";\nimport { ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef, useState } from \"react\";\nimport { is } from \"immer/dist/internal\";\n\nStylesManager.applyTheme(\"modern\");\n\ntype Sender = {\n data: any;\n};\nexport type quizResultsType = {\n content: any;\n quizResults: {\n recap: Record;\n correctAnswersCount: number;\n };\n};\nconst Survey = forwardRef(\n (\n {\n model,\n isQuiz = false,\n setData,\n step,\n readOnly,\n }: {\n isQuiz?: boolean;\n model: string;\n setData: (data: string, score?: number) => void;\n step: Step;\n readOnly?: boolean;\n },\n ref: ForwardedRef\n ) => {\n const isValidJson = (data: any): boolean => {\n try {\n JSON.parse(data);\n return true;\n } catch (e) {\n return false;\n }\n };\n const [survey, setSurvey] = useState(null);\n\n\n useEffect(() => {\n // console.log(\"Survey component rendered\",model,isValidJson(model));\n \n if (isValidJson(model)) {\n const newSurvey = new Model(model);\n setSurvey(newSurvey);\n \n } else {\n console.log(\"Model is NOT valid JSON\");\n }\n }, [model]);\n useImperativeHandle(ref, () => ({\n validate() {\n //console.log(\"validate called\");\n if (survey) {\n return survey.completeLastPage();\n }else{\n return false;\n }\n },\n }));\n const { submissionId } = useParams();\n const {\n data: currentStepResult,\n isLoading: srLoading,\n error: srErr,\n } = useGetApiCallGetStepResult(\n { submissionId: submissionId!, StepId: step.id },\n {\n swr: {\n shouldRetryOnError: false,\n revalidateIfStale: true,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n }\n );\n const saveResults = (sender: Sender) => {\n if (isQuiz) {\n const qa = quizAnswers as Record;\n const quizResults = Object.keys(sender.data).reduce<{\n recap: any;\n correctAnswersCount: number;\n }>(\n (acc, curr) => {\n if (\n sender.data[curr] &&\n qa[curr] &&\n Array.isArray(sender.data[curr]) &&\n Array.isArray(qa[curr]) &&\n sender.data[curr].length &&\n qa[curr].length\n ) {\n if (sender.data[curr][0] == qa[curr][0]) {\n acc.recap[curr] = true;\n acc.correctAnswersCount = acc.correctAnswersCount + 1;\n } else {\n acc.recap[curr] = false;\n }\n }\n return acc;\n },\n { recap: {}, correctAnswersCount: 0 }\n );\n const results: quizResultsType = { content: sender.data, quizResults };\n setData(\n JSON.stringify(results),\n quizResults.correctAnswersCount / Object.keys(sender.data).length\n );\n } else {\n const results = JSON.stringify(sender.data);\n setData(results);\n }\n };\n if(survey){\n survey.focusFirstQuestionAutomatic = false;\n survey.mode = readOnly ? \"display\" : \"edit\";\n \n survey.onComplete.add(saveResults);\n survey.onValueChanged.add(saveResults);\n }else\n return ;\n if (srLoading) {\n return ;\n }\n\n if (!srLoading && !srErr && currentStepResult?.stepId === step.id) {\n const content = JSON.parse(currentStepResult?.content!);\n const surveyData = isQuiz ? content.content : content;\n \n survey.data = surveyData;\n survey.mode = readOnly ? \"display\" : \"edit\";\n \n }\n\n return ;\n }\n);\n\nexport default Survey;\n","import { Center, Loader, Select, Text, TextInput } from \"@mantine/core\";\nimport { ForwardedRef, useEffect, useState } from \"react\";\nimport { SurveyCreator, SurveyCreatorComponent } from \"survey-creator-react\";\nimport {\n useGetApiImpactFrameworkGetImpactFrameworkById,\n useGetApiImpactFrameworkGetImpactFrameworkSetList,\n} from \"../../api/endpoints\";\nimport { Step, StepResult, SubmissionResponse } from \"../../api/model\";\nimport { UploadList } from \"../../components/UploadList\";\nimport Uploader from \"../../components/Uploader\";\nimport Creator from \"../../components/calls/text/Creator\";\nimport Filler from \"../../components/calls/text/Filler\";\nimport MiniDYI from \"../../components/mini DYI/MiniDYI\";\nimport AccordionOutcomes from \"../admin/AccordionOutcomes\";\nimport Survey from \"../survey/survey\";\nimport \"survey-creator-core/survey-creator-core.i18n\";\nimport { editorLocalization } from \"survey-creator-core\";\nimport { useTranslation } from \"react-i18next\";\nimport useSelectedLanguage from \"../../hooks/useSelectedLanguage\";\nimport { useConfig } from \"../../hooks/useConfig\";\n\n\n\n\nexport type creationComponentProps = {\n content?: string;\n setData: (value: string) => void;\n};\nexport type FillableComponentProps = {\n submission: SubmissionResponse;\n step: Step;\n data?: string;\n setData: (value: string) => Promise;\n currentStepRef?: ForwardedRef;\n readOnly?: boolean;\n};\n\nexport type creationComponent = React.FC;\n\nexport type fillableComponent = React.FC;\n\ninterface IStepsConfig {\n [key: string]: {\n CreationComponent: creationComponent;\n FillableComponent: fillableComponent;\n };\n}\n\nconst stepsConfig: IStepsConfig = {\n text: {\n CreationComponent: Creator,\n FillableComponent: Filler,\n },\n upload: {\n CreationComponent: Uploader,\n FillableComponent: UploadList,\n },\n miniDyi: {\n CreationComponent: ({ content = \"\", setData }) => {\n const [selected, setSelected] = useState();\n const { data: frameworks }: any =\n useGetApiImpactFrameworkGetImpactFrameworkSetList();\n const { data: item } = useGetApiImpactFrameworkGetImpactFrameworkById({\n ImpactFrameworkId: selected,\n });\n\n useEffect(() => {\n setData(JSON.stringify(selected));\n }, [selected]);\n\n useEffect(() => {\n if (content != \"\") {\n setSelected(JSON.parse(content));\n }\n }, []);\n\n if (!frameworks) {\n
\n \n
;\n }\n return (\n <>\n {\n setSelected(e);\n setData(e);\n //console.log(\"e\", e);\n }}\n data={frameworks?.map((e: any) => ({ value: e.id, label: e.name }))}\n placeholder={\"Framework\"}\n />\n {item && }\n \n );\n },\n FillableComponent: ({ step, setData, currentStepRef, readOnly }) => {\n const SetDataIfNotReadOnly = (value: string) => {\n if (!readOnly) {\n return setData(value);\n }\n return Promise.resolve({} as StepResult);\n }\n \n return \n },\n },\n results: {\n CreationComponent: ({ content = \"\", setData = () => null }) => {\n return (\n setData(e.target.value)} />\n );\n },\n FillableComponent: ({ step }) => {step.content},\n },\n survey: {\n CreationComponent: ({ content, setData }) => {\n const { t } = useTranslation();\n // const [selectedLanguage, setSelectedLanguage] = useSelectedLanguage();\n const config = useConfig();\n\n // const config = useConfig();\n useEffect(() => {\n // console.log(\"selectedLanguage\", config.defaultLanguage);\n editorLocalization.currentLocale = config.defaultLanguage ?? \"en\";\n // i18n.changeLanguage(config.defaultLanguage ?? selectedLanguage ?? \"en\");\n }, []);\n\n\n const creatorOptions = {\n showLogicTab: true,\n isAutoSave: true,\n haveCommercialLicense: true,\n \n };\n const creator = new SurveyCreator(creatorOptions);\n //@ts-ignore\n useEffect(() => {\n creator.text = content!;\n }, []);\n creator.saveSurveyFunc = (saveNo: any, callback: any) => {\n setData(creator.text);\n callback(saveNo, true);\n };\n return (\n <>\n \n {t(\"pages.admin.sjeditordisclaimer\")}\n \n \n \n );\n },\n FillableComponent: ({ step, setData, currentStepRef, readOnly }) => {\n const SetDataIfNotReadOnly = (value: string) => {\n if (!readOnly) {\n return setData(value);\n }\n return Promise.resolve({} as StepResult);\n }\n return \n },\n },\n quiz: {\n CreationComponent: ({ content, setData }) => {\n const creatorOptions = {\n showLogicTab: false,\n isAutoSave: true,\n haveCommercialLicense: true,\n };\n const creator = new SurveyCreator(creatorOptions);\n creator.text = content!;\n creator.saveSurveyFunc = (saveNo: any, callback: any) => {\n setData(creator.text);\n callback(saveNo, true);\n };\n return (\n <>\n \n \n );\n },\n FillableComponent: ({ step, setData, currentStepRef, readOnly }) => {\n const SetDataIfNotReadOnly = (value: string) => {\n if (!readOnly) {\n return setData(value);\n }\n return Promise.resolve({} as StepResult);\n }\n return \n },\n },\n};\nexport default stepsConfig;\n","import {\n Group,\n Text,\n NumberInput,\n Select,\n TextInput,\n Textarea,\n Switch,\n Flex,\n Button,\n Divider,\n} from \"@mantine/core\";\nimport { IconPlus } from \"@tabler/icons\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\ntype FileContent = {\n file_name: string,\n file_description: string,\n file_type: string,\n dimensions: number,\n mandatory: false,\n}\n\nexport default function Uploader(\n {\n content,\n setData\n }:\n {\n content?: string | undefined,\n setData: (value: string) => void;\n }\n) {\n const initialData: FileContent = {\n file_name: \"\",\n file_description: \"\",\n file_type: \"\",\n dimensions: 0,\n mandatory: false,\n };\n const [files, setFiles] = useState(content ? JSON.parse(content) : [initialData]);\n\n const { t } = useTranslation();\n const fileTypeList = [\n { value: \"pdf\", label: \"PDF\" },\n { value: \"excel\", label: \"EXCEL\" },\n { value: \"word\", label: \"WORD\" },\n { value: \"image\", label: \"IMMAGINE\" },\n ];\n\n \n const handleFormChange = (index: number, value: any, nameValue: keyof FileContent) => {\n let data = [...files];\n if (data.length) {\n //@ts-ignore\n data[index][nameValue] = value;\n }\n setFiles(data);\n setData(JSON.stringify(data))\n };\n\n const handleAddForm = () => {\n let newfield = { ...initialData };\n setFiles([...files, newfield]);\n };\n\n let handleRemoveForm = (index: any) => {\n var data = [...files];\n data.splice(index, 1);\n setFiles(data);\n };\n\n return (\n <>\n {\n e.preventDefault();\n }}\n >\n {files.map((value: any, index: any) => {\n return (\n
\n \n handleFormChange(index, e.target.value, \"file_name\")\n }\n />\n \n handleFormChange(index, e.target.value, \"file_description\")\n }\n />\n \n \n handleFormChange(index, value, \"file_type\")\n }\n />\n \n handleFormChange(index, value, \"dimensions\")\n }\n />\n \n {t(\"components.upload.mandatory\")}\n \n handleFormChange(index, event.target.checked, \"mandatory\")\n }\n />\n \n\n handleRemoveForm(index)}\n >\n {t(\"components.upload.remove\")}\n \n \n \n
\n );\n })}\n \n }\n variant=\"subtle\"\n fw={600}\n onClick={handleAddForm}\n >\n {t(\"components.upload.add-another-file\")}\n \n \n );\n}\n","import {Box, Button, Flex, Modal, Select, Text, TextInput} from \"@mantine/core\";\nimport stepsConfig from \"../../pages/calls/stepsConfig\";\nimport { useGetApiStepGetStepTypes } from \"../../api/endpoints\";\nimport { CreateStepDto } from \"../../api/model\";\nimport React, {forwardRef, ReactNode, useCallback, useEffect, useImperativeHandle, useState} from \"react\";\nimport { useNewCallStore } from \"../../pages/admin/CreateCall\";\nimport Editor from \"../Editor\";\nimport { useTranslation } from \"react-i18next\";\nimport { IconInfoCircle } from \"@tabler/icons\";\n\nconst ModalTypeName = ({\n typeName,\n opened,\n setOpened,\n}: {\n typeName: string;\n opened: boolean;\n setOpened: () => void;\n}) => {\n const { t } = useTranslation();\n return (\n \n \n {(typeName === \"survey\" && t(\"components.forms.popup-edit-survey\")) ||\n (typeName === \"miniDyi\" && t(\"components.forms.popup-edit-minidyi\"))}\n \n \n );\n};\n\nconst IconTypeName = ({ setOpened }: { setOpened: () => void }) => {\n return (\n \n \n \n );\n};\n\n\nconst CreateStep = function ({ step ,close}: { step: CreateStepDto, close: ()=>void }) {\n const { data: stepTypes, error: errorStepTypes } =\n useGetApiStepGetStepTypes();\n\n const [selectedStepTypeId, setSelectedStepTypeId] = useState(\"\");\n const [typeName, setTypeName] = useState(\"\");\n const [contentBuffer, setContentBuffer] = useState(step.content ??\"\");\n const [nameBuffer, setNameBuffer] = useState(step.name ?? \"\");\n const [typeBuffer, setTypeBuffer] = useState(step.stepTypeId ?? \"\");\n const [descriptionBuffer, setDescriptionBuffer] = useState(step.description ?? \"\");\n const { t } = useTranslation();\n const [stepCreationComponent, setStepCreationComponent] =\n useState(null);\n\n const { setStepField } = useNewCallStore((store) => store);\n\n const setData = (v: string) => setContentBuffer(v)\n\n const save = useCallback(()=>{\n //console.log(\"save\")\n setStepField(step, \"content\", contentBuffer);\n setStepField(step, \"name\", nameBuffer);\n setStepField(step, \"description\", descriptionBuffer);\n setStepField(step, \"stepTypeId\", typeBuffer);\n close()\n },[contentBuffer, nameBuffer,descriptionBuffer,typeBuffer]);\n \n const cancel = useCallback(()=>{\n setContentBuffer(\"\");\n setNameBuffer(\"\");\n setDescriptionBuffer(\"\");\n setTypeBuffer(\"\");\n close()\n },[]);\n\n const [opened, setOpened] = useState(false);\n\n useEffect(() => {\n setSelectedStepTypeId(step.stepTypeId!);\n }, []);\n useEffect(() => {\n setSelectedStepTypeId(typeBuffer);\n }, [typeBuffer]);\n useEffect(() => {\n if (stepTypes) {\n setTypeName(stepTypes?.find((st) => st.id == step.stepTypeId)?.name!);\n }\n }, [stepTypes, step.stepTypeId]);\n useEffect(() => {\n if (\n typeName != \"\" &&\n stepsConfig[typeName] &&\n typeof stepsConfig[typeName].CreationComponent != \"undefined\"\n ) {\n setStepCreationComponent(\n React.createElement(stepsConfig[typeName].CreationComponent, {\n content: step.content,\n setData,\n })\n );\n }\n }, [typeName]);\n\n if (errorStepTypes) return
{errorStepTypes.message}
;\n if (!stepTypes) return
{t(\"components.forms.loading\")}
;\n if (!step) return
{t(\"components.forms.loading\")}
;\n\n return (\n <>\n setOpened(false)}\n />\n \n {\n e.stopPropagation();\n setNameBuffer(e.target.value)\n }}\n />\n e.name !== \"quiz\")\n .map((s) => {\n return {\n label:\n s.name === \"survey\"\n ? t(\"components.forms.survey\")\n : s.name === \"text\"\n ? t(\"components.forms.text\")\n : s.name === \"miniDyi\"\n ? t(\"components.forms.impact-framework\")\n : s.name === \"upload\"\n ? t(\"components.forms.upload\")\n : s.name!,\n value: s.id!,\n };\n })}\n value={selectedStepTypeId}\n onChange={(v) => {\n setSelectedStepTypeId(v!);\n setTypeName(stepTypes.find((st) => st.id == v)?.name!);\n setTypeBuffer(v!)\n }}\n />\n {(typeName === \"survey\" || typeName === \"miniDyi\") && (\n setOpened(true)} />\n )}\n \n \n \n {t(\"pages.admin.description-section\")}\n \n {\n setDescriptionBuffer(value)\n }}\n />\n \n \n {t(\"pages.admin.content\")}\n \n
\n {stepCreationComponent}\n \n \n \n \n \n );\n};\n\nexport default CreateStep;\n","\n\nexport function castToDate(srcDateStr: string | undefined): Date | undefined {\n if (srcDateStr === undefined) {\n return undefined;\n }\n if (srcDateStr.endsWith(\"Z\")) {\n return new Date(srcDateStr);\n }\n return new Date(srcDateStr + \"Z\");\n}\nexport function castToUnixTimestamp(srcDateStr: string | undefined): number | undefined {\n if (srcDateStr === undefined) {\n return undefined;\n }\n if (srcDateStr.endsWith(\"Z\")) {\n return new Date(srcDateStr).getTime();\n }\n return new Date(srcDateStr + \"Z\").getTime();\n}\n","import { useForm } from \"@mantine/form\";\nimport { useEffect, useState } from \"react\";\nimport { CallDto, CreateCallDto, CreateStepDto } from \"../../api/model\";\nimport {\n Button,\n Card,\n Checkbox,\n Divider,\n Drawer,\n Flex,\n Group,\n Loader,\n Modal,\n Space, Tabs,\n Text,\n TextInput,\n Title,\n} from \"@mantine/core\";\nimport { DatePickerInput, DateTimePicker } from \"@mantine/dates\";\nimport { useDisclosure } from \"@mantine/hooks\";\nimport { showNotification } from \"@mantine/notifications\";\nimport {IconInfoCircle, IconStepInto} from \"@tabler/icons\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { mutate } from \"swr\";\nimport { create } from \"zustand\";\nimport {\n getApiCallGetCallList, getApiCallGetCallType,\n getGetApiCallGetCallByIdAdminKey,\n getGetApiCallGetCallListKey,\n getGetApiCallGetCallTypeKey,\n putApiCallUpdateCall,\n putApiCallUpsertCallType,\n useGetApiCallGetCallByIdAdmin,\n useGetApiCallGetCallType,\n} from \"../../api/endpoints/index\";\nimport Editor from \"../../components/Editor\";\nimport CreateStep from \"../../components/forms/CreateStep\";\nimport makeKey from \"../../utils/makeKey\";\nimport { castToDate } from \"./castToDate\";\n\ntype CreateStepDtoWithKey = CreateStepDto & { customKey?: string };\n\ntype NewCallStore = {\n call: CreateCallDto;\n steps: CreateStepDtoWithKey[];\n setCall: (call: CreateCallDto) => void;\n clearCall: () => void;\n setSteps: (steps: CreateStepDtoWithKey[]) => void;\n moveStepUp: (step: CreateStepDtoWithKey) => void;\n moveStepDown: (step: CreateStepDtoWithKey) => void;\n setStepField: (\n step: CreateStepDtoWithKey,\n field: T,\n value: CreateStepDtoWithKey[T]\n ) => void;\n removeStep: (step: CreateStepDtoWithKey) => void;\n addStep: (step: CreateStepDtoWithKey) => void;\n};\n\nexport function compareSteps(a: CreateStepDtoWithKey, b: CreateStepDtoWithKey) {\n return a.customKey && b.customKey && a.customKey == b.customKey;\n}\nexport const useNewCallStore = create((set) => ({\n call: {\n name: \"\",\n description: \"\",\n openingAt: new Date().toDateString(),\n closingAt: new Date().toDateString(),\n callTypeId: \"\",\n },\n steps: [],\n moveStepUp: (step: CreateStepDto) =>\n set((store) => ({\n ...store,\n steps: store.steps\n .sort((a, b) => a.sort! - b.sort!)\n .map((s) => {\n return {\n ...s,\n sort:\n s.sort === step.sort! - 1\n ? s.sort + 1\n : s.sort === step.sort!\n ? s.sort - 1\n : s.sort,\n } as CreateStepDtoWithKey;\n }),\n })),\n moveStepDown: (step: CreateStepDto) =>\n set((store) => ({\n ...store,\n steps: store.steps\n .sort((a, b) => a.sort! - b.sort!)\n .map((s) => {\n return {\n ...s,\n sort:\n s.sort === step.sort! + 1\n ? s.sort - 1\n : s.sort === step.sort!\n ? s.sort + 1\n : s.sort,\n } as CreateStepDtoWithKey;\n }),\n })),\n setSteps: (steps: CreateStepDto[]) =>\n set((store) => ({\n ...store,\n steps: steps\n .sort((a, b) => a.sort! - b.sort!)\n .map((s) => {\n //@ts-ignore\n s.customKey = makeKey(12);\n return s as CreateStepDtoWithKey;\n }),\n })),\n addStep: (step: CreateStepDto) =>\n set((store) => {\n //@ts-ignore\n step.customKey = makeKey(12);\n return {\n ...store,\n steps: [...store.steps, step as CreateStepDtoWithKey],\n };\n }),\n removeStep: (step: CreateStepDtoWithKey) =>\n set((store) => {\n return {\n ...store,\n steps: store.steps.filter(\n (s: CreateStepDtoWithKey) => !compareSteps(s, step)\n ),\n };\n }),\n setStepField: (step, field, value) =>\n set((store) => {\n return {\n ...store,\n steps: store.steps.map((s) => {\n if (compareSteps(s, step)) {\n s[field] = value;\n }\n return s;\n }),\n };\n }),\n setCall: (call: CreateCallDto) =>\n set((store) => {\n return {\n ...store,\n call,\n };\n }),\n clearCall: () =>\n set((store) => {\n return {\n ...store,\n call: {\n name: \"\",\n description: \"\",\n openingAt: new Date().toDateString(),\n closingAt: new Date().toDateString(),\n callTypeId: \"\",\n },\n steps:[]\n };\n }),\n}));\n\nconst ModalInfoEdit = ({\n opened,\n setOpened,\n}: {\n opened: boolean;\n setOpened: () => void;\n}) => {\n const { t } = useTranslation();\n return (\n \n {t(\"pages.admin.popup-info\")}\n \n );\n};\nconst ModalCallLock = ({\n opened,\n setOpened,\n setLockEnd,\n}: {\n opened: boolean;\n setOpened: () => void;\n setLockEnd: () => void;\n}) => {\n const { t } = useTranslation();\n return (\n \n {t(\"pages.admin.popup-call-look-enalble\", \"WARN If you enable the Call Look you could not access to Call results Call before the Look End Date. Once you save the call you could not modify anymore the Look End Date.\")}\n \n \n \n \n \n \n \n );\n};\nconst IconInfoEdit = ({ setOpened }: { setOpened: () => void }) => {\n return (\n \n \n \n );\n};\nfunction CreateCall() {\n const { callId } = useParams();\n const { data: call, isLoading } = useGetApiCallGetCallByIdAdmin({ callId });\n const [opened, setOpened] = useState(false);\n const [openedLockEndModal, setOpenedLockEndModal] = useState(false);\n const {\n steps,\n addStep,\n setSteps,\n removeStep,\n clearCall,\n setCall,\n moveStepUp,\n moveStepDown,\n } = useNewCallStore((store) => store);\n const [stepEditorOpen, { open: openStepEditor, close: closeStepEditor }] =\n useDisclosure(false);\n const [selectedStep, setSelectedStep] = useState<\n CreateStepDtoWithKey | undefined\n >();\n const { t } = useTranslation();\n const { data: callType, isLoading: ctIsLoading } = useGetApiCallGetCallType({\n callTypeId: call?.callTypeId!,\n },{\n swr:{\n revalidateOnMount: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n revalidateOnFocus:true\n }\n });\n const form = useForm({\n initialValues: { ...call },\n });\n\n const [openingDate, setOpeningDate] = useState();\n const [closingDate, setClosingDate] = useState();\n const [lockDate, setLockDate] = useState();\n const [lockDateEnable, setLockDateEnable] = useState(false);\n\n useEffect(()=>{\n clearCall();\n },[])\n \n useEffect(() => {\n clearCall();\n if (callType && callType?.steps && callType.steps.length) {\n setCall(callType);\n setSteps(callType.steps!);\n }\n }, [callId, callType]);\n\n useEffect(() => {\n if (call) {\n if(call?.openingAt)\n setOpeningDate(castToDate(call?.openingAt!));\n \n if(call?.closingAt)\n setClosingDate(castToDate(call?.closingAt!));\n \n if(call?.callLockEnd)\n setLockDate(castToDate(call?.callLockEnd!));\n\n // console.log(\"call\",call);\n // console.log(\"openingDate\",openingDate, call?.openingAt!);\n // console.log(\"closingDate\",closingDate, call?.closingAt!);\n // console.log(\"lockDate\",lockDate)\n setLockDateEnable(call?.callLockEnd ? true : false)\n // console.log(\"lockDateEnables\",lockDateEnable)\n \n form.setValues({ ...call });\n }\n }, [call]);\n const handleSetLockEnd = () => {\n // console.log(\"Enabling Call Look\");\n setLockDateEnable(true);\n // Add any additional logic needed here to enable the call look\n };\n\n const handleUnSetLockEnd = () => {\n // console.log(\"Disable Call Look\");\n setLockDateEnable(false);\n setLockDate(undefined);\n\n // Add any additional logic needed here to enable the call look\n };\n const navigate = useNavigate();\n\n if (!call || isLoading || ctIsLoading) return ;\n\n return (\n <>\n setOpened(false)} />\n setOpenedLockEndModal(false)} setLockEnd={handleSetLockEnd} />\n\n \n {\n // console.log(\"Submitted values:\",values);\n if(values.powerBIReportID! == \"\")\n values.powerBIReportID = undefined\n if(values.powerBIWorkspaceID! == \"\")\n values.powerBIWorkspaceID = undefined\n if(values.userPowerBIReportID! == \"\")\n values.userPowerBIReportID = undefined\n if(values.userPowerBIWorkspaceID! == \"\")\n values.userPowerBIWorkspaceID = undefined\n\n\n putApiCallUpsertCallType({\n ...values,\n steps,\n id: call.callTypeId,\n })\n .then((res: any) => {\n mutate(getGetApiCallGetCallTypeKey({ callTypeId: res.id }));\n\n // console.log(\"lockDate\",lockDate, lockDate?.toISOString());\n // console.log(\"openingDate\",call?.openingAt!, openingDate, openingDate?.toISOString(), openingDate?.toLocaleTimeString(), openingDate?.toUTCString());\n // console.log(\"closingDate\",call?.closingAt!,closingDate, closingDate?.toISOString(), closingDate?.toLocaleTimeString(), closingDate?.toUTCString());\n // console.log(\"values:\",values);\n\n return putApiCallUpdateCall({\n ...values,\n callTypeId: res.id,\n openingAt: openingDate?.toISOString(),\n closingAt: closingDate?.toISOString(),\n callLockEnd: lockDate ? lockDate?.toISOString() : undefined,\n });\n })\n .then((res: CallDto) => {\n //console.log(res);\n mutate(getGetApiCallGetCallListKey(), getApiCallGetCallList());\n mutate(getGetApiCallGetCallByIdAdminKey({ callId: res.id! }));\n showNotification({\n title: t(\"pages.admin.success\"),\n message: callId\n ? t(\"pages.admin.call-updated-successfully\")\n : t(\"pages.admin.call-created-successfully\"),\n });\n\n navigate(\"/admin\", { state: \"calls\" });\n })\n .catch(console.log);\n })}\n >\n \n \n General Info\n \n \n {t(\"pages.admin.steps\")}\n \n \n PowerBI\n \n \n \n \n \n \n \n setOpeningDate(new Date(v!))}\n size={\"sm\"}\n withSeconds\n // type={\"default\"}\n // locale=\"it\"\n />\n v ? setClosingDate(new Date(v!)) : setClosingDate(undefined)}\n size={\"sm\"}\n withSeconds\n // type={\"default\"}\n />\n \n \n \n \n v.currentTarget.checked ? setOpenedLockEndModal(v.currentTarget.checked) : handleUnSetLockEnd()}\n >\n {lockDateEnable &&\n \n v ? setLockDate(new Date(v!)): setLockDate(undefined)}\n size={\"sm\"}\n withSeconds\n disabled= {call.callLockEnd ? true : false}\n minDate={new Date()}\n clearable\n // type={\"default\"}\n />\n}\n \n\n \n \n {\n // console.log(v.currentTarget.checked)\n form.setFieldValue(\"isUserFilterEnable\", v.currentTarget.checked)\n call.isUserFilterEnable = v.currentTarget.checked\n \n } }\n >\n {call.isUserFilterEnable && (\n\n \n \n )}\n \n \n \n {t(\"pages.admin.description\")}\n \n \n \n \n \n\n {!steps ||\n !Array.isArray(steps) ||\n steps.length == 0 ?\n (\n {t(\"pages.admin.popup-info\")} \n ): null\n }\n {steps &&\n Array.isArray(steps) &&\n steps.length > 0 &&\n steps\n .sort((a, b) => a.sort! - b.sort!)\n .map((step) => (\n \n {step.name && step.name != \"\" ? step.name : \"step\"}\n \n {\n moveStepUp(step);\n }}\n >\n ↑\n \n {\n moveStepDown(step);\n }}\n >\n ↓\n \n {\n setSelectedStep(step);\n openStepEditor();\n }}\n >\n {t(\"pages.admin.edit-step\")}\n \n {\n removeStep(step);\n }}\n >\n {t(\"pages.admin.remove-step\")}\n \n \n \n ))}\n\n \n \n addStep({\n name: \"\",\n description: \"\",\n content: \"\",\n sort: steps.length,\n stepTypeId: \"\",\n expectedAnswers: \"\",\n })\n }\n >\n {t(\"pages.admin.add-new-step\")}\n \n \n \n \n \n \n Admin Power BI\n \n \n \n \n \n

\n \n

\n \n\n \n User Power BI\n \n \n \n \n \n \n
\n
\n\n \n \n {\n navigate(\"/admin\", { state: \"calls\" });\n }}\n >\n {t(\"pages.admin.cancel\")}\n \n \n {callId ? t(\"pages.admin.save\") : t(\"pages.admin.create\")}\n \n \n \n \n \n
\n \n {selectedStep && (\n <>\n \n \n )}\n \n \n );\n}\n\nexport default CreateCall;\n","import {\n Button,\n Stack,\n TextInput,\n Text,\n Textarea,\n Divider,\n Card,\n Title,\n Space,\n Grid,\n} from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { useEffect, useRef } from \"react\";\nimport { Step } from \"../../api/model\";\nimport { create } from \"zustand\";\nimport { CreateCallTypeDto } from \"../../api/model/createCallTypeDto\";\nimport { postApiCallCreateCallType } from \"../../api/endpoints\";\nimport { CreateStepDto } from \"../../api/model/createStepDto\";\nimport produce from \"immer\";\nimport { useNavigate } from \"react-router-dom\";\nimport { showNotification } from \"@mantine/notifications\";\nimport { useNewCallStore } from \"./CreateCall\";\nimport { useTranslation } from \"react-i18next\";\n\ntype NewStepsStore = {\n steps: { [n: number]: CreateStepDto };\n addNewStep: (newStep: Step) => void;\n clearSteps: () => void;\n editStep: (\n stepIndex: number,\n key: keyof CreateStepDto,\n value: string\n ) => void;\n};\n\nexport const useNewStepsStore = create((set) => ({\n steps: [],\n addNewStep: (newStep: CreateStepDto) =>\n set((state) =>\n produce(state, (draft) => {\n draft.steps[Object.keys(draft.steps).length] = newStep;\n })\n ),\n clearSteps: () =>\n set((state) =>\n produce(state, (draft) => {\n draft.steps = [];\n })\n ),\n editStep: (stepKey: number, key: keyof CreateStepDto, value: string) =>\n set((state) =>\n produce(state, (draft) => {\n //@ts-ignore\n draft.steps[stepKey][key] = value;\n })\n ),\n}));\n\nfunction CreateCallType() {\n const navigate = useNavigate();\n\n const { addNewStep, clearSteps } = useNewStepsStore((store) => store);\n const { t } = useTranslation();\n const { setCall, call } = useNewCallStore((store) => store);\n const steps = useRef(useNewStepsStore.getState().steps);\n useEffect(\n () =>\n useNewStepsStore.subscribe((state) => {\n steps.current = state.steps;\n }),\n []\n );\n\n const form = useForm({\n initialValues: {\n name: \"\",\n description: \"\",\n steps: [],\n },\n });\n\n return (\n <>\n \n {t(\"pages.admin.new-call-type\")}\n \n {\n postApiCallCreateCallType({\n ...values,\n steps: Object.values(steps.current),\n }).then((res) => {\n showNotification({\n title: t(\"pages.admin.created\"),\n message: t(\"pages.admin.calltype-created-successfully\"),\n });\n clearSteps();\n setCall({ ...call, callTypeId: res?.id });\n navigate(-1);\n });\n })}\n >\n \n \n \n {t(\"pages.admin.steps\")}\n \n \n addNewStep({\n name: \"\",\n description: \"\",\n content: \"\",\n sort: 0,\n stepTypeId: \"\",\n expectedAnswers: \"\",\n })\n }\n >\n {t(\"pages.admin.add-new-step\")}\n \n \n \n \n \n {t(\"pages.admin.create\")}\n \n \n \n {\n clearSteps();\n navigate(-1);\n }}\n >\n {t(\"pages.admin.cancel\")}\n \n \n \n \n \n \n );\n}\n\nexport default CreateCallType;\n","import { SurveyCreator, SurveyCreatorComponent } from \"survey-creator-react\";\n\nimport \"survey-core/survey.i18n.js\";\nimport \"survey-creator-core/survey-creator-core.i18n.js\";\n\nimport \"survey-core/defaultV2.css\";\nimport \"survey-creator-core/survey-creator-core.css\";\nimport { t } from \"i18next\";\n\nconst creatorJson = {\n completedHtml:\n \"

\" +\n t(\"pages.admin.thank-your-feedback\") +\n \"

\" +\n t(\"pages.admin.message-thoughts-ideas\") +\n \"
\",\n completedHtmlOnCondition: [\n {\n expression: \"{nps_score} > 8\",\n html:\n \"

\" +\n t(\"pages.admin.thank-your-feedback\") +\n \"

\" +\n t(\"pages.admin.message-your-ideas-suggestions\") +\n \"
\",\n },\n {\n expression: \"{nps_score} < 7\",\n html:\n \"

\" +\n t(\"pages.admin.thank-your-feedback\") +\n \"

\" +\n t(\"pages.admin.improve-product-reach-expectation\") +\n \"

\",\n },\n ],\n pages: [\n {\n name: t(\"pages.admin.page\"),\n elements: [\n {\n type: \"rating\",\n name: t(\"pages.admin.nps-score-name\"),\n title: t(\"pages.admin.survey-nps-score\"),\n isRequired: true,\n rateMin: 0,\n rateMax: 10,\n minRateDescription: t(\"pages.admin.most-unlikely\"),\n maxRateDescription: t(\"pages.admin.most-likely\"),\n },\n {\n type: \"checkbox\",\n name: t(\"pages.admin.promoter-features-name\"),\n visible: false,\n visibleIf: \"{nps_score} >= 9\",\n title: t(\"pages.admin.survey-promoter-features\"),\n isRequired: true,\n validators: [\n {\n type: \"answercount\",\n text: t(\"pages.admin.two-features-maximum\"),\n maxCount: 2,\n },\n ],\n choices: [\n t(\"pages.admin.performance\"),\n t(\"pages.admin.stability\"),\n t(\"pages.admin.user-interface\"),\n t(\"pages.admin.complete-functionality\"),\n ],\n showOtherItem: true,\n otherText: t(\"pages.admin.other-feature\"),\n colCount: 2,\n },\n {\n type: \"comment\",\n name: t(\"pages.admin.passive-experience-name\"),\n visible: false,\n visibleIf: \"{nps_score} > 6 and {nps_score} < 9\",\n title: t(\"pages.admin.survey-passive-experience\"),\n },\n {\n type: \"comment\",\n name: t(\"pages.admin.disappointed-experience\"),\n visible: false,\n visibleIf: \"{nps_score} notempty\",\n title: t(\"pages.admin.survey-disappointed-experience\"),\n },\n ],\n },\n ],\n showQuestionNumbers: \"off\",\n};\n\nconst creatorOptions = {};\n\nfunction CreateSurvey() {\n const creator = new SurveyCreator(creatorOptions);\n creator.JSON = creatorJson;\n\n return ;\n}\n\nexport default CreateSurvey;\n","import { TextInput, Button, Group } from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { SJSurveyTypeDTO } from \"../../dto/sj-survey-type-dto\";\nimport { postApiSJSurveyCreateSurveyType } from \"../../api/endpoints\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction CreateSurveyType() {\n const { t } = useTranslation();\n const form = useForm({\n validate: {},\n });\n return (\n \n postApiSJSurveyCreateSurveyType(values)\n )}\n >\n \n \n \n \n \n \n );\n}\n\nexport default CreateSurveyType;\n","const addMonths = (date: Date, months:number): Date => {\n date.setMonth(date.getMonth() + months);\n return date;\n}\nexport default addMonths","import {Button, Group, Table} from \"@mantine/core\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { mutate } from \"swr\";\nimport {\n deleteApiConfigDeleteConfig,\n getGetApiConfigGetConfigKey,\n getGetApiConfigGetConfigListKey, postApiConfigActivateConfig,\n useGetApiConfigGetConfigList,\n} from \"../../../api/endpoints\";\nimport Loading from \"../../../components/Loading\";\nimport {IconActivity, IconCircleCheck, IconTrash} from \"@tabler/icons\";\ntype Props = {\n showClosed: boolean;\n};\n\nfunction CustomizeList() {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const { data: configs, error, isLoading } = useGetApiConfigGetConfigList();\n if (error) {\n mutate(getGetApiConfigGetConfigListKey());\n return ;\n }\n if (isLoading) {\n return ;\n }\n\n return (\n \n \n \n \n \n \n \n \n {configs &&\n Array.isArray(configs) &&\n configs.map((c, index) => {\n return (\n \n \n \n \n \n \n );\n })}\n \n
{t(\"pages.admin.section.customize-name\")}
{c.name}{c.isActive ? \"ACTIVE\" : \"\"}\n \n {\n postApiConfigActivateConfig({configId:c.id}).then(()=>{\n mutate(getGetApiConfigGetConfigKey())\n mutate(getGetApiConfigGetConfigListKey())\n });\n }}\n leftIcon={}\n >\n {t(\"pages.admin.section.activate\")}\n \n {\n navigate(`/admin/customize`);\n }}\n >\n {t(\"pages.admin.section.edit\")}\n \n {\n deleteApiConfigDeleteConfig({configId:c.id}).then(()=>{\n mutate(getGetApiConfigGetConfigKey())\n mutate(getGetApiConfigGetConfigListKey())\n }); \n }}\n leftIcon={}\n >\n {t(\"pages.admin.section.remove\")}\n \n \n
\n );\n}\n\nexport default CustomizeList;\n","import {Button, Center, Group, Loader, Tabs} from \"@mantine/core\";\nimport { t } from \"i18next\";\nimport { lazy, Suspense, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport { create, useStore } from \"zustand\";\nimport {\n postApiCallCreateCall,\n postApiCallCreateCallType, useGetApiPBITokens,\n} from \"../../api/endpoints\";\n\nimport addMonths from \"../../utils/AddMonths\";\nimport CustomizeList from \"./sections/CustomizeList\";\nimport {useConfig} from \"../../hooks/useConfig\";\nimport {useAuth} from \"../../auth/AuthContext\";\n//import PbiReportComponent from \"../powerBi/PbiReportComponent\";\nconst PbiReportComponent = lazy(() => import(\"../powerBi/PbiReportComponent\"));\n\nconst SubmissionsList = lazy(() => import(\"./sections/SubmissionsList\"));\nconst CallsList = lazy(() => import(\"./sections/CallsList\"));\nconst FrameworkList = lazy(() => import(\"./sections/FrameworkList\"));\n\ntype ShowClosedState = {\n show: boolean;\n setShow: (show: boolean) => void;\n label: string;\n setLabel: (label: string) => void;\n};\nexport const showCloseStore = create((set) => ({\n show: false,\n setShow: (show: boolean) => set({ show }),\n label: t(\"pages.admin.show-closed\"),\n setLabel: (label: string) => set({ label }),\n}));\n\nfunction toggleShowCloseLabel(showClosed: boolean): string {\n if (showClosed) return t(\"pages.admin.hide-closed\");\n return t(\"pages.admin.show-closed\");\n}\nfunction Dashboard() {\n const navigate = useNavigate();\n const location = useLocation();\n const config = useConfig();\n const {user} = useAuth()\n const [activeTab, setActiveTab] = useState(\n location.state ?? \"calls\"\n );\n // console.log(\"ASD: \", location);\n const { t } = useTranslation();\n const showCloseLabel = useStore(showCloseStore, (state) => state.label);\n const showClosed = useStore(showCloseStore, (state) => state.show);\n const setShowClosed = useStore(showCloseStore, (state) => state.setShow);\n const EMPTY_GUID = \"00000000-0000-0000-0000-000000000000\";\n\n \n\n useEffect(() => {\n showCloseStore.setState({ label: toggleShowCloseLabel(showClosed) });\n }, [showClosed]);\n const {\n data: pbi,\n error,\n isLoading,\n } = useGetApiPBITokens(\n config.workspacePowerBiId && config.reportPowerBiId\n ? {\n workspaceId: config.workspacePowerBiId,\n reportId: config.reportPowerBiId,\n }\n : { workspaceId: EMPTY_GUID, reportId: EMPTY_GUID } // or handle this case differently\n );\n return (\n \n \n {t(\"pages.admin.calls\")}\n {t(\"pages.admin.submissions\")}\n {t(\"pages.admin.report\")}\n\n {t(\"pages.admin.configuration\")}\n \n {t(\"pages.admin.impact-framework\")}\n \n \n\n \n \n {\n const callType = await postApiCallCreateCallType({\n name: \"\",\n description: \"\",\n steps: [],\n });\n const call = await postApiCallCreateCall({\n name: \"\",\n description: \"\",\n openingAt: addMonths(new Date(), 1).toISOString(),\n closingAt: addMonths(new Date(), 3).toISOString(),\n callTypeId: callType.id,\n });\n navigate(`/admin/calls/${call.id}`);\n }}\n >\n {t(\"pages.admin.create-call\")}\n \n\n {\n setShowClosed(!showClosed);\n }}\n >\n {showCloseLabel}\n \n \n }>\n \n \n \n\n \n }>\n \n \n \n\n {user?.email?.includes(\"openimpact.it\") ? (\n \n \n \n navigate(`/admin/customize`)}\n >\n {t(\"pages.admin.create-customize\")}\n \n \n \n }>\n \n \n \n ):null}\n {config.reportPowerBiId && config.workspacePowerBiId && pbi ? \n \n }>\n \n \n \n : null}\n \n \n {\n navigate(\"/admin/impact-framework\");\n }}\n >\n {t(\"pages.admin.new-framework\")}\n \n \n }>\n \n \n \n \n );\n}\n\nexport default Dashboard;\n","import { Table } from \"@mantine/core\";\nimport { useTranslation } from \"react-i18next\";\nimport { useGetApiFileUploadGetAttachments } from \"../../api/endpoints\";\n\nfunction FilesList() {\n const { data: files } = useGetApiFileUploadGetAttachments();\n const { t } = useTranslation();\n\n const rows = files?.map((element: any) => (\n \n {element.descrizione}\n {element.nomeAllegato}\n {element.createdAt.toString()}\n \n ));\n return (\n \n \n \n \n \n \n \n \n \n {rows}\n
{t(\"pages.admin.file-name\")}{t(\"pages.admin.description\")}{t(\"pages.admin.attachment-name\")}{t(\"pages.admin.created-date\")}
\n );\n}\n\nexport default FilesList;\n","import { Button, Group, Text, useMantineTheme } from \"@mantine/core\";\nimport { IconUpload, IconPhoto, IconX } from \"@tabler/icons\";\nimport { Dropzone, MIME_TYPES } from \"@mantine/dropzone\";\nimport FilesList from \"./FilesList\";\nimport { postApiFileUploadUploadFile } from \"../../api/endpoints\";\nimport { PostApiFileuploadUploadfiletosubmissionBody } from \"../../api/model\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction FileUpload() {\n const theme = useMantineTheme();\n const { t } = useTranslation();\n\n return (\n <>\n {\n const formData = new FormData();\n formData.append(\"file\", files[0]);\n const fileUploadReq: PostApiFileuploadUploadfiletosubmissionBody = {\n Nome: files[0].name,\n Descrizione: \"\",\n TipoFileId: \"\",\n File: formData as unknown as Blob,\n };\n postApiFileUploadUploadFile(fileUploadReq);\n }}\n onReject={(files) => console.log(\"rejected files\", files)}\n maxSize={3 * 1024 ** 2}\n accept={[\n MIME_TYPES.png,\n MIME_TYPES.jpeg,\n MIME_TYPES.docx,\n MIME_TYPES.mp4,\n MIME_TYPES.xlsx,\n ]}\n >\n \n \n \n \n \n \n \n \n \n \n\n
\n \n {t(\"pages.admin.drag-images-select-files\")}\n \n \n {t(\"pages.admin.attach-many-files\")}\n \n
\n \n \n\n \n \n \n\n \n \n );\n}\n\nexport default FileUpload;\n","import { useParams } from \"react-router-dom\";\nimport { Flex, Loader } from \"@mantine/core\";\nimport {\n getGetApiCallGetSubmissionByIDKey,\n useGetApiCallGetSubmissionByID,\n useGetApiOrganizationGetOrganizations,\n} from \"../../api/endpoints/index\";\nimport CallStepper from \"../../components/CallStepper\";\nimport useSelectedOrganizationId from \"../../hooks/useSelectedOrganizationId\";\nimport { useEffect } from \"react\";\nimport { mutate } from \"swr\";\n\nconst Call = () => {\n const { submissionId , readonly} = useParams();\n const [selectedOrganizationId, setSelectedOrganizationId] = useSelectedOrganizationId();\n // const [selectedOrgId, setSelectedOrgId] = useSelectedOrganizationId();\n const { data: submission, error: submissionError } =\n useGetApiCallGetSubmissionByID(\n {\n submissionId: submissionId!,\n },\n {\n swr: {\n revalidateIfStale: true,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n }\n );\n \n // const { data: orgs } = useGetApiOrganizationGetOrganizations();\n // useEffect(() => {\n // if (submissionError || (!selectedOrganizationId && orgs?.length)) {\n // const firstOrg =\n // Array.isArray(orgs) && orgs.length && typeof orgs[0] !== \"undefined\"\n // ? orgs[0]\n // : undefined;\n // if (firstOrg) {\n // setSelectedOrganizationId(firstOrg.id!);\n // mutate(\n // getGetApiCallGetSubmissionByIDKey({ submissionId: submissionId! })\n // );\n // }\n // }\n // }, [\n // selectedOrganizationId,\n // orgs,\n // setSelectedOrganizationId,\n // submissionError,\n // submission,\n // ]);\n\n if (submissionError) {\n return ;\n }\n if (submission === undefined) {\n return ;\n }\n return (\n \n \n \n \n );\n};\n\nexport default Call;\n","import { Button, Card, Divider, Group, Text, Title } from \"@mantine/core\";\nimport { openModal } from \"@mantine/modals\";\nimport { useNavigate } from \"react-router-dom\";\nimport {\n getGetApiCallGetCallListUserKey,\n postApiCallUpsertCallSubmission,\n useGetApiCallGetCallListUser,\n useGetApiOrganizationGetOrganizations,\n} from \"../../api/endpoints\";\nimport RegisterOrganization from \"../../components/forms/RegisterOrganization\";\nimport Loading from \"../../components/Loading\";\nimport useSelectedOrganizationId from \"../../hooks/useSelectedOrganizationId\";\nimport { useTranslation } from \"react-i18next\";\nimport { mutate } from \"swr\";\nimport { useStore } from \"zustand\";\nimport { sidebarStore } from \"../../components/Layout\";\nimport { useConfig } from \"../../hooks/useConfig\";\nimport AnswerPdf from \"../admin/AnswerPdf\";\nimport { castToDate, castToUnixTimestamp } from \"../admin/castToDate\";\nfunction downloadFile(url: string, filename: string) {\n fetch(url).then((response) => {\n response.blob().then((blob) => {\n const fileURL = window.URL.createObjectURL(blob);\n let alink = document.createElement(\"a\");\n alink.href = fileURL;\n alink.download = filename;\n alink.click();\n });\n });\n}\nfunction CallList() {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { data: calls, error, isLoading } = useGetApiCallGetCallListUser();\n const [selectedOrgId, setSelectedOrgId] = useSelectedOrganizationId();\n const { data: orgs } = useGetApiOrganizationGetOrganizations();\n const [selectedOrganizationId, setSelectedOrganizationId] =\n useSelectedOrganizationId();\n\n const config = useConfig();\n const setSidebarOpen = useStore(\n sidebarStore,\n (state) => state.setSidebarOpen\n );\n\n // setSidebarOpen(true);\n async function handlePbi(reportId: string, workspaceId: string) {\n if (selectedOrgId) {\n navigate(`/powerbi-report-rls/${workspaceId}/${reportId}/${selectedOrgId}`);\n } \n }\n\n\n async function handleSubmission(callId: string) {\n if (selectedOrgId) {\n const submission = await postApiCallUpsertCallSubmission({ callId });\n navigate(`/call/${submission.id}${submission.closed ? \"/?readonly=true\" : \"\"}`);\n } else if (orgs && orgs?.length > 0) {\n const firstOrg =\n Array.isArray(orgs) && orgs.length && typeof orgs[0] !== \"undefined\"\n ? orgs[0]\n : undefined;\n if (firstOrg) {\n setSelectedOrganizationId(firstOrg.id!);\n }\n } else {\n openModal({\n title: t(\"pages.calls.register-organization\"),\n children: ,\n });\n }\n }\n if (error) {\n console.log(\"error\",error)\n navigate(`/`);\n\n // mutate(getGetApiCallGetCallListUserKey());\n //console.log(\"mutate getGetApiCallGetCallListUserKey\")\n\n // return ;\n }\n if (!calls || isLoading) {\n return ;\n }\n // console.log(\"calls\",calls)\n \n return calls && Array.isArray(calls) ? (\n <>\n \n {config.listName ?? t(\"pages.calls.list-open-rounds\")}\n \n \n \n \n {calls\n ?.sort((a, b) => (a.name! > b.name! ? 1 : -1))\n .filter((call) => (call.name != \"\" && call.name != null))\n .map((call) => (\n \n \n {call.name}\n\n \n {t(\"pages.calls.status\") + \" \"}\n {call.closingAt &&\n (Date.now() < castToUnixTimestamp(call.closingAt)! && Date.now() > castToUnixTimestamp(call.openingAt)! \n ? t(\"pages.calls.open\")\n : t(\"pages.calls.close\"))}\n \n \n\n
\n\n \n \n \n await handleSubmission(call.id!)}\n disabled={orgs?.length == 0 || ( Date.now() < castToUnixTimestamp(call.openingAt!)!) || (( Date.now() > castToUnixTimestamp(call.closingAt!)!) && call.submissionId == \"00000000-0000-0000-0000-000000000000\" )}\n >\n {( Date.now() > castToUnixTimestamp(call.openingAt!)!) ?\n call.submissionId != \"00000000-0000-0000-0000-000000000000\" ?\n call.submissionClosed ? \n t(\"pages.calls.closed\")\n : call.submissionId != \"00000000-0000-0000-0000-000000000000\"\n ? t(\"pages.calls.resume\")\n : t(\"pages.calls.submit\")\n : t(\"pages.calls.submit\") \n : t(\"pages.calls.close\") \n }\n \n \n {( Date.now() > castToUnixTimestamp(call.openingAt!)!) && call.submissionClosed && call.userPowerBIReportID && call.userPowerBIWorkspaceID ? (\n \n await handlePbi(call.userPowerBIReportID!,call.userPowerBIWorkspaceID!)}\n\n >\n {t(\"pages.calls.viewreport\")}\n \n ) : (<>)\n \n }\n {( Date.now() > castToUnixTimestamp(call.openingAt!)!) && call.submissionClosed && call.customFile ? (\n \n {\n downloadFile(\n `/api/FileUpload/GetFile?downloadId=${call.customFile?.id}`,\n call.customFile?.name!\n )}}\n >\n {t(\"pages.calls.download-file\")}\n \n ) : (<>)\n \n }\n {( Date.now() > castToUnixTimestamp(call.openingAt!)!) && call.submissionClosed ? (\n \n \n ) : (<>)\n \n }\n \n
\n ))}\n \n ) : null;\n}\n\nexport default CallList;\n","import { Button, Group, TextInput } from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { useTranslation } from \"react-i18next\";\nimport { postApiStepCreateStepType } from \"../../api/endpoints\";\nimport { CreateStepTypeDto } from \"../../api/model/createStepTypeDto\";\n\nfunction CreateStepType() {\n const { t } = useTranslation();\n const form = useForm({\n initialValues: {\n name: \"\",\n },\n });\n\n return (\n postApiStepCreateStepType(values))}\n >\n \n \n \n \n \n );\n}\n\nexport default CreateStepType;\n","import { useTranslation } from \"react-i18next\";\nimport CreateStepType from \"../../components/forms/CreateStepType\";\n\nfunction Steps() {\n const { t } = useTranslation();\n return (\n <>\n
{t(\"pages.calls.step-api\")}
\n \n \n );\n}\n\nexport default Steps;\n","import { useEffect } from \"react\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport {\n Box,\n Button,\n Checkbox,\n Group,\n Stack,\n TextInput,\n Divider,\n Title,\n Text,\n Tooltip,\n} from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport {\n getGetApiOrganizationGetOrganizationByIdKey,\n putApiOrganizationUpdateOrganization,\n useGetApiOrganizationGetOrganizationById,\n} from \"../../api/endpoints/index\";\nimport { OrganizationDto } from \"../../api/model\";\nimport { IconInfoCircle } from \"@tabler/icons\";\nimport { showNotification } from \"@mantine/notifications\";\nimport { mutate } from \"swr\";\nimport { useTranslation } from \"react-i18next\";\nimport { useConfig } from \"../../hooks/useConfig\";\n\nfunction DateCast(str: string | undefined): Date {\n if (str == undefined) return new Date();\n str = str + \"+0000\";\n let d = new Date(str);\n return d;\n}\nconst OrganizationEdit = () => {\n const { organizationId } = useParams();\n const navigate = useNavigate();\n const { t } = useTranslation();\n const config = useConfig();\n\n const { data: organization, error: orgError } =\n useGetApiOrganizationGetOrganizationById({\n orgId: organizationId!,\n });\n\n const form = useForm({\n initialValues: {\n city_name: \"\",\n contact_role: \"\",\n country: \"\",\n date_of_foundation: \"\",\n id: \"\",\n name: \"\",\n reg_number: \"\",\n street_name: \"\",\n contact_name: \"\",\n contact_surname: \"\",\n contact_email: \"\",\n personalData: false,\n selfCertification: false,\n termsOfService: false,\n nordicCountry: false,\n preFunding: false,\n chnageInLife: false,\n },\n });\n useEffect(() => {\n //console.log(organization);\n form.setValues({ ...organization });\n }, [organization]);\n\n if (orgError) {\n return (\n
\n {t(\"pages.organizations.error\")} {orgError.message}\n
\n );\n }\n if (!organization) {\n return
{t(\"pages.organizations.loading\")}
;\n }\n\n return (\n \n \n putApiOrganizationUpdateOrganization(values).then((res) => {\n //console.log(res);\n if (res) {\n mutate(\n getGetApiOrganizationGetOrganizationByIdKey({\n orgId: organizationId!,\n })\n );\n showNotification({\n message: t(\"pages.organizations.updated-succesfully\"),\n });\n navigate(-1);\n }\n })\n )}\n >\n \n
{t(\"pages.organizations.general-info\")}
\n \n \n
\n \n
\n \n }\n />\n
\n \n
{t(\"pages.organizations.address\")}
\n \n \n \n
\n \n
{t(\"pages.organizations.contact-person\")}
\n \n \n \n \n \n \n {t(\"pages.organizations.processing-personal-data\")}\n \n \n {config.dataConsentText\n ? config.dataConsentText\n : t(\"pages.organizations.processing-personal-data-documentation\")}\n \n \n
\n\n \n \n {t(\"pages.organizations.update\")}\n \n {\n navigate(-1);\n }}\n >\n {t(\"pages.organizations.cancel\")}\n \n \n \n
\n );\n};\n\nexport default OrganizationEdit;\n","import { Button, Card, Divider, Grid, Group, Text } from \"@mantine/core\";\nimport { openConfirmModal, openModal } from \"@mantine/modals\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { mutate } from \"swr\";\nimport {\n getGetApiOrganizationGetOrganizationsKey,\n postApiOrganizationDeleteOrganization,\n useGetApiOrganizationGetOrganizations,\n} from \"../../api/endpoints\";\nimport RegisterOrganization from \"../../components/forms/RegisterOrganization\";\nimport Loading from \"../../components/Loading\";\nimport SelectOrganization from \"../../components/SelectOrganization\";\nimport {useConfig} from \"../../hooks/useConfig\";\n\nfunction OrganizationsList() {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const config = useConfig();\n const {\n data: orgs,\n error: stepsError,\n isLoading,\n } = useGetApiOrganizationGetOrganizations();\n\n if (isLoading) {\n return ;\n }\n // if (!Array.isArray(orgs) || stepsError) {\n // mutate(getGetApiOrganizationGetOrganizationsKey());\n // return ;\n // }\n\n const openRegisterOrgModal = () =>\n openModal({\n title: t(\"pages.organizations.register-organization\"),\n children: ,\n });\n\n const openConfirmationModal = (orgId: string) =>\n openConfirmModal({\n title: t(\"pages.organizations.delete-organization\"),\n children: (\n \n {\" \"}\n {t(\"pages.organizations.confirm-delete-organization\")}\n \n ),\n labels: {\n confirm: t(\"pages.organizations.confirm\"),\n cancel: t(\"pages.organizations.cancel\"),\n },\n onConfirm: () => confirmModalAction(orgId),\n });\n\n const confirmModalAction = async (orgId: string) => {\n await postApiOrganizationDeleteOrganization({ orgId: orgId }).then(\n (res) => {\n if (res) {\n alert(\n t(\"pages.organizations.message-organization-deleted-successfully\")\n );\n } else alert(t(\"pages.organizations.message-error-deletion\"));\n }\n );\n };\n return (\n <>\n \n \n\n \n \n \n {t(\"pages.organizations.list-organizations\")}\n \n \n \n {config.organizationSelection && openRegisterOrgModal()}\n >\n {t(\"pages.organizations.add-organization\")}\n }\n \n \n\n {orgs?.map((org) => (\n \n \n \n {org.name} - {org.reg_number}\n \n \n\n \n navigate(`/org/edit/${org.id}`)}\n >\n {t(\"pages.organizations.update\")}\n \n openConfirmationModal(org?.id!)}\n >\n {t(\"pages.organizations.delete\")}\n \n \n ))}\n \n );\n}\n\nexport default OrganizationsList;\n","import { useParams } from \"react-router-dom\";\nimport { useGetApiPBITokens } from \"../../api/endpoints/index\";\nimport PbiReportComponent from \"./PbiReportComponent\";\nimport { useTranslation } from \"react-i18next\";\n\nexport function PbiReport() {\n let params = useParams();\n const { t } = useTranslation();\n const {\n data: pbi,\n error,\n isLoading,\n } = useGetApiPBITokens({\n workspaceId: params.wid ?? \"\",\n reportId: params.rid ?? \"\",\n });\n\n if (isLoading) return
{t(\"pages.admin.pbi.loading\")}
;\n if (error) return
{t(\"pages.admin.pbi.error\")}
;\n return ;\n}\n","import { useTranslation } from \"react-i18next\";\nimport { generatePath } from \"react-router\";\nimport { Link } from \"react-router-dom\";\nimport { useGetApiPowerBiAvailable } from \"../../api/endpoints/index\";\nimport { PowerBI } from \"../../api/model\";\n\nexport default function PbiReportList() {\n const { t } = useTranslation();\n const {\n data: res,\n error,\n isLoading,\n } = useGetApiPowerBiAvailable({\n groupId: \"0616d1be-5b6f-419e-9e6c-85eda340ed00\",\n });\n if (isLoading) return
{t(\"pages.powerbi.loading\")}
;\n if (error) return <>{error.message};\n return ;\n}\n\nfunction RenderPbiList({ pbilist }: { pbilist: PowerBI[] }) {\n const { t } = useTranslation();\n return (\n \n \n \n \n \n \n \n \n \n \n \n {pbilist.map((pbi) => (\n \n \n \n \n \n \n \n ))}\n \n
{t(\"pages.powerbi.name\")}{t(\"pages.powerbi.report-id\")}{t(\"pages.powerbi.datased-id\")}{t(\"pages.powerbi.workspace-id\")}{t(\"pages.powerbi.action\")}
{pbi.reportName}{pbi.reportId}{pbi.datasetId}{pbi.workspaceId}\n {\" \"}\n \n {t(\"pages.powerbi.view\")}\n \n
\n );\n}\n","import { Outlet } from \"react-router-dom\";\n\nfunction SurveyLayout() {\n return (\n
\n \n
\n );\n}\n\nexport default SurveyLayout;\n","import { useForm } from \"@mantine/form\";\nimport { useEffect, useState } from \"react\";\nimport { CallDto } from \"../../api/model\";\nimport { DatePickerInput, DateTimePicker } from \"@mantine/dates\";\nimport {\n useGetApiCallGetCallTypes,\n useGetApiCallGetCallById,\n putApiCallUpdateCall,\n getGetApiCallGetCallByIdKey,\n} from \"../../api/endpoints/index\";\nimport { Button, Select, SelectItem, TextInput } from \"@mantine/core\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { showNotification } from \"@mantine/notifications\";\nimport { mutate } from \"swr\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction DateCast(str: string | undefined): Date {\n if (str == undefined) return new Date();\n str = str.endsWith(\"+0000\") ? str : str + \"+0000\";\n let d = new Date(str);\n return d;\n}\nfunction EditCall() {\n const { callId } = useParams();\n\n const { t } = useTranslation();\n\n const { data: callTypes, isLoading: callTypeLoading } =\n useGetApiCallGetCallTypes();\n\n const { data: call, isLoading: callLoading } = useGetApiCallGetCallById(\n {\n callId: callId,\n },\n {\n swr: {\n revalidateIfStale: true,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n }\n );\n const navigate = useNavigate();\n\n const form = useForm({});\n const [openingDate, setOpeningDate] = useState(\n DateCast(call?.openingAt)\n );\n const [closingDate, setClosingDate] = useState(\n DateCast(call?.closingAt)\n );\n const [lockDate, setLockDate] = useState(\n DateCast(call?.callLockEnd)\n );\n\n useEffect(() => {\n form.setValues({\n ...call,\n openingAt: DateCast(call?.openingAt).toDateString(),\n closingAt: DateCast(call?.closingAt).toDateString(),\n callLockEnd: DateCast(call?.callLockEnd).toDateString(),\n });\n setOpeningDate(DateCast(call?.openingAt));\n setClosingDate(DateCast(call?.closingAt));\n setLockDate(DateCast(call?.callLockEnd));\n }, [call]);\n\n if (callTypeLoading || callLoading)\n return
{t(\"pages.admin.loading\")}
;\n if (!call) return
{t(\"pages.admin.call-not-found\")}
;\n return (\n {\n putApiCallUpdateCall({\n ...values,\n openingAt: openingDate?.toISOString(),\n closingAt: closingDate?.toISOString(),\n callLockEnd: lockDate?.toISOString(),\n })\n .catch((res) => {\n showNotification({\n title: t(\"pages.admin.error-updating-call\"),\n message: res,\n color: \"red\",\n });\n })\n .then((res) => {\n showNotification({\n title: t(\"pages.admin.update-call\"),\n message: t(\"pages.admin.call-updated-successfully\"),\n });\n mutate(getGetApiCallGetCallByIdKey);\n navigate(\"/admin\", { state: \"calls\" });\n });\n })}\n >\n \n \n setOpeningDate(new Date(v!))}\n size={\"sm\"}\n // type={\"default\"}\n />\n setClosingDate(new Date(v!))}\n size={\"sm\"}\n // type={\"default\"}\n />\n setClosingDate(new Date(v!))}\n size={\"sm\"}\n // type={\"default\"}\n clearable\n />\n ((c) => {\n return { label: c.name, value: c.id } as any;\n }) ?? []\n }\n {...form.getInputProps(\"callTypeId\")}\n />\n \n navigate(\"/admin\", { state: \"calls\" })}\n color=\"red\"\n >\n {t(\"pages.admin.cancel\")}\n \n \n );\n}\n\nexport default EditCall;\n","import {\n Anchor,\n Button,\n Center,\n Group,\n Image,\n Text,\n Title,\n} from \"@mantine/core\";\nimport { useAuth } from \"../auth/AuthContext\";\nimport { IconUser, IconUserPlus } from \"@tabler/icons\";\nimport { ReactComponent as Logo } from \"../assets/svg/OI_logo.svg\";\nimport { useNavigate } from \"react-router-dom\";\nimport Loading from \"../components/Loading\";\nimport { useTranslation } from \"react-i18next\";\nimport { ConfigProvider, useConfig } from \"../hooks/useConfig\";\nimport { useEffect } from \"react\";\n\nconst WelcomePage = () => {\n // const { isAuthenticated } = useAuth();\n const navigate = useNavigate();\n const { t } = useTranslation();\n const config = useConfig();\n const auth = useAuth();\n // console.log(\"WelcomePage: - auth - \", auth)\n useEffect(() => {\n console.log(\"WelcomePage: - auth - \", auth)\n const isAuthenticated = !(!auth.isAuthenticated || !auth.access_token || auth.access_token == \"\" || auth.access_token == \"null\") \n\n if (isAuthenticated) {\n console.log(\"WelcomePage: - redirect to calls \")\n navigate(\"/calls\");\n }\n }, [auth, navigate]);\n // if (isAuthenticated) {\n // console.log(\"WelcomePage: - redirect to calls \")\n // navigate(\"/calls\");\n // // return ;\n // }\n return (\n
\n
\n {config.logoBase64 ? (\n \n ) : (\n \n )}\n \n {config.name ?? t(\"pages.welcome-starimpact\")}\n \n \n {config.message ?? t(\"pages.create-account-register-organization\")}\n \n \n \n }\n >\n {t(\"pages.login\")}\n \n \n \n }\n >\n {t(\"pages.register\")}\n \n \n \n
\n
\n );\n};\n\nexport default () => (\n \n \n \n);\n","import i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport translationsEn from \"../locales/en/translation.json\";\nimport translationsIt from \"../locales/it/translation.json\";\nimport translationsFr from \"../locales/fr/translation.json\";\n\nconst resources = {\n en: { translation: translationsEn },\n it: { translation: translationsIt },\n fr: { translation: translationsFr },\n};\n\ni18n\n .use(initReactI18next) // passes i18n down to react-i18next\n .init({\n // the translations\n // (tip move them in a JSON file and import them,\n // or even better, manage them via a import Survey from './pages/survey';\n // UI: https://react.i18next.com/guides/multiple-translation-files#manage-your-translations-with-a-management-gui)\n resources,\n lng: \"en\", // if you're using a language detector, do not define the lng option\n fallbackLng: \"en\",\n interpolation: {\n escapeValue: false, // react already safes from xss => https://www.i18next.com/translation-function/interpolation#unescape\n },\n });\n\nexport default i18n;\n","import { Center, Flex, Group, Input, Loader } from \"@mantine/core\";\nimport { UseFormReturnType } from \"@mantine/form\";\nimport { IconX } from \"@tabler/icons\";\nimport { useState } from \"react\";\nimport * as XLSX from \"xlsx\";\nimport { camelCase } from \"lodash\";\n\nfunction createObjectFromArrays(\n keys: string[],\n values: T[]\n): { [key: string]: T } {\n if (keys.length !== values.length) {\n throw new Error(\"Keys and values arrays must have the same length\");\n }\n\n const result: { [key: string]: T } = {};\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const value = values[i];\n result[key] = value;\n }\n\n return result;\n}\n\nexport default function ExcelReader({\n form,\n}: {\n form: UseFormReturnType any>;\n}) {\n const [iconx, setIconx] = useState(false);\n const [loader, setLoader] = useState(false);\n const [loadedData, setLoadedData] = useState({});\n \n\n const handleFileUpload = (event: any) => {\n const file = event.target.files[0];\n\n const reader = new FileReader();\n reader.onload = (evt) => {\n const bstr = evt?.target?.result;\n const wb = XLSX.read(bstr, { type: \"binary\" });\n const wsname = wb.SheetNames;\n wsname.forEach((e) => {\n const ws = wb.Sheets[e];\n const data: any = XLSX.utils.sheet_to_json(ws, { header: 1 });\n\n if (Array.isArray(data) && data.length) {\n const keys = data[0]!.map((s: string) =>\n camelCase(s.replaceAll(\" \", \"\"))\n );\n const map = data.map((r, i) => {\n if (i == 0 || !r.length) return null;\n return createObjectFromArrays(keys, r);\n }).filter(x=>x!=null);\n setLoadedData(Object.assign(loadedData,{[e]: map}))\n }\n });\n form.setFieldValue(\"excel_design_your_impact\", loadedData);\n //console.log(\"MAPPED: \", loadedData);\n setIconx(true);\n };\n\n reader.readAsBinaryString(file);\n };\n\n const removeFileUpload = () => {\n setLoader(true);\n form.reset()\n const timer = setTimeout(() => {\n setLoader(false);\n setIconx(false);\n }, 1000);\n return () => clearTimeout(timer);\n };\n\n if (loader) {\n return (\n
\n \n
\n );\n }\n\n return (\n \n \n \n \n {iconx && (\n \n )}\n \n );\n}\n","import {\n Box,\n Button,\n Group,\n Text,\n TextInput,\n Textarea,\n Title, Stack,\n} from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { closeAllModals } from \"@mantine/modals\";\nimport { showNotification } from \"@mantine/notifications\";\nimport {IconArrowLeft, IconAsteriskSimple, IconDownload} from \"@tabler/icons\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { mutate } from \"swr\";\nimport {\n getGetApiConfigGetConfigKey,\n putApiImpactFrameworkAddImpactFrameworkSet,\n} from \"../../api/endpoints\";\nimport {CreateOutcomeTypeDTO, CreateStakeholderTypeDTO, ImpactFrameworkDTO} from \"../../api/model\";\nimport ExcelReader from \"./ExcelReader\";\nimport AccordionOutcomes from \"../../pages/admin/AccordionOutcomes\";\nimport {useEffect, useState} from \"react\";\n\nexport default function CreateFramework() {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const form = useForm<{\n name: string;\n description: string;\n excel_design_your_impact: {\n \"Impact framework\":any[],\n \"Stakeholder\":any[],\n };\n }>({\n initialValues: {\n name: \"\",\n description: \"\",\n excel_design_your_impact: {\n \"Impact framework\":[],\n \"Stakeholder\":[],\n },\n },\n });\n \n const [impactFramework, setImpactFramework]= useState<{\n name:string,\n description:string,\n outcomes:CreateOutcomeTypeDTO[],\n stakeholders:CreateStakeholderTypeDTO[],\n }>({\n name:\"\",\n description:\"\",\n outcomes:[],\n stakeholders:[],\n })\n\n const downloadTemplate = () => {\n const filePath = \"ImpactFrameworkTemplate.xlsx\";\n const a = document.createElement(\"a\");\n a.style.display = \"none\";\n a.href = process.env.PUBLIC_URL + filePath;\n a.download = \"ImpactFramework.xlsx\";\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n };\n\n useEffect(()=>{\n setImpactFramework(loadImpactFramework())\n /*if(!impactFramework.stakeholders?.length ||\n !impactFramework.outcomes?.length){\n showNotification({\n title: t(\"pages.admin.error\"),\n message: t(\"pages.admin.error-saving\"),\n });+++\n }*/\n },[form.values.excel_design_your_impact])\n const loadImpactFramework = ()=>({\n name: form.values.name,\n description: form.values.description,\n outcomes: form.values.excel_design_your_impact[\"Impact framework\"].reduce(\n (a, c) => {\n ////console.log(\"a\",a)\n //console.log(\"c\",c)\n if (c == null) return a;\n if(a.filter((x:any)=>x.name === c.outcome).length){\n return a.map((x:any)=>{\n if(x.name === c.outcome){\n const duplicateIndicator = !!x.indicators.filter((i:any)=>i.name === c.indicatore).length\n const indicators = x.indicators.map((i:any)=>{\n if(i.name === c.indicatore){\n return {\n ...i,\n proxies: [\n ...i.proxies,\n {\n name: c.proxy,\n defaultValue: c.valoreproxy,\n sourceName: c.fonteproxy,\n sourceUrl: c.fonteproxy,\n },\n ],\n }\n }\n return i;\n })\n return {\n ...x,\n indicators : duplicateIndicator ? indicators :[...x.indicators,\n {\n name: c.indicatore,\n description: c.descrizioneIndicatore,\n proxies: [\n {\n name: c.proxy,\n defaultValue: c.valoreproxy,\n sourceName: c.fonteproxy,\n sourceUrl: c.fonteproxy,\n },\n ],\n }]\n }\n }\n return x\n })\n }\n a.push({\n name: c.outcome,\n description: c.descrizioneOutcome,\n sdg: c.sdgNumero,\n indicators: [\n {\n name: c.indicatore,\n description: c.descrizioneIndicatore,\n proxies: [\n {\n name: c.proxy,\n defaultValue: c.valoreproxy,\n sourceName: c.fonteproxy,\n sourceUrl: c.fonteproxy,\n },\n ],\n },\n ],\n });\n return a;\n },[]),\n stakeholders: form.values.excel_design_your_impact[\"Stakeholder\"].reduce(\n (a, c) => {\n if (c == null) return a;\n if(a.filter((x:any)=>x.name === c.stakeholder).length) {\n return a;\n }\n a.push({\n name: c.stakeholder,\n description: c.descrizioneStakeholder\n });\n return a;\n },[]),\n }\n );\n\n return (\n \n }\n onClick={() => navigate(-1)}\n >\n {t(\"pages.admin.go-back\")}\n \n putApiImpactFrameworkAddImpactFrameworkSet(loadImpactFramework()).then(\n (res) => {\n if (res) {\n showNotification({\n title: t(\"pages.admin.success\"),\n message: t(\"pages.admin.saved\"),\n });\n mutate(getGetApiConfigGetConfigKey());\n closeAllModals();\n navigate(\"/admin\", { state: \"impactframe\" });\n } else {\n showNotification({\n title: t(\"pages.admin.error\"),\n message: t(\"pages.admin.error-saving\"),\n });\n closeAllModals();\n }\n }\n )}\n >\n \n {t(\"pages.admin.new-framework\")}\n \n\n \n \n \n {t(\"pages.admin.download-template\")}\n \n \n \n \n Excel\n \n :\n \n \n\n {form.values.excel_design_your_impact[\"Impact framework\"].length &&\n impactFramework.stakeholders && \n Array.isArray(impactFramework.stakeholders) ? (<>\n \n Stakeholder \n \n \n {impactFramework.stakeholders.map(s => (\n \n {s.name}{s.description && - {s.description}}\n \n ))}\n \n \n ): null\n }\n {form.values.excel_design_your_impact[\"Impact framework\"].length ? (\n \n {\n (impactFramework.outcomes?.length !== 0) ?\n
\n \n
\n : impactFramework.stakeholders && impactFramework?.stakeholders?.length === 0\n ? \n {t(\"components.forms.createFramework.errorStakeholders\")}\n\n \n : impactFramework.outcomes && impactFramework?.outcomes?.map((e) => !e?.indicators?.length)\n ? \n {t(\"components.forms.createFramework.errorIndicators\")}\n \n : impactFramework.outcomes && impactFramework?.outcomes?.length <= 0\n ? \n {t(\"components.forms.createFramework.errorOutcomes\")}\n \n : impactFramework.outcomes && impactFramework?.outcomes?.map((e) => !e?.indicators?.map((e) => !e.proxies?.length))\n ? \n {t(\"components.forms.createFramework.errorProxies\")}\n \n : \"\"\n }\n \n
\n ):null}\n \n \n \n {t(\"components.submit\")}\n \n {\n navigate(\"/admin\", { state: \"impactframe\" });\n }}\n >\n {t(\"pages.admin.cancel\")}\n \n \n \n
\n );\n}\n","import { Center, Group, Image, Input, Loader } from \"@mantine/core\";\nimport { UseFormReturnType } from \"@mantine/form\";\nimport { IconX } from \"@tabler/icons\";\nimport { ChangeEvent, useState } from \"react\";\n\nconst ImageUploader = ({\n form,\n}: {\n form: UseFormReturnType any>;\n}) => {\n const [base64Image, setBase64Image] = useState(\"\");\n const [loader, setLoader] = useState(false);\n\n const handleImageUpload = (event: ChangeEvent) => {\n const file = event.target.files![0];\n const reader = new FileReader();\n\n reader.onloadend = () => {\n const base64Image = reader.result;\n setBase64Image(base64Image as string);\n form.setFieldValue(\"logoBase64\", base64Image);\n };\n\n if (file) {\n reader.readAsDataURL(file);\n }\n };\n\n const removeImageUpload = () => {\n setLoader(true);\n setBase64Image(\"\");\n form.setFieldValue(\"logoBase64\", \"\");\n const timer = setTimeout(() => {\n setLoader(false);\n }, 1000);\n return () => clearTimeout(timer);\n };\n\n if (loader) {\n return (\n
\n \n
\n );\n }\n\n return (\n <>\n \n \n \n {base64Image && (\n
\n \n \n
\n )}\n \n );\n};\n\nexport default ImageUploader;\n","import {\n Box,\n Button,\n Group,\n Select,\n Switch,\n Text,\n TextInput,\n Textarea,\n} from \"@mantine/core\";\nimport { useForm } from \"@mantine/form\";\nimport { closeAllModals } from \"@mantine/modals\";\nimport { showNotification } from \"@mantine/notifications\";\nimport { IconAsteriskSimple } from \"@tabler/icons\";\nimport { useTranslation } from \"react-i18next\";\nimport { mutate } from \"swr\";\nimport {\n getGetApiConfigGetConfigKey,\n postApiConfigUpsertConfig,\n} from \"../../api/endpoints\";\nimport { AppConfigDTO } from \"../../api/model\";\nimport { useConfig } from \"../../hooks/useConfig\";\nimport ImageUploader from \"./ImageUploaded\";\nimport { useNavigate } from \"react-router-dom\";\n\nexport default function CustomizeInstallation() {\n const { t } = useTranslation();\n const config = useConfig();\n const navigate = useNavigate();\n\n const form = useForm({\n initialValues: {\n name: config.name ?? \"\",\n description: config.description ?? \"\",\n message: config.message ?? \"\",\n logoBase64: config.logoBase64 ?? \"\",\n listName: config.listName ?? \"\",\n languageSelection: config.languageSelection ?? false,\n organizationSelection: config.organizationSelection ?? false,\n reportPowerBiId:\n config.reportPowerBiId ?? \"00000000-0000-0000-0000-000000000000\",\n workspacePowerBiId:\n config.workspacePowerBiId ?? \"00000000-0000-0000-0000-000000000000\",\n defaultLanguage: config.defaultLanguage ?? \"it\",\n domain: config.domain ?? \"call.openimpact.it\",\n dataConsentText: config.dataConsentText ?? \"Acconsento al trattamento dei dati personali trasmessi ai sensi dell'art. 13 del GDPR. Informativa ex art. 10 legge n.196/2003.\",\n logoWidth: config.logoWidth,\n logoHeight: config.logoHeight,\n\n },\n });\n\n return (\n \n \n postApiConfigUpsertConfig(values).then((res) => {\n if (res) {\n showNotification({\n title: t(\"pages.admin.success\"),\n message: t(\"pages.admin.config-saved\"),\n });\n mutate(getGetApiConfigGetConfigKey());\n navigate(\"/admin\", { state: \"customize\" });\n closeAllModals();\n } else {\n showNotification({\n title: t(\"pages.admin.error\"),\n message: t(\"pages.admin.error-saving\"),\n });\n closeAllModals();\n }\n })\n )}\n >\n \n\n \n \n \n Logo\n \n :\n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n {\n navigate(\"/admin\", { state: \"customize\" });\n }}\n >\n {t(\"pages.admin.cancel\")}\n \n \n \n \n );\n}\n","import { Button, Center, Loader, Table, Text } from \"@mantine/core\";\nimport { IconArrowLeft, IconArrowRight } from \"@tabler/icons\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { useGetApiStepGetSteps } from \"../../api/endpoints\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction StepsListReport() {\n const navigate = useNavigate();\n const params = useParams();\n const { t } = useTranslation();\n const { data: steps } = useGetApiStepGetSteps({\n callTypeId: params.callTypeId,\n });\n\n if (!steps) {\n return (\n
\n \n
\n );\n }\n\n const StepList = () => {\n return (\n \n \n {steps.filter((s) => s.stepType!.name == \"survey\").length ? (\n steps\n .filter((s) => s.stepType!.name == \"survey\")\n .map((s) => {\n return (\n \n \n \n \n );\n })\n ) : (\n
\n \n {t(\"pages.admin.no-survey-call\")}\n \n
\n )}\n \n
{s.name}\n }\n radius=\"sm\"\n style={{ float: \"right\", marginRight: \"20px\" }}\n onClick={() => {\n navigate(`/admin/report/${params.callId}/${s.id}`);\n }}\n >\n {t(\"pages.admin.go-report\")}\n \n
\n );\n };\n\n return (\n <>\n }\n onClick={() => navigate(\"/admin\", { state: \"calls\" })}\n >\n {t(\"pages.admin.go-back\")}\n \n \n \n );\n}\n\nexport default StepsListReport;\n","import React, { useState, useEffect } from \"react\";\nimport \"survey-analytics/survey.analytics.min.css\";\nimport { Model, SurveyModel } from \"survey-core\";\nimport { VisualizationPanel } from \"survey-analytics\";\nimport { Step, StepResultResponse } from \"../../api/model\";\nimport {Center} from \"@mantine/core\";\nimport {useTranslation} from \"react-i18next\";\n\nconst vizPanelOptions = {\n allowHideQuestions: false,\n};\n\nexport default function SurveyJsDashboard({\n step,\n results,\n}: {\n step: Step;\n results: StepResultResponse[];\n}) {\n const {t} = useTranslation()\n const [survey, setSurvey] = useState();\n const [vizPanel, setVizPanel] = useState();\n\n if (!survey) {\n try {\n const survey = new Model(JSON.parse(step.content!));\n setSurvey(survey);\n }catch (e) {\n console.error(e)\n }\n }\n\n if (!vizPanel && !!survey && !!results) {\n const vizPanel = new VisualizationPanel(\n survey.getAllQuestions(),\n results.map((r) => JSON.parse(r.content!)),\n vizPanelOptions\n );\n vizPanel.showToolbar = false;\n setVizPanel(vizPanel);\n }\n\n useEffect(() => {\n vizPanel?.render(\"surveyVizPanel\");\n return () => {\n let vizDocument = document.getElementById(\"surveyVizPanel\")?.innerHTML;\n vizDocument = \"\";\n };\n });\n if(!step.content) return (
\n
\n {t(\"pages.admin.no-survey-results\",\"no submission data\")}\n
\n
)\n return
;\n}\n","import { Button, Center, Loader } from \"@mantine/core\";\nimport { IconArrowLeft } from \"@tabler/icons\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport SurveyJsDashboard from \"../SurveyJsDashboard\";\nimport {\n useGetApiCallGetStepResultByCall,\n useGetApiStepGetStepById,\n} from \"../../../api/endpoints\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ReportByStep = () => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const { stepId, callId } = useParams();\n const { data: step } = useGetApiStepGetStepById({ stepId });\n const { data: results } = useGetApiCallGetStepResultByCall({\n StepId: stepId,\n callId: callId,\n });\n // console.log(\"STEP: \", results);\n if (!results || !step) {\n return (\n
\n \n
\n );\n }\n return (\n <>\n }\n onClick={() => navigate(-1)}\n >\n {t(\"pages.admin.section.go-back\")}\n \n \n \n );\n};\n\nexport default ReportByStep;\n","import {Accordion, Box, Flex, Group, Text} from \"@mantine/core\";\nimport { IconChevronDown } from \"@tabler/icons\";\nimport { ImpactFrameworkDTO } from \"../../api/model\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AccordionStakeholders = ({\n framework,\n}: {\n framework: ImpactFrameworkDTO;\n}) => {\n const { t } = useTranslation();\n const TextBold = ({ value }: { value: string | number | undefined }) => {\n return {value};\n };\n const TextLight = ({ value }: { value: string | number | undefined }) => {\n return {value};\n };\n\n return (\n <>\n {framework.stakeholders?.map((r, i) => {\n return ( \n \n \n )\n })}\n \n \n );\n};\n\nexport default AccordionStakeholders;\n","import { Button, Tabs, Text } from \"@mantine/core\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport {\n getGetApiImpactFrameworkGetImpactFrameworkByIdKey,\n useGetApiImpactFrameworkGetImpactFrameworkById,\n} from \"../../api/endpoints\";\nimport { mutate } from \"swr\";\nimport Loading from \"../../components/Loading\";\nimport { IconArrowLeft } from \"@tabler/icons\";\nimport AccordionOutcomes from \"./AccordionOutcomes\";\nimport { useTranslation } from \"react-i18next\";\nimport AccordionStakeholders from \"./AccordionStakeholders\";\n\nconst FrameworkView = () => {\n const {id} = useParams();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const {\n data: framework,\n isLoading,\n error,\n } = useGetApiImpactFrameworkGetImpactFrameworkById({\n ImpactFrameworkId: id,\n });\n if (error) {\n mutate(getGetApiImpactFrameworkGetImpactFrameworkByIdKey());\n return ;\n }\n if (isLoading || !framework) {\n return ;\n }\n // console.log(\"FRAMEWORK: \", framework);\n\n return (\n <>\n }\n onClick={() => navigate(-1)}\n >\n {t(\"pages.admin.go-back\")}\n \n \n {framework.name}\n \n {framework.description}\n \n \n \n Outcome\n Stakeholder\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default FrameworkView;\n","import {Button, Center, Group, Loader, Table, Text} from \"@mantine/core\";\nimport {IconArrowLeft, IconX} from \"@tabler/icons\";\nimport {useNavigate, useParams} from \"react-router-dom\";\nimport {\n useGetApiCallGetSubmissionByID,\n useGetApiCallGetSubmissionByIDAdmin,\n useGetApiStepGetSteps\n} from \"../../api/endpoints\";\nimport { useTranslation } from \"react-i18next\";\nimport {ExtraInfoAllegatoResult, SubmissionResponse} from \"../../api/model\";\n\nconst AttachmentsTable = ({submission}:{submission:SubmissionResponse}) => {\n const { t } = useTranslation();\nreturn (\n <>\n{/*\n
{JSON.stringify(submission,null,2)}
\n*/}\n \n \n \n \n \n \n \n \n \n \n {submission?.stepResults?.map((step) => {\n const fileChoices =JSON.parse(step.content!) as ExtraInfoAllegatoResult[]\n return (Array.isArray(fileChoices) && fileChoices.length) ? fileChoices.map((fileChoice:ExtraInfoAllegatoResult)=>(\n \n \n \n {fileChoice?.fileName && }\n\n )) : <>\n }\n )}\n \n \n
{t(\"pages.admin.section.attachment.name\")}{t(\"pages.admin.section.attachment.type\")}{t(\"pages.admin.section.attachment.description\")}{t(\"pages.admin.section.attachment.download\")}
\n {fileChoice?.fileName ?? \"file non caricato\"}\n \n {fileChoice?.tipoAllegatoName}\n \n {fileChoice?.descrizione}\n
\n \n);\n};\n\nconst AttachmentsList = () => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n \n const params = useParams();\n const { data: submission, isLoading:submissionLoading } = useGetApiCallGetSubmissionByIDAdmin({submissionId: params.subId})\n\n //TODO: una volta agganciata la chiamata, prendere il \"data\" e fare il map nel tBody\n\n\n if (!submission) {\n return (\n
\n \n
\n );\n }\n return (\n <>\n }\n onClick={() => navigate(\"/admin\", { state: \"submissions\" })}\n >\n {t(\"pages.admin.go-back\")}\n \n \n \n \n );\n};\n\nfunction downloadFile(url: string, filename: string) {\n fetch(url).then((response) => {\n response.blob().then((blob) => {\n const fileURL = window.URL.createObjectURL(blob);\n let alink = document.createElement(\"a\");\n alink.href = fileURL;\n alink.download = filename;\n alink.click();\n });\n });\n}\nexport default AttachmentsList;\n","import { useParams } from \"react-router-dom\";\nimport { useGetApiPBITokens, useGetApiPBITokensGetPBITokenRls } from \"../../api/endpoints/index\";\nimport PbiReportComponent from \"./PbiReportComponent\";\nimport { useTranslation } from \"react-i18next\";\n\nexport function PbiReportRls() {\n let params = useParams();\n const { t } = useTranslation();\n const {\n data: pbi,\n error,\n isLoading,\n } = useGetApiPBITokensGetPBITokenRls({\n workspaceId: params.wid ?? \"\",\n reportId: params.rid ?? \"\",\n orgId: params.oid ?? \"\",\n\n });\n\n if (isLoading) return
{t(\"pages.admin.pbi.loading\")}
;\n if (error) return
{t(\"pages.admin.pbi.error\")}
;\n return ;\n}\n","import { MantineProvider } from \"@mantine/core\";\nimport { ModalsProvider } from \"@mantine/modals\";\nimport { NotificationsProvider } from \"@mantine/notifications\";\nimport { Route, Routes } from \"react-router-dom\";\nimport { preload } from \"swr\";\nimport {\n getApiCallGetCallList,\n getApiCallGetSubmissionByID,\n getApiOrganizationGetOrganizations,\n getGetApiCallGetCallListKey,\n getGetApiCallGetSubmissionByIDKey,\n getGetApiOrganizationGetOrganizationsKey,\n} from \"./api/endpoints\";\nimport { AuthProvider, RequireAuth } from \"./auth/AuthContext\";\nimport Layout from \"./components/Layout\";\nimport LoginCallback from \"./components/LoginCallback\";\nimport LogoutCallback from \"./components/LogoutCallback\";\nimport \"./custom.css\";\nimport AdminLayout from \"./pages/admin/AdminLayout\";\nimport CreateCall from \"./pages/admin/CreateCall\";\nimport CreateCallType from \"./pages/admin/CreateCallType\";\nimport CreateSurvey from \"./pages/admin/createSurvey\";\nimport CreateSurveyType from \"./pages/admin/createSurveyType\";\nimport Dashboard from \"./pages/admin/Dashboard\";\nimport FileUpload from \"./pages/admin/FileUpload\";\nimport Call from \"./pages/calls/call\";\nimport CallList from \"./pages/calls/callList\";\nimport Steps from \"./pages/calls/steps\";\nimport OrganizationEdit from \"./pages/organizations/organizationEdit\";\nimport OrganizationsList from \"./pages/organizations/organizationsList\";\nimport { PbiReport } from \"./pages/powerBi/PbiReport\";\nimport PbiReportList from \"./pages/powerBi/PbiReportList\";\nimport SurveyLayout from \"./pages/survey/surveyLayout\";\n\nimport { useEffect } from \"react\";\nimport { I18nextProvider } from \"react-i18next\";\nimport RegisterOrganization from \"./components/forms/RegisterOrganization\";\nimport EditCall from \"./pages/admin/EditCall\";\nimport WelcomePage from \"./pages/WelcomePage\";\nimport i18n from \"./translations\";\nimport useSelectedLanguage from \"./hooks/useSelectedLanguage\";\nimport {ConfigProvider, useConfig} from \"./hooks/useConfig\";\nimport CreateFramework from \"./components/forms/CreateFramework\";\nimport CustomizeInstallation from \"./components/forms/CustomizeInstallation\";\nimport StepsListReport from \"./pages/admin/StepsListReport\";\nimport ReportByStep from \"./pages/admin/sections/ReportByStep\";\nimport FrameworkView from \"./pages/admin/FrameworkView\";\nimport AttachmentsList from \"./pages/admin/AttachmentsList\";\nimport { PbiReportRls } from \"./pages/powerBi/PbiReportRls\";\nimport AnswerPdf from \"./pages/admin/AnswerPdf\";\n\nconst I18n = ({children}:{children:React.ReactNode}) => {\n const [selectedLanguage, setSelectedLanguage] = useSelectedLanguage();\n const config = useConfig();\n useEffect(() => {\n i18n.changeLanguage(config.defaultLanguage ?? selectedLanguage ?? \"en\");\n }, [selectedLanguage]);\n \n return \n {children}\n ;\n}\n\nexport default function App() {\n\n\n return (\n \n \n \n \n \n \n \n {\n process.env.REACT_APP_ADMIN_ENABLE === undefined || process.env.REACT_APP_ADMIN_ENABLE === 'true' ? \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 />\n } />\n }\n />\n } />\n ) : (<>)\n } {/* }\n /> */}\n }>\n } />\n }\n loader={() => {\n preload(\n getGetApiCallGetCallListKey(),\n getApiCallGetCallList\n );\n preload(\n getGetApiOrganizationGetOrganizationsKey(),\n getApiOrganizationGetOrganizations\n );\n }}\n />\n } />\n }\n />\n } />\n }\n />\n }\n />\n \n preload(\n getGetApiCallGetSubmissionByIDKey(params),\n getApiCallGetSubmissionByID\n )\n }\n path=\"/call/:submissionId/*\"\n element={}\n />\n }\n />\n \n \n \n \n \n \n \n \n \n );\n}\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\nconst isLocalhost = Boolean(\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config: Config) {\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener(\"load\", () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n \"This web app is being served cache-first by a service \" +\n \"worker. To learn more, visit https://cra.link/PWA\"\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === \"installed\") {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n \"New content is available and will be used when all \" +\n \"tabs for this page are closed. See https://cra.link/PWA.\"\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log(\"Content is cached for offline use.\");\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error(\"Error during service worker registration:\", error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { \"Service-Worker\": \"script\" },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get(\"content-type\");\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n \"No internet connection found. App is running in offline mode.\"\n );\n });\n}\n\nexport function unregister() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import { ReportHandler } from \"web-vitals\";\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import(\"web-vitals\").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import \"bootstrap/dist/css/bootstrap.css\";\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport App from \"./App\";\nimport * as serviceWorkerRegistration from \"./serviceWorkerRegistration\";\nimport reportWebVitals from \"./reportWebVitals\";\nimport { SWRConfig } from \"swr\";\n\nconst baseUrl =\n document.getElementsByTagName(\"base\")[0].getAttribute(\"href\") ?? undefined;\nconst rootElement = document.getElementById(\"root\");\nconst root = createRoot(rootElement!);\nroot.render(\n \n \n \n \n \n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://cra.link/PWA\nserviceWorkerRegistration.unregister();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n","import { Center, Loader } from \"@mantine/core\";\n\ntype Props = {};\n\nfunction Loading(p: Props = {}) {\n return (\n
\n \n
\n );\n}\n\nexport default Loading;\n","/**\n * Generated by orval v6.10.3 🍺\n * Do not edit manually.\n * Test01\n * OpenAPI spec version: v1\n */\nimport useSwr from 'swr'\nimport type {\n SWRConfiguration,\n Key\n} from 'swr'\nimport type {\n CallDto,\n GetApiCallGetCallByIdParams,\n CallDtoAdmin,\n GetApiCallGetCallByIdAdminParams,\n CallResponse,\n CallType,\n CreateCallDto,\n PostApiCallDeleteCallParams,\n FullAnswerForPDF,\n GetApiCallGetAllAnswerForPdfParams,\n SubmissionResponse,\n CreateSubmissionDtoBody,\n StepResult,\n CallStepResultDto,\n GetApiCallGetSubmissionByIDParams,\n GetApiCallGetSubmissionByIDAdminParams,\n StepResultResponse,\n GetApiCallGetStepResultParams,\n GetApiCallGetStepResultByCallParams,\n CloseCallSubmissionsDTO,\n PostApiCallCloseCallSubmissionParams,\n CreateCallTypeDtoBody,\n CreateCallTypeDto,\n GetApiCallGetCallTypeParams,\n ExtraInfoAllegatoResultForSubmission,\n CallSubmission,\n BodyBody,\n PostApiCallSubmissionReOpenSubmissionParams,\n PostApiCallSubmissionDeleteSubmissionParams,\n AppConfigDTOBody,\n PostApiConfigActivateConfigParams,\n DeleteApiConfigDeleteConfigParams,\n AppConfigDTO,\n ExtraInfoAllegatoResult,\n PostApiFileuploadUploadfiletosubmissionBody,\n GetApiFileUploadGetFileParams,\n Attachment,\n AttachmentType,\n GetApiFileUploadGetFileUrlParams,\n PostApiFileUploadRemoveAttachementParams,\n ImpactFrameworkDTO,\n GetApiImpactFrameworkDeleteImpactFrameworkSetParams,\n GetApiImpactFrameworkGetImpactFrameworkByIdParams,\n SaveStatusDTO,\n MiniDyiReqDTO,\n MiniDyiRespDTO,\n GetApiImpactFrameworkMiniDYIParams,\n SdgDTO,\n OutcomeTypeRequestBody,\n OutcomeRequest,\n StakeholderType,\n GetApiImpactFrameworkGetStakeholderTypeParams,\n IndicatorTypeDTO,\n PostApiJwtTokenExchangeBodyOne,\n PostApiJwtTokenExchangeBodyTwo,\n PostApiJwtTokenExchangeBodyThree,\n CreateOrgDto,\n OrganizationDto,\n GetApiOrganizationGetOrganizationByIdParams,\n PostApiOrganizationDeleteOrganizationParams,\n OutcomeTypeDTO,\n PostApiOutcomeGetOutcomeTypeParams,\n EmbedParams,\n GetApiPBITokensParams,\n GetApiPBITokensGetPBITokenRlsParams,\n PowerBI,\n GetApiPowerBiAvailableParams,\n LogEmailDto,\n SJSurveyType,\n SJSurveyTypeDTO,\n SJSurvey,\n CreateSurveyRequestDto,\n SJSurveyJson,\n CreateSurveyJsonRequestDto,\n PostApiSJSurveyUpdateSurveyJsonParams,\n SJQuestionsExtended,\n PostApiSJSurveyConsolidateQuestionsParams,\n SJSurveySubmission,\n PostApiSJSurveyCloseSurveySubmissionParams,\n PostApiSJSurveyOpenSurveySubmissionParams,\n GetApiSJSurveyGetSurveysParams,\n GetApiSJSurveyGetLastSurveyJSONParams,\n GetApiSJSurveyGetSurveyJsonByIdParams,\n JSONContent,\n GetApiSJSurveyGetSurveyJsonBySubmissionParams,\n GetApiSJSurveyGetSubmissionParams,\n SJSurveyInstance,\n GetApiSJSurveyGetSurveyBySubmissionIDParams,\n GetApiSJSurveyGetSurveyByTypeParams,\n SurveySubmissionRequestDto,\n GetApiSJSurveyGetSurveyJsonBySurveyIDParams,\n Step,\n GetApiStepGetStepByIdParams,\n GetApiStepGetStepsParams,\n StepType,\n CreateStepDtoBody,\n GetApiStepUpdateSJQuestionsExtendedParams,\n GetApiStepUpdateSJQuestionsExtendedAllParams,\n CreateStepTypeDto,\n UserDto\n} from '../model'\nimport { customInstance } from '../axios-instance'\nimport type { ErrorType } from '../axios-instance'\n\n\n \n export const getApiCallGetCallById = (\n params?: GetApiCallGetCallByIdParams,\n ) => {\n return customInstance(\n {url: `/api/Call/GetCallById`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiCallGetCallByIdKey = (params?: GetApiCallGetCallByIdParams,) => [`/api/Call/GetCallById`, ...(params ? [params]: [])];\n\n \nexport type GetApiCallGetCallByIdQueryResult = NonNullable>>\nexport type GetApiCallGetCallByIdQueryError = ErrorType\n\nexport const useGetApiCallGetCallById = >(\n params?: GetApiCallGetCallByIdParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetCallByIdKey(params) : null);\n const swrFn = () => getApiCallGetCallById(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiCallGetCallByIdAdmin = (\n params?: GetApiCallGetCallByIdAdminParams,\n ) => {\n return customInstance(\n {url: `/api/Call/GetCallByIdAdmin`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiCallGetCallByIdAdminKey = (params?: GetApiCallGetCallByIdAdminParams,) => [`/api/Call/GetCallByIdAdmin`, ...(params ? [params]: [])];\n\n \nexport type GetApiCallGetCallByIdAdminQueryResult = NonNullable>>\nexport type GetApiCallGetCallByIdAdminQueryError = ErrorType\n\nexport const useGetApiCallGetCallByIdAdmin = >(\n params?: GetApiCallGetCallByIdAdminParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetCallByIdAdminKey(params) : null);\n const swrFn = () => getApiCallGetCallByIdAdmin(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiCallGetCallListUser = (\n \n ) => {\n return customInstance(\n {url: `/api/Call/GetCallListUser`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiCallGetCallListUserKey = () => [`/api/Call/GetCallListUser`];\n\n \nexport type GetApiCallGetCallListUserQueryResult = NonNullable>>\nexport type GetApiCallGetCallListUserQueryError = ErrorType\n\nexport const useGetApiCallGetCallListUser = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetCallListUserKey() : null);\n const swrFn = () => getApiCallGetCallListUser();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiCallGetCallList = (\n \n ) => {\n return customInstance(\n {url: `/api/Call/GetCallList`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiCallGetCallListKey = () => [`/api/Call/GetCallList`];\n\n \nexport type GetApiCallGetCallListQueryResult = NonNullable>>\nexport type GetApiCallGetCallListQueryError = ErrorType\n\nexport const useGetApiCallGetCallList = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetCallListKey() : null);\n const swrFn = () => getApiCallGetCallList();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiCallGetCallTypes = (\n \n ) => {\n return customInstance(\n {url: `/api/Call/GetCallTypes`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiCallGetCallTypesKey = () => [`/api/Call/GetCallTypes`];\n\n \nexport type GetApiCallGetCallTypesQueryResult = NonNullable>>\nexport type GetApiCallGetCallTypesQueryError = ErrorType\n\nexport const useGetApiCallGetCallTypes = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetCallTypesKey() : null);\n const swrFn = () => getApiCallGetCallTypes();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiCallCreateCall = (\n createCallDto: CreateCallDto,\n ) => {\n return customInstance(\n {url: `/api/Call/CreateCall`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: createCallDto\n },\n );\n }\n \n\n\nexport const putApiCallUpdateCall = (\n callDtoAdmin: CallDtoAdmin,\n ) => {\n return customInstance(\n {url: `/api/Call/UpdateCall`, method: 'put',\n headers: {'Content-Type': 'application/json', },\n data: callDtoAdmin\n },\n );\n }\n \n\n\nexport const putApiCallUpsertCall = (\n callDto: CallDto,\n ) => {\n return customInstance(\n {url: `/api/Call/UpsertCall`, method: 'put',\n headers: {'Content-Type': 'application/json', },\n data: callDto\n },\n );\n }\n \n\n\nexport const postApiCallDeleteCall = (\n params?: PostApiCallDeleteCallParams,\n ) => {\n return customInstance(\n {url: `/api/Call/DeleteCall`, method: 'post',\n params\n },\n );\n }\n \n\n\nexport const getApiCallGetAllAnswerForPdf = (\n params?: GetApiCallGetAllAnswerForPdfParams,\n ) => {\n return customInstance(\n {url: `/api/Call/GetAllAnswerForPdf`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiCallGetAllAnswerForPdfKey = (params?: GetApiCallGetAllAnswerForPdfParams,) => [`/api/Call/GetAllAnswerForPdf`, ...(params ? [params]: [])];\n\n \nexport type GetApiCallGetAllAnswerForPdfQueryResult = NonNullable>>\nexport type GetApiCallGetAllAnswerForPdfQueryError = ErrorType\n\nexport const useGetApiCallGetAllAnswerForPdf = >(\n params?: GetApiCallGetAllAnswerForPdfParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetAllAnswerForPdfKey(params) : null);\n const swrFn = () => getApiCallGetAllAnswerForPdf(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiCallUpsertCallSubmission = (\n createSubmissionDtoBody: CreateSubmissionDtoBody,\n ) => {\n return customInstance(\n {url: `/api/Call/UpsertCallSubmission`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: createSubmissionDtoBody\n },\n );\n }\n \n\n\nexport const postApiCallUpsertCallStepResult = (\n callStepResultDto: CallStepResultDto,\n ) => {\n return customInstance(\n {url: `/api/Call/UpsertCallStepResult`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: callStepResultDto\n },\n );\n }\n \n\n\nexport const getApiCallGetSubmissionByID = (\n params?: GetApiCallGetSubmissionByIDParams,\n ) => {\n return customInstance(\n {url: `/api/Call/GetSubmissionByID`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiCallGetSubmissionByIDKey = (params?: GetApiCallGetSubmissionByIDParams,) => [`/api/Call/GetSubmissionByID`, ...(params ? [params]: [])];\n\n \nexport type GetApiCallGetSubmissionByIDQueryResult = NonNullable>>\nexport type GetApiCallGetSubmissionByIDQueryError = ErrorType\n\nexport const useGetApiCallGetSubmissionByID = >(\n params?: GetApiCallGetSubmissionByIDParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetSubmissionByIDKey(params) : null);\n const swrFn = () => getApiCallGetSubmissionByID(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiCallGetSubmissionByIDAdmin = (\n params?: GetApiCallGetSubmissionByIDAdminParams,\n ) => {\n return customInstance(\n {url: `/api/Call/GetSubmissionByIDAdmin`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiCallGetSubmissionByIDAdminKey = (params?: GetApiCallGetSubmissionByIDAdminParams,) => [`/api/Call/GetSubmissionByIDAdmin`, ...(params ? [params]: [])];\n\n \nexport type GetApiCallGetSubmissionByIDAdminQueryResult = NonNullable>>\nexport type GetApiCallGetSubmissionByIDAdminQueryError = ErrorType\n\nexport const useGetApiCallGetSubmissionByIDAdmin = >(\n params?: GetApiCallGetSubmissionByIDAdminParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetSubmissionByIDAdminKey(params) : null);\n const swrFn = () => getApiCallGetSubmissionByIDAdmin(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiCallGetStepResult = (\n params?: GetApiCallGetStepResultParams,\n ) => {\n return customInstance(\n {url: `/api/Call/GetStepResult`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiCallGetStepResultKey = (params?: GetApiCallGetStepResultParams,) => [`/api/Call/GetStepResult`, ...(params ? [params]: [])];\n\n \nexport type GetApiCallGetStepResultQueryResult = NonNullable>>\nexport type GetApiCallGetStepResultQueryError = ErrorType\n\nexport const useGetApiCallGetStepResult = >(\n params?: GetApiCallGetStepResultParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetStepResultKey(params) : null);\n const swrFn = () => getApiCallGetStepResult(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiCallGetStepResultByCall = (\n params?: GetApiCallGetStepResultByCallParams,\n ) => {\n return customInstance(\n {url: `/api/Call/GetStepResultByCall`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiCallGetStepResultByCallKey = (params?: GetApiCallGetStepResultByCallParams,) => [`/api/Call/GetStepResultByCall`, ...(params ? [params]: [])];\n\n \nexport type GetApiCallGetStepResultByCallQueryResult = NonNullable>>\nexport type GetApiCallGetStepResultByCallQueryError = ErrorType\n\nexport const useGetApiCallGetStepResultByCall = >(\n params?: GetApiCallGetStepResultByCallParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetStepResultByCallKey(params) : null);\n const swrFn = () => getApiCallGetStepResultByCall(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiCallGetSubmissions = (\n \n ) => {\n return customInstance(\n {url: `/api/Call/GetSubmissions`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiCallGetSubmissionsKey = () => [`/api/Call/GetSubmissions`];\n\n \nexport type GetApiCallGetSubmissionsQueryResult = NonNullable>>\nexport type GetApiCallGetSubmissionsQueryError = ErrorType\n\nexport const useGetApiCallGetSubmissions = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetSubmissionsKey() : null);\n const swrFn = () => getApiCallGetSubmissions();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiCallCloseCallSubmission = (\n params?: PostApiCallCloseCallSubmissionParams,\n ) => {\n return customInstance(\n {url: `/api/Call/CloseCallSubmission`, method: 'post',\n params\n },\n );\n }\n \n\n\nexport const postApiCallCreateCallType = (\n createCallTypeDtoBody: CreateCallTypeDtoBody,\n ) => {\n return customInstance(\n {url: `/api/Call/CreateCallType`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: createCallTypeDtoBody\n },\n );\n }\n \n\n\nexport const putApiCallUpsertCallType = (\n createCallTypeDtoBody: CreateCallTypeDtoBody,\n ) => {\n return customInstance(\n {url: `/api/Call/UpsertCallType`, method: 'put',\n headers: {'Content-Type': 'application/json', },\n data: createCallTypeDtoBody\n },\n );\n }\n \n\n\nexport const getApiCallGetCallType = (\n params?: GetApiCallGetCallTypeParams,\n ) => {\n return customInstance(\n {url: `/api/Call/GetCallType`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiCallGetCallTypeKey = (params?: GetApiCallGetCallTypeParams,) => [`/api/Call/GetCallType`, ...(params ? [params]: [])];\n\n \nexport type GetApiCallGetCallTypeQueryResult = NonNullable>>\nexport type GetApiCallGetCallTypeQueryError = ErrorType\n\nexport const useGetApiCallGetCallType = >(\n params?: GetApiCallGetCallTypeParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiCallGetCallTypeKey(params) : null);\n const swrFn = () => getApiCallGetCallType(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiCallSubmissionAddCustomFile = (\n extraInfoAllegatoResultForSubmission: ExtraInfoAllegatoResultForSubmission,\n ) => {\n return customInstance(\n {url: `/api/CallSubmission/AddCustomFile`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: extraInfoAllegatoResultForSubmission\n },\n );\n }\n \n\n\nexport const postApiCallSubmissionCreateSubmission = (\n createSubmissionDtoBody: CreateSubmissionDtoBody,\n ) => {\n return customInstance(\n {url: `/api/CallSubmission/CreateSubmission`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: createSubmissionDtoBody\n },\n );\n }\n \n\n\nexport const postApiCallSubmissionExportExcelSubmission = (\n bodyBody: BodyBody,\n ) => {\n return customInstance(\n {url: `/api/CallSubmission/ExportExcelSubmission`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: bodyBody\n },\n );\n }\n \n\n\nexport const postApiCallSubmissionReOpenSubmission = (\n params?: PostApiCallSubmissionReOpenSubmissionParams,\n ) => {\n return customInstance(\n {url: `/api/CallSubmission/ReOpenSubmission`, method: 'post',\n params\n },\n );\n }\n \n\n\nexport const postApiCallSubmissionDeleteSubmission = (\n params?: PostApiCallSubmissionDeleteSubmissionParams,\n ) => {\n return customInstance(\n {url: `/api/CallSubmission/DeleteSubmission`, method: 'post',\n params\n },\n );\n }\n \n\n\nexport const postApiConfigAddConfig = (\n appConfigDTOBody: AppConfigDTOBody,\n ) => {\n return customInstance(\n {url: `/api/Config/AddConfig`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: appConfigDTOBody\n },\n );\n }\n \n\n\nexport const postApiConfigActivateConfig = (\n params?: PostApiConfigActivateConfigParams,\n ) => {\n return customInstance(\n {url: `/api/Config/ActivateConfig`, method: 'post',\n params\n },\n );\n }\n \n\n\nexport const deleteApiConfigDeleteConfig = (\n params?: DeleteApiConfigDeleteConfigParams,\n ) => {\n return customInstance(\n {url: `/api/Config/DeleteConfig`, method: 'delete',\n params\n },\n );\n }\n \n\n\nexport const getApiConfigGetConfig = (\n \n ) => {\n return customInstance(\n {url: `/api/Config/GetConfig`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiConfigGetConfigKey = () => [`/api/Config/GetConfig`];\n\n \nexport type GetApiConfigGetConfigQueryResult = NonNullable>>\nexport type GetApiConfigGetConfigQueryError = ErrorType\n\nexport const useGetApiConfigGetConfig = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiConfigGetConfigKey() : null);\n const swrFn = () => getApiConfigGetConfig();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiConfigGetConfigList = (\n \n ) => {\n return customInstance(\n {url: `/api/Config/GetConfigList`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiConfigGetConfigListKey = () => [`/api/Config/GetConfigList`];\n\n \nexport type GetApiConfigGetConfigListQueryResult = NonNullable>>\nexport type GetApiConfigGetConfigListQueryError = ErrorType\n\nexport const useGetApiConfigGetConfigList = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiConfigGetConfigListKey() : null);\n const swrFn = () => getApiConfigGetConfigList();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiConfigUpsertConfig = (\n appConfigDTOBody: AppConfigDTOBody,\n ) => {\n return customInstance(\n {url: `/api/Config/UpsertConfig`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: appConfigDTOBody\n },\n );\n }\n \n\n\nexport const postApiFileUploadUploadFileToSubmission = (\n postApiFileuploadUploadfiletosubmissionBody: PostApiFileuploadUploadfiletosubmissionBody,\n ) => {const formData = new FormData();\nformData.append('File', postApiFileuploadUploadfiletosubmissionBody.File)\nformData.append('Nome', postApiFileuploadUploadfiletosubmissionBody.Nome)\nformData.append('Descrizione', postApiFileuploadUploadfiletosubmissionBody.Descrizione)\nformData.append('TipoFileId', postApiFileuploadUploadfiletosubmissionBody.TipoFileId)\n\n return customInstance(\n {url: `/api/FileUpload/UploadFileToSubmission`, method: 'post',\n headers: {'Content-Type': 'multipart/form-data', },\n data: formData\n },\n );\n }\n \n\n\nexport const postApiFileUploadUploadFile = (\n postApiFileuploadUploadfiletosubmissionBody: PostApiFileuploadUploadfiletosubmissionBody,\n ) => {const formData = new FormData();\nformData.append('File', postApiFileuploadUploadfiletosubmissionBody.File)\nformData.append('Nome', postApiFileuploadUploadfiletosubmissionBody.Nome)\nformData.append('Descrizione', postApiFileuploadUploadfiletosubmissionBody.Descrizione)\nformData.append('TipoFileId', postApiFileuploadUploadfiletosubmissionBody.TipoFileId)\n\n return customInstance(\n {url: `/api/FileUpload/UploadFile`, method: 'post',\n headers: {'Content-Type': 'multipart/form-data', },\n data: formData\n },\n );\n }\n \n\n\nexport const getApiFileUploadGetFile = (\n params?: GetApiFileUploadGetFileParams,\n ) => {\n return customInstance(\n {url: `/api/FileUpload/GetFile`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiFileUploadGetFileKey = (params?: GetApiFileUploadGetFileParams,) => [`/api/FileUpload/GetFile`, ...(params ? [params]: [])];\n\n \nexport type GetApiFileUploadGetFileQueryResult = NonNullable>>\nexport type GetApiFileUploadGetFileQueryError = ErrorType\n\nexport const useGetApiFileUploadGetFile = >(\n params?: GetApiFileUploadGetFileParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiFileUploadGetFileKey(params) : null);\n const swrFn = () => getApiFileUploadGetFile(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiFileUploadGetAttachments = (\n \n ) => {\n return customInstance(\n {url: `/api/FileUpload/GetAttachments`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiFileUploadGetAttachmentsKey = () => [`/api/FileUpload/GetAttachments`];\n\n \nexport type GetApiFileUploadGetAttachmentsQueryResult = NonNullable>>\nexport type GetApiFileUploadGetAttachmentsQueryError = ErrorType\n\nexport const useGetApiFileUploadGetAttachments = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiFileUploadGetAttachmentsKey() : null);\n const swrFn = () => getApiFileUploadGetAttachments();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiFileUploadGetAttachmentTypes = (\n \n ) => {\n return customInstance(\n {url: `/api/FileUpload/GetAttachmentTypes`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiFileUploadGetAttachmentTypesKey = () => [`/api/FileUpload/GetAttachmentTypes`];\n\n \nexport type GetApiFileUploadGetAttachmentTypesQueryResult = NonNullable>>\nexport type GetApiFileUploadGetAttachmentTypesQueryError = ErrorType\n\nexport const useGetApiFileUploadGetAttachmentTypes = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiFileUploadGetAttachmentTypesKey() : null);\n const swrFn = () => getApiFileUploadGetAttachmentTypes();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiFileUploadGetFileUrl = (\n params?: GetApiFileUploadGetFileUrlParams,\n ) => {\n return customInstance(\n {url: `/api/FileUpload/GetFileUrl`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiFileUploadGetFileUrlKey = (params?: GetApiFileUploadGetFileUrlParams,) => [`/api/FileUpload/GetFileUrl`, ...(params ? [params]: [])];\n\n \nexport type GetApiFileUploadGetFileUrlQueryResult = NonNullable>>\nexport type GetApiFileUploadGetFileUrlQueryError = ErrorType\n\nexport const useGetApiFileUploadGetFileUrl = >(\n params?: GetApiFileUploadGetFileUrlParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiFileUploadGetFileUrlKey(params) : null);\n const swrFn = () => getApiFileUploadGetFileUrl(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiFileUploadRemoveAttachement = (\n params?: PostApiFileUploadRemoveAttachementParams,\n ) => {\n return customInstance(\n {url: `/api/FileUpload/RemoveAttachement`, method: 'post',\n params\n },\n );\n }\n \n\n\nexport const getApiImpactFrameworkGetImpactFrameworkSetList = (\n \n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/GetImpactFrameworkSetList`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiImpactFrameworkGetImpactFrameworkSetListKey = () => [`/api/ImpactFramework/GetImpactFrameworkSetList`];\n\n \nexport type GetApiImpactFrameworkGetImpactFrameworkSetListQueryResult = NonNullable>>\nexport type GetApiImpactFrameworkGetImpactFrameworkSetListQueryError = ErrorType\n\nexport const useGetApiImpactFrameworkGetImpactFrameworkSetList = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiImpactFrameworkGetImpactFrameworkSetListKey() : null);\n const swrFn = () => getApiImpactFrameworkGetImpactFrameworkSetList();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiImpactFrameworkDeleteImpactFrameworkSet = (\n params?: GetApiImpactFrameworkDeleteImpactFrameworkSetParams,\n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/DeleteImpactFrameworkSet`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiImpactFrameworkDeleteImpactFrameworkSetKey = (params?: GetApiImpactFrameworkDeleteImpactFrameworkSetParams,) => [`/api/ImpactFramework/DeleteImpactFrameworkSet`, ...(params ? [params]: [])];\n\n \nexport type GetApiImpactFrameworkDeleteImpactFrameworkSetQueryResult = NonNullable>>\nexport type GetApiImpactFrameworkDeleteImpactFrameworkSetQueryError = ErrorType\n\nexport const useGetApiImpactFrameworkDeleteImpactFrameworkSet = >(\n params?: GetApiImpactFrameworkDeleteImpactFrameworkSetParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiImpactFrameworkDeleteImpactFrameworkSetKey(params) : null);\n const swrFn = () => getApiImpactFrameworkDeleteImpactFrameworkSet(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiImpactFrameworkGetImpactFrameworkById = (\n params?: GetApiImpactFrameworkGetImpactFrameworkByIdParams,\n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/GetImpactFrameworkById`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiImpactFrameworkGetImpactFrameworkByIdKey = (params?: GetApiImpactFrameworkGetImpactFrameworkByIdParams,) => [`/api/ImpactFramework/GetImpactFrameworkById`, ...(params ? [params]: [])];\n\n \nexport type GetApiImpactFrameworkGetImpactFrameworkByIdQueryResult = NonNullable>>\nexport type GetApiImpactFrameworkGetImpactFrameworkByIdQueryError = ErrorType\n\nexport const useGetApiImpactFrameworkGetImpactFrameworkById = >(\n params?: GetApiImpactFrameworkGetImpactFrameworkByIdParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiImpactFrameworkGetImpactFrameworkByIdKey(params) : null);\n const swrFn = () => getApiImpactFrameworkGetImpactFrameworkById(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const putApiImpactFrameworkAddImpactFrameworkSet = (\n impactFrameworkDTO: ImpactFrameworkDTO,\n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/AddImpactFrameworkSet`, method: 'put',\n headers: {'Content-Type': 'application/json', },\n data: impactFrameworkDTO\n },\n );\n }\n \n\n\nexport const putApiImpactFrameworkPutMiniDYI = (\n miniDyiReqDTO: MiniDyiReqDTO,\n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/PutMiniDYI`, method: 'put',\n headers: {'Content-Type': 'application/json', },\n data: miniDyiReqDTO\n },\n );\n }\n \n\n\nexport const getApiImpactFrameworkMiniDYI = (\n params?: GetApiImpactFrameworkMiniDYIParams,\n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/MiniDYI`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiImpactFrameworkMiniDYIKey = (params?: GetApiImpactFrameworkMiniDYIParams,) => [`/api/ImpactFramework/MiniDYI`, ...(params ? [params]: [])];\n\n \nexport type GetApiImpactFrameworkMiniDYIQueryResult = NonNullable>>\nexport type GetApiImpactFrameworkMiniDYIQueryError = ErrorType\n\nexport const useGetApiImpactFrameworkMiniDYI = >(\n params?: GetApiImpactFrameworkMiniDYIParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiImpactFrameworkMiniDYIKey(params) : null);\n const swrFn = () => getApiImpactFrameworkMiniDYI(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiImpactFrameworkGetSdg = (\n \n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/GetSdg`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiImpactFrameworkGetSdgKey = () => [`/api/ImpactFramework/GetSdg`];\n\n \nexport type GetApiImpactFrameworkGetSdgQueryResult = NonNullable>>\nexport type GetApiImpactFrameworkGetSdgQueryError = ErrorType\n\nexport const useGetApiImpactFrameworkGetSdg = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiImpactFrameworkGetSdgKey() : null);\n const swrFn = () => getApiImpactFrameworkGetSdg();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiImpactFrameworkAddOutcomeType = (\n outcomeTypeRequestBody: OutcomeTypeRequestBody,\n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/AddOutcomeType`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: outcomeTypeRequestBody\n },\n );\n }\n \n\n\nexport const postApiImpactFrameworkEditOutcomeType = (\n outcomeTypeRequestBody: OutcomeTypeRequestBody,\n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/EditOutcomeType`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: outcomeTypeRequestBody\n },\n );\n }\n \n\n\nexport const postApiImpactFrameworkEditOutcome = (\n outcomeRequest: OutcomeRequest,\n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/EditOutcome`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: outcomeRequest\n },\n );\n }\n \n\n\nexport const getApiImpactFrameworkGetStakeholderType = (\n params?: GetApiImpactFrameworkGetStakeholderTypeParams,\n ) => {\n return customInstance(\n {url: `/api/ImpactFramework/GetStakeholderType`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiImpactFrameworkGetStakeholderTypeKey = (params?: GetApiImpactFrameworkGetStakeholderTypeParams,) => [`/api/ImpactFramework/GetStakeholderType`, ...(params ? [params]: [])];\n\n \nexport type GetApiImpactFrameworkGetStakeholderTypeQueryResult = NonNullable>>\nexport type GetApiImpactFrameworkGetStakeholderTypeQueryError = ErrorType\n\nexport const useGetApiImpactFrameworkGetStakeholderType = >(\n params?: GetApiImpactFrameworkGetStakeholderTypeParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiImpactFrameworkGetStakeholderTypeKey(params) : null);\n const swrFn = () => getApiImpactFrameworkGetStakeholderType(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiIndicatorGetIndicatorType = (\n bodyBody: BodyBody,\n ) => {\n return customInstance(\n {url: `/api/Indicator/GetIndicatorType`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: bodyBody\n },\n );\n }\n \n\n\nexport const postApiJwtTokenExchange = (\n postApiJwtTokenExchangeBody: PostApiJwtTokenExchangeBodyOne | PostApiJwtTokenExchangeBodyTwo | PostApiJwtTokenExchangeBodyThree,\n ) => {\n return customInstance(\n {url: `/api/Jwt/token-exchange`, method: 'post',\n data: postApiJwtTokenExchangeBody\n },\n );\n }\n \n\n\nexport const postApiOrganizationCreateOrganization = (\n createOrgDto: CreateOrgDto,\n ) => {\n return customInstance(\n {url: `/api/Organization/CreateOrganization`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: createOrgDto\n },\n );\n }\n \n\n\nexport const getApiOrganizationGetOrganizations = (\n \n ) => {\n return customInstance(\n {url: `/api/Organization/GetOrganizations`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiOrganizationGetOrganizationsKey = () => [`/api/Organization/GetOrganizations`];\n\n \nexport type GetApiOrganizationGetOrganizationsQueryResult = NonNullable>>\nexport type GetApiOrganizationGetOrganizationsQueryError = ErrorType\n\nexport const useGetApiOrganizationGetOrganizations = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiOrganizationGetOrganizationsKey() : null);\n const swrFn = () => getApiOrganizationGetOrganizations();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiOrganizationGetOrganizationById = (\n params?: GetApiOrganizationGetOrganizationByIdParams,\n ) => {\n return customInstance(\n {url: `/api/Organization/GetOrganizationById`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiOrganizationGetOrganizationByIdKey = (params?: GetApiOrganizationGetOrganizationByIdParams,) => [`/api/Organization/GetOrganizationById`, ...(params ? [params]: [])];\n\n \nexport type GetApiOrganizationGetOrganizationByIdQueryResult = NonNullable>>\nexport type GetApiOrganizationGetOrganizationByIdQueryError = ErrorType\n\nexport const useGetApiOrganizationGetOrganizationById = >(\n params?: GetApiOrganizationGetOrganizationByIdParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiOrganizationGetOrganizationByIdKey(params) : null);\n const swrFn = () => getApiOrganizationGetOrganizationById(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const putApiOrganizationUpdateOrganization = (\n organizationDto: OrganizationDto,\n ) => {\n return customInstance(\n {url: `/api/Organization/UpdateOrganization`, method: 'put',\n headers: {'Content-Type': 'application/json', },\n data: organizationDto\n },\n );\n }\n \n\n\nexport const postApiOrganizationDeleteOrganization = (\n params?: PostApiOrganizationDeleteOrganizationParams,\n ) => {\n return customInstance(\n {url: `/api/Organization/DeleteOrganization`, method: 'post',\n params\n },\n );\n }\n \n\n\nexport const postApiOutcomeGetOutcomeType = (\n postApiOutcomeGetOutcomeTypeBody: number[],\n params?: PostApiOutcomeGetOutcomeTypeParams,\n ) => {\n return customInstance(\n {url: `/api/Outcome/GetOutcomeType`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: postApiOutcomeGetOutcomeTypeBody,\n params\n },\n );\n }\n \n\n\nexport const getApiPBITokens = (\n params?: GetApiPBITokensParams,\n ) => {\n return customInstance(\n {url: `/api/PBITokens`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiPBITokensKey = (params?: GetApiPBITokensParams,) => [`/api/PBITokens`, ...(params ? [params]: [])];\n\n \nexport type GetApiPBITokensQueryResult = NonNullable>>\nexport type GetApiPBITokensQueryError = ErrorType\n\nexport const useGetApiPBITokens = >(\n params?: GetApiPBITokensParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiPBITokensKey(params) : null);\n const swrFn = () => getApiPBITokens(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiPBITokensGetPBITokenRls = (\n params?: GetApiPBITokensGetPBITokenRlsParams,\n ) => {\n return customInstance(\n {url: `/api/PBITokens/GetPBITokenRls`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiPBITokensGetPBITokenRlsKey = (params?: GetApiPBITokensGetPBITokenRlsParams,) => [`/api/PBITokens/GetPBITokenRls`, ...(params ? [params]: [])];\n\n \nexport type GetApiPBITokensGetPBITokenRlsQueryResult = NonNullable>>\nexport type GetApiPBITokensGetPBITokenRlsQueryError = ErrorType\n\nexport const useGetApiPBITokensGetPBITokenRls = >(\n params?: GetApiPBITokensGetPBITokenRlsParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiPBITokensGetPBITokenRlsKey(params) : null);\n const swrFn = () => getApiPBITokensGetPBITokenRls(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiPowerBiAvailable = (\n params?: GetApiPowerBiAvailableParams,\n ) => {\n return customInstance(\n {url: `/api/PowerBi/Available`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiPowerBiAvailableKey = (params?: GetApiPowerBiAvailableParams,) => [`/api/PowerBi/Available`, ...(params ? [params]: [])];\n\n \nexport type GetApiPowerBiAvailableQueryResult = NonNullable>>\nexport type GetApiPowerBiAvailableQueryError = ErrorType\n\nexport const useGetApiPowerBiAvailable = >(\n params?: GetApiPowerBiAvailableParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiPowerBiAvailableKey(params) : null);\n const swrFn = () => getApiPowerBiAvailable(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiSendEmailSendEmail = (\n logEmailDto: LogEmailDto,\n ) => {\n return customInstance(\n {url: `/api/SendEmail/SendEmail`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: logEmailDto\n },\n );\n }\n \n\n\nexport const postApiSJSurveyCreateSurveyType = (\n sJSurveyTypeDTO: SJSurveyTypeDTO,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/CreateSurveyType`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: sJSurveyTypeDTO\n },\n );\n }\n \n\n\nexport const postApiSJSurveyCreateSurvey = (\n createSurveyRequestDto: CreateSurveyRequestDto,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/CreateSurvey`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: createSurveyRequestDto\n },\n );\n }\n \n\n\nexport const postApiSJSurveyCreateSurveyJson = (\n createSurveyJsonRequestDto: CreateSurveyJsonRequestDto,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/CreateSurveyJson`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: createSurveyJsonRequestDto\n },\n );\n }\n \n\n\nexport const postApiSJSurveyUpdateSurveyJson = (\n sJSurveyJson: SJSurveyJson,\n params?: PostApiSJSurveyUpdateSurveyJsonParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/UpdateSurveyJson`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: sJSurveyJson,\n params\n },\n );\n }\n \n\n\nexport const postApiSJSurveySaveOrUpdateSJSurvey = (\n sJSurvey: SJSurvey,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/SaveOrUpdateSJSurvey`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: sJSurvey\n },\n );\n }\n \n\n\nexport const postApiSJSurveyConsolidateQuestions = (\n sJQuestionsExtended: SJQuestionsExtended[],\n params?: PostApiSJSurveyConsolidateQuestionsParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/ConsolidateQuestions`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: sJQuestionsExtended,\n params\n },\n );\n }\n \n\n\nexport const postApiSJSurveyCloseSurveySubmission = (\n params?: PostApiSJSurveyCloseSurveySubmissionParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/CloseSurveySubmission`, method: 'post',\n params\n },\n );\n }\n \n\n\nexport const postApiSJSurveyOpenSurveySubmission = (\n params?: PostApiSJSurveyOpenSurveySubmissionParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/OpenSurveySubmission`, method: 'post',\n params\n },\n );\n }\n \n\n\nexport const getApiSJSurveyGetSurveys = (\n bodyBody: BodyBody,\n params?: GetApiSJSurveyGetSurveysParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetSurveys`, method: 'get',\n headers: {'Content-Type': 'application/json', },\n params\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetSurveysKey = (bodyBody: BodyBody,\n params?: GetApiSJSurveyGetSurveysParams,) => [`/api/SJSurvey/GetSurveys`, ...(params ? [params]: []), bodyBody];\n\n \nexport type GetApiSJSurveyGetSurveysQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetSurveysQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetSurveys = >(\n bodyBody: BodyBody,\n params?: GetApiSJSurveyGetSurveysParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetSurveysKey(bodyBody,params) : null);\n const swrFn = () => getApiSJSurveyGetSurveys(bodyBody,params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiSJSurveyGetLastSurveyJSON = (\n params?: GetApiSJSurveyGetLastSurveyJSONParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetLastSurveyJSON`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetLastSurveyJSONKey = (params?: GetApiSJSurveyGetLastSurveyJSONParams,) => [`/api/SJSurvey/GetLastSurveyJSON`, ...(params ? [params]: [])];\n\n \nexport type GetApiSJSurveyGetLastSurveyJSONQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetLastSurveyJSONQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetLastSurveyJSON = >(\n params?: GetApiSJSurveyGetLastSurveyJSONParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetLastSurveyJSONKey(params) : null);\n const swrFn = () => getApiSJSurveyGetLastSurveyJSON(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiSJSurveyGetSurveyJsonById = (\n params?: GetApiSJSurveyGetSurveyJsonByIdParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetSurveyJsonById`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetSurveyJsonByIdKey = (params?: GetApiSJSurveyGetSurveyJsonByIdParams,) => [`/api/SJSurvey/GetSurveyJsonById`, ...(params ? [params]: [])];\n\n \nexport type GetApiSJSurveyGetSurveyJsonByIdQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetSurveyJsonByIdQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetSurveyJsonById = >(\n params?: GetApiSJSurveyGetSurveyJsonByIdParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetSurveyJsonByIdKey(params) : null);\n const swrFn = () => getApiSJSurveyGetSurveyJsonById(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiSJSurveyGetSurveyJsonBySubmission = (\n params?: GetApiSJSurveyGetSurveyJsonBySubmissionParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetSurveyJsonBySubmission`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetSurveyJsonBySubmissionKey = (params?: GetApiSJSurveyGetSurveyJsonBySubmissionParams,) => [`/api/SJSurvey/GetSurveyJsonBySubmission`, ...(params ? [params]: [])];\n\n \nexport type GetApiSJSurveyGetSurveyJsonBySubmissionQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetSurveyJsonBySubmissionQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetSurveyJsonBySubmission = >(\n params?: GetApiSJSurveyGetSurveyJsonBySubmissionParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetSurveyJsonBySubmissionKey(params) : null);\n const swrFn = () => getApiSJSurveyGetSurveyJsonBySubmission(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiSJSurveyGetSubmission = (\n params?: GetApiSJSurveyGetSubmissionParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetSubmission`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetSubmissionKey = (params?: GetApiSJSurveyGetSubmissionParams,) => [`/api/SJSurvey/GetSubmission`, ...(params ? [params]: [])];\n\n \nexport type GetApiSJSurveyGetSubmissionQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetSubmissionQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetSubmission = >(\n params?: GetApiSJSurveyGetSubmissionParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetSubmissionKey(params) : null);\n const swrFn = () => getApiSJSurveyGetSubmission(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiSJSurveyGetSurveyBySubmissionID = (\n params?: GetApiSJSurveyGetSurveyBySubmissionIDParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetSurveyBySubmissionID`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetSurveyBySubmissionIDKey = (params?: GetApiSJSurveyGetSurveyBySubmissionIDParams,) => [`/api/SJSurvey/GetSurveyBySubmissionID`, ...(params ? [params]: [])];\n\n \nexport type GetApiSJSurveyGetSurveyBySubmissionIDQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetSurveyBySubmissionIDQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetSurveyBySubmissionID = >(\n params?: GetApiSJSurveyGetSurveyBySubmissionIDParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetSurveyBySubmissionIDKey(params) : null);\n const swrFn = () => getApiSJSurveyGetSurveyBySubmissionID(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiSJSurveyGetSurveyTypeList = (\n \n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetSurveyTypeList`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetSurveyTypeListKey = () => [`/api/SJSurvey/GetSurveyTypeList`];\n\n \nexport type GetApiSJSurveyGetSurveyTypeListQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetSurveyTypeListQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetSurveyTypeList = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetSurveyTypeListKey() : null);\n const swrFn = () => getApiSJSurveyGetSurveyTypeList();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiSJSurveyGetSurveyByType = (\n params?: GetApiSJSurveyGetSurveyByTypeParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetSurveyByType`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetSurveyByTypeKey = (params?: GetApiSJSurveyGetSurveyByTypeParams,) => [`/api/SJSurvey/GetSurveyByType`, ...(params ? [params]: [])];\n\n \nexport type GetApiSJSurveyGetSurveyByTypeQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetSurveyByTypeQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetSurveyByType = >(\n params?: GetApiSJSurveyGetSurveyByTypeParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetSurveyByTypeKey(params) : null);\n const swrFn = () => getApiSJSurveyGetSurveyByType(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiSJSurveyGetSurveySubmission = (\n surveySubmissionRequestDto: SurveySubmissionRequestDto,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetSurveySubmission`, method: 'get',\n headers: {'Content-Type': 'application/json', }\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetSurveySubmissionKey = (surveySubmissionRequestDto: SurveySubmissionRequestDto,) => [`/api/SJSurvey/GetSurveySubmission`, surveySubmissionRequestDto];\n\n \nexport type GetApiSJSurveyGetSurveySubmissionQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetSurveySubmissionQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetSurveySubmission = >(\n surveySubmissionRequestDto: SurveySubmissionRequestDto, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetSurveySubmissionKey(surveySubmissionRequestDto) : null);\n const swrFn = () => getApiSJSurveyGetSurveySubmission(surveySubmissionRequestDto, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiSJSurveyGetSurveyJsonBySurveyID = (\n params?: GetApiSJSurveyGetSurveyJsonBySurveyIDParams,\n ) => {\n return customInstance(\n {url: `/api/SJSurvey/GetSurveyJsonBySurveyID`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiSJSurveyGetSurveyJsonBySurveyIDKey = (params?: GetApiSJSurveyGetSurveyJsonBySurveyIDParams,) => [`/api/SJSurvey/GetSurveyJsonBySurveyID`, ...(params ? [params]: [])];\n\n \nexport type GetApiSJSurveyGetSurveyJsonBySurveyIDQueryResult = NonNullable>>\nexport type GetApiSJSurveyGetSurveyJsonBySurveyIDQueryError = ErrorType\n\nexport const useGetApiSJSurveyGetSurveyJsonBySurveyID = >(\n params?: GetApiSJSurveyGetSurveyJsonBySurveyIDParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiSJSurveyGetSurveyJsonBySurveyIDKey(params) : null);\n const swrFn = () => getApiSJSurveyGetSurveyJsonBySurveyID(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiStepGetStepById = (\n params?: GetApiStepGetStepByIdParams,\n ) => {\n return customInstance(\n {url: `/api/Step/GetStepById`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiStepGetStepByIdKey = (params?: GetApiStepGetStepByIdParams,) => [`/api/Step/GetStepById`, ...(params ? [params]: [])];\n\n \nexport type GetApiStepGetStepByIdQueryResult = NonNullable>>\nexport type GetApiStepGetStepByIdQueryError = ErrorType\n\nexport const useGetApiStepGetStepById = >(\n params?: GetApiStepGetStepByIdParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiStepGetStepByIdKey(params) : null);\n const swrFn = () => getApiStepGetStepById(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiStepGetSteps = (\n params?: GetApiStepGetStepsParams,\n ) => {\n return customInstance(\n {url: `/api/Step/GetSteps`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiStepGetStepsKey = (params?: GetApiStepGetStepsParams,) => [`/api/Step/GetSteps`, ...(params ? [params]: [])];\n\n \nexport type GetApiStepGetStepsQueryResult = NonNullable>>\nexport type GetApiStepGetStepsQueryError = ErrorType\n\nexport const useGetApiStepGetSteps = >(\n params?: GetApiStepGetStepsParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiStepGetStepsKey(params) : null);\n const swrFn = () => getApiStepGetSteps(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiStepGetStepTypes = (\n \n ) => {\n return customInstance(\n {url: `/api/Step/GetStepTypes`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiStepGetStepTypesKey = () => [`/api/Step/GetStepTypes`];\n\n \nexport type GetApiStepGetStepTypesQueryResult = NonNullable>>\nexport type GetApiStepGetStepTypesQueryError = ErrorType\n\nexport const useGetApiStepGetStepTypes = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiStepGetStepTypesKey() : null);\n const swrFn = () => getApiStepGetStepTypes();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiStepCreateStep = (\n createStepDtoBody: CreateStepDtoBody,\n ) => {\n return customInstance(\n {url: `/api/Step/CreateStep`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: createStepDtoBody\n },\n );\n }\n \n\n\nexport const putApiStepUpsertStep = (\n createStepDtoBody: CreateStepDtoBody,\n ) => {\n return customInstance(\n {url: `/api/Step/UpsertStep`, method: 'put',\n headers: {'Content-Type': 'application/json', },\n data: createStepDtoBody\n },\n );\n }\n \n\n\nexport const getApiStepUpdateSJQuestionsExtended = (\n params?: GetApiStepUpdateSJQuestionsExtendedParams,\n ) => {\n return customInstance(\n {url: `/api/Step/UpdateSJQuestionsExtended`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiStepUpdateSJQuestionsExtendedKey = (params?: GetApiStepUpdateSJQuestionsExtendedParams,) => [`/api/Step/UpdateSJQuestionsExtended`, ...(params ? [params]: [])];\n\n \nexport type GetApiStepUpdateSJQuestionsExtendedQueryResult = NonNullable>>\nexport type GetApiStepUpdateSJQuestionsExtendedQueryError = ErrorType\n\nexport const useGetApiStepUpdateSJQuestionsExtended = >(\n params?: GetApiStepUpdateSJQuestionsExtendedParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiStepUpdateSJQuestionsExtendedKey(params) : null);\n const swrFn = () => getApiStepUpdateSJQuestionsExtended(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const getApiStepUpdateSJQuestionsExtendedAll = (\n params?: GetApiStepUpdateSJQuestionsExtendedAllParams,\n ) => {\n return customInstance(\n {url: `/api/Step/UpdateSJQuestionsExtendedAll`, method: 'get',\n params\n },\n );\n }\n \n\nexport const getGetApiStepUpdateSJQuestionsExtendedAllKey = (params?: GetApiStepUpdateSJQuestionsExtendedAllParams,) => [`/api/Step/UpdateSJQuestionsExtendedAll`, ...(params ? [params]: [])];\n\n \nexport type GetApiStepUpdateSJQuestionsExtendedAllQueryResult = NonNullable>>\nexport type GetApiStepUpdateSJQuestionsExtendedAllQueryError = ErrorType\n\nexport const useGetApiStepUpdateSJQuestionsExtendedAll = >(\n params?: GetApiStepUpdateSJQuestionsExtendedAllParams, options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiStepUpdateSJQuestionsExtendedAllKey(params) : null);\n const swrFn = () => getApiStepUpdateSJQuestionsExtendedAll(params, );\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\nexport const postApiStepCreateStepType = (\n createStepTypeDto: CreateStepTypeDto,\n ) => {\n return customInstance(\n {url: `/api/Step/CreateStepType`, method: 'post',\n headers: {'Content-Type': 'application/json', },\n data: createStepTypeDto\n },\n );\n }\n \n\n\nexport const getApiUser = (\n \n ) => {\n return customInstance(\n {url: `/api/User`, method: 'get'\n },\n );\n }\n \n\nexport const getGetApiUserKey = () => [`/api/User`];\n\n \nexport type GetApiUserQueryResult = NonNullable>>\nexport type GetApiUserQueryError = ErrorType\n\nexport const useGetApiUser = >(\n options?: { swr?:SWRConfiguration>, TError> & { swrKey?: Key, enabled?: boolean }, }\n\n ) => {\n\n const {swr: swrOptions} = options ?? {}\n\n const isEnabled = swrOptions?.enabled !== false\n const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? getGetApiUserKey() : null);\n const swrFn = () => getApiUser();\n\n const query = useSwr>, TError>(swrKey, swrFn, swrOptions)\n\n return {\n swrKey,\n ...query\n }\n}\n\n\n","import { RichTextEditor, Link } from \"@mantine/tiptap\";\nimport { useEditor } from \"@tiptap/react\";\nimport Highlight from \"@tiptap/extension-highlight\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport Underline from \"@tiptap/extension-underline\";\nimport TextAlign from \"@tiptap/extension-text-align\";\nimport Superscript from \"@tiptap/extension-superscript\";\nimport SubScript from \"@tiptap/extension-subscript\";\nimport { ScrollArea } from \"@mantine/core\";\n\ntype EditorProps = {\n content: string;\n onChange: (HtmlValue: string) => void;\n minHeight?: number;\n};\nfunction Editor({ content, onChange, minHeight = 200 }: EditorProps) {\n const editor = useEditor({\n extensions: [\n StarterKit,\n Underline,\n Link,\n Superscript,\n SubScript,\n Highlight,\n TextAlign.configure({ types: [\"heading\", \"paragraph\"] }),\n ],\n content,\n onUpdate({ editor }) {\n onChange(editor.getHTML());\n },\n });\n\n return (\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 \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n );\n}\n\nexport default Editor;\n"],"sourceRoot":""}