{"version":3,"file":"static/chunks/9474-5a1d2aa789094edc.js","mappings":"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","sources":["webpack://_N_E/./modules/contract/helpers/autoDownloadFile.tsx","webpack://_N_E/./modules/contract/components/CreateContractWizard/ContractDownloadStep.tsx","webpack://_N_E/./modules/contract/hooks/useDriveFile.tsx","webpack://_N_E/./modules/contract/components/CreateContractWizard/ContractPreviewStep.tsx","webpack://_N_E/./modules/contract/components/CreateContractWizard/ContractSignStep.tsx","webpack://_N_E/./modules/contract/components/CreateContractWizard/CreateContractWizard.tsx","webpack://_N_E/./modules/contract/helpers/getContractPath/getContractPath.ts","webpack://_N_E/./modules/contract/helpers/getContractPath/index.ts","webpack://_N_E/./modules/contract/components/shared/ContractDownloadIconButton.tsx","webpack://_N_E/./modules/contract/components/detail/ContractCard.tsx","webpack://_N_E/./modules/contract/components/detail/AnnexCard.tsx","webpack://_N_E/./modules/contract/components/list/ContractAnnexes.tsx","webpack://_N_E/./modules/contract/components/detail/ContractDetails.tsx","webpack://_N_E/./modules/contract/components/detail/index.tsx","webpack://_N_E/./modules/contract/components/list/ContractCardList.tsx","webpack://_N_E/./modules/contract/components/list/ContractDetailedData.tsx","webpack://_N_E/./modules/contract/components/list/ContractDetailsContainer.tsx","webpack://_N_E/./modules/contract/components/list/ContractList.tsx","webpack://_N_E/./modules/contract/components/list/ContractTable.tsx","webpack://_N_E/./modules/contract/components/list/UserContracts.tsx","webpack://_N_E/./modules/contract/components/list/index.tsx","webpack://_N_E/./modules/contract/components/shared/ContractStatus.tsx","webpack://_N_E/./modules/contract/components/shared/ContractDownloadButton.tsx","webpack://_N_E/./modules/contract/components/shared/SignatureCollector.tsx","webpack://_N_E/./modules/contract/components/shared/SignContractTitle.tsx","webpack://_N_E/./modules/contract/components/shared/Tooltip.tsx","webpack://_N_E/./modules/contract/components/shared/index.ts","webpack://_N_E/./modules/contract/helpers/signPdf.tsx","webpack://_N_E/./modules/contract/hooks/useContracts/useContracts.tsx","webpack://_N_E/./modules/contract/hooks/useCreateContract/index.ts","webpack://_N_E/./modules/contract/hooks/useCreateContract/steps.ts","webpack://_N_E/./modules/contract/hooks/useCreateContract/actions.ts","webpack://_N_E/./modules/contract/hooks/useCreateContract/stateReducer.ts","webpack://_N_E/./modules/contract/hooks/useCreateContract/useStateManager.ts","webpack://_N_E/./modules/contract/hooks/useCreateContract/useCreateContract.tsx","webpack://_N_E/./modules/contract/hooks/useDownloadContract/useDownloadContract.tsx","webpack://_N_E/./modules/contract/components/CreateContractWizard/index.ts","webpack://_N_E/./modules/contract/hooks/useContractAnnexes/useContractAnnexes.tsx","webpack://_N_E/./modules/contract/hooks/useContractFile/useContractFile.tsx","webpack://_N_E/./modules/contract/hooks/useContract/useContract.tsx","webpack://_N_E/./modules/contract/index.ts","webpack://_N_E/./modules/contract/utils/getStatusTranslation/getStatusTranslation.ts","webpack://_N_E/./modules/contract/utils/getStatusTranslation/index.ts","webpack://_N_E/./modules/contract/utils/index.ts"],"sourcesContent":["export const autoDownloadFile = async (buffer: Buffer | Uint8Array, fileName: string) => {\n const blob = new Blob([buffer], { type: 'application/pdf' });\n const link = URL.createObjectURL(blob);\n\n const anchorElement = document.createElement('a');\n\n anchorElement.href = link;\n\n anchorElement.setAttribute('download', fileName);\n\n anchorElement.setAttribute('target', '_blank');\n\n document.body.appendChild(anchorElement);\n\n anchorElement.click();\n\n anchorElement.remove();\n\n window.open(link);\n};\n","import { OnboardingEvents, trackTagManagerEvent } from 'firebase-client';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { Box, Button, Typography } from 'ui';\n\nimport { useCreateContract } from '~/contract';\nimport { autoDownloadFile } from '~/contract/helpers/autoDownloadFile';\nimport { StepTitle } from '~/ui';\n\nexport const ContractDownloadStep = () => {\n const { t } = useTranslation('createContractWizard');\n const { onCompletion, contractData } = useCreateContract();\n\n const { contractNumber, signedContract } = contractData;\n return (\n \n \n \n {t('download.title')}\n \n\n ,\n ,\n ,\n ]}\n />\n \n\n \n \n\n {\n trackTagManagerEvent(OnboardingEvents.contractDownload);\n autoDownloadFile(signedContract, `${contractNumber}_signed_contract.pdf`);\n }}\n >\n {t('download.download')}\n \n \n \n );\n};\n","'use client';\n\nimport logger from 'logger';\nimport { useEffect, useState } from 'react';\n\nimport { useAuthUser } from '~/auth';\n\nexport const useDriveFile = () => {\n const [fileContent, setFileContent] = useState(new Blob());\n const [loading, setLoading] = useState(true);\n\n const { getToken } = useAuthUser();\n\n useEffect(() => {\n const fetchFile = async () => {\n const token = await getToken();\n\n if (!token) {\n logger.error('User is undefined');\n return;\n }\n const response = await fetch('/api/contracts', {\n headers: { Authorization: token, 'content-type': 'application/json' },\n method: 'GET',\n });\n\n if (response.ok) {\n const data = await response.blob();\n setFileContent(data);\n setLoading(false);\n } else {\n logger.error('Failed to fetch file');\n }\n };\n\n fetchFile();\n }, [getToken]);\n\n return { fileContent, loading };\n};\n","'use client';\n\nimport { OnboardingEvents, trackTagManagerEvent } from 'firebase-client';\nimport dynamic from 'next/dynamic';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Box, Button, Dialog, DialogActions, DialogContent, IconButton, Typography, useResolution } from 'ui';\nimport { FullscreenOutlined } from 'ui/icons';\n\nimport { useCreateContract } from '~/contract';\nimport { useDriveFile } from '~/contract/hooks/useDriveFile';\nimport { StepTitle } from '~/ui';\n\nconst ShowPdfFile = dynamic(() => import('../shared/ShowPdfFile'), {\n ssr: false,\n});\n\nexport const ContractPreviewStep = () => {\n const { t } = useTranslation('createContractWizard');\n const { goToNextStep } = useCreateContract();\n\n const [showModal, setShowModal] = useState(false);\n const { isLargeTablet, isTablet } = useResolution();\n\n const { fileContent: contractFile, loading } = useDriveFile();\n\n const handleOpen = () => setShowModal(true);\n const handleClose = () => setShowModal(false);\n\n return (\n \n \n {t('preview.title')}\n {isLargeTablet && (\n \n \n \n )}\n \n \n \n {loading ? (\n {t('fileLoading')}\n ) : (\n \n )}\n \n \n \n \n \n \n {loading ? (\n {t('fileLoading')}\n ) : (\n \n )}\n \n \n {\n trackTagManagerEvent(OnboardingEvents.contractPreview);\n goToNextStep();\n }}\n data-testid=\"sign-button\"\n color=\"gradient\"\n >\n {t('signing')}\n \n \n \n );\n};\n","import { OnboardingEvents, trackTagManagerEvent } from 'firebase-client';\nimport { useTranslation } from 'react-i18next';\nimport { Box } from 'ui';\n\nimport { useCreateContract } from '~/contract';\nimport { signPdf } from '~/contract/helpers/signPdf';\nimport { useDriveFile } from '~/contract/hooks/useDriveFile';\nimport { useContractApi } from '~/data/api';\nimport { StepTitle } from '~/ui';\n\nimport { SignatureCollector } from '../shared';\n\nexport const ContractSignStep = () => {\n const { t } = useTranslation('createContractWizard');\n\n const { goToNextStep, setSignedContract, getContractData } = useCreateContract();\n const { fileContent: file, loading: fileLoading } = useDriveFile();\n const { uploadContract } = useContractApi();\n\n const contractData = getContractData();\n\n const onSign = async (base64PngSignature: string) => {\n trackTagManagerEvent(OnboardingEvents.contractSign);\n\n const arrayBuffer = await file.arrayBuffer();\n const signedPdf = await signPdf(base64PngSignature, arrayBuffer);\n\n await uploadContract({\n contractNumber: contractData.contractNumber,\n uploadFile: Buffer.from(signedPdf).toString('base64'),\n });\n\n setSignedContract(signedPdf);\n\n goToNextStep();\n };\n\n return (\n \n {t('sign.title')}\n \n \n \n \n );\n};\n","'use client';\n\nimport { DocumentData } from 'firebase/firestore';\nimport { useTranslation } from 'react-i18next';\n\nimport { CreateContractProvider, useCreateContract } from '~/contract/hooks/useCreateContract';\nimport { CreateContractState } from '~/contract/hooks/useCreateContract/types';\nimport { MobilePageHeader, ProcessDetails, WizardLayout } from '~/ui';\n\nimport { ContractDownloadStep } from './ContractDownloadStep';\nimport { ContractPreviewStep } from './ContractPreviewStep';\nimport { ContractSignStep } from './ContractSignStep';\n\nconst STEPS = {\n download: ContractDownloadStep,\n preview: ContractPreviewStep,\n sign: ContractSignStep,\n};\n\nexport const Wizard = () => {\n const { t } = useTranslation('createContractWizard');\n const { getCurrentStep, goToPreviousStep } = useCreateContract();\n\n const currentStep = getCurrentStep();\n\n const CurrentStep = STEPS[currentStep as keyof typeof STEPS] || STEPS.preview;\n\n const showBackButton = currentStep !== 'preview';\n\n return (\n \n }\n rightChild={}\n header={}\n />\n );\n};\n\ninterface CreateContractWizardProps {\n onCompletion: () => void;\n onUpdate: (data: CreateContractState['contractData']) => void;\n onboardingData?: DocumentData | null;\n}\n\nexport const CreateContractWizard = ({ onCompletion, onUpdate, onboardingData }: CreateContractWizardProps) => (\n \n \n \n);\n","import { Contract } from '~/data';\n\nconst getContractPath = (contract: Pick): string => {\n return `contracts/${contract.contractNumber}`;\n};\n\nexport default getContractPath;\n","import getContractPath from './getContractPath';\n\nexport default getContractPath;\n","import { IconButton, Loader } from 'ui';\nimport { Download } from 'ui/icons';\n\nimport { useDownloadContract } from '~/contract/hooks/useDownloadContract/useDownloadContract';\n\nexport const ContractDownloadIconButton = ({ contractNumber }: { contractNumber: string }) => {\n const { download, isDownloading } = useDownloadContract({ contractNumber });\n\n return (\n {\n event.preventDefault();\n download();\n }}\n disabled={isDownloading}\n sx={{ color: 'info.main' }}\n >\n {isDownloading ? : }\n \n );\n};\n\nexport default ContractDownloadIconButton;\n","'use client';\n\nimport { formatDate } from 'dates';\nimport { useRouter } from 'next/navigation';\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Box, Button, ContractCard as UiContractCard, Typography, useResolution } from 'ui';\n\nimport getContractPath from '~/contract/helpers/getContractPath';\nimport { getStatusTranslation } from '~/contract/utils';\nimport { Contract } from '~/data/types';\nimport { LinkContainer } from '~/ui';\n\nimport { ContractDownloadIconButton } from '../shared/ContractDownloadIconButton';\nimport { ContractStatus } from '../shared/ContractStatus';\n\nexport const ContractCard = memo((contract: Contract) => {\n const { t } = useTranslation('contracts');\n const { startDate, createdDate, status, contractNumber, contractType, customerName, pointAgreementsAmount } =\n contract;\n\n const { push } = useRouter();\n\n const statusText = getStatusTranslation({ status, t });\n\n const statusColor = status === 'Active' || status === 'Signed' ? 'green' : 'orange.main';\n const showSignButton = status === 'Generated Contract' || status === 'Draft';\n\n const { isTablet } = useResolution();\n\n return (\n \n }\n details={[\n t('meteringPointsCount', {\n meteringPointsCount: pointAgreementsAmount,\n }),\n \n \n {statusText}\n \n {showSignButton && (\n {\n event.preventDefault();\n event.stopPropagation();\n push(`/contracts/${contractNumber}/sign-contract`);\n }}\n size={isTablet ? 'sm' : 'xs'}\n >\n {t('signContract')}\n \n )}\n ,\n \n {t('date', {\n date: formatDate({\n date: createdDate,\n }),\n })}\n ,\n ,\n ]}\n customerName={customerName}\n />\n \n );\n});\n","import { formatDate } from 'dates';\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ContractCard as UiContractCard, Typography } from 'ui';\n\nimport { getStatusTranslation } from '~/contract/utils';\nimport { Annex } from '~/data/types';\n\ninterface AnnexCardProps {\n annex: Annex;\n contractNumber: string;\n customerName: string;\n}\n\nexport const AnnexCard = memo(({ annex, contractNumber, customerName }: AnnexCardProps) => {\n const { t } = useTranslation('contracts');\n\n const { annexDate, createdDate, status, annexNumber } = annex;\n\n const statusText = getStatusTranslation({ status, t });\n\n return (\n \n {statusText}\n ,\n \n {t('date', {\n date: formatDate({\n date: createdDate,\n }),\n })}\n ,\n annexDate && (\n \n {t('activeFromDate', {\n activeFrom: formatDate({\n date: annexDate,\n }),\n })}\n \n ),\n ]}\n customerName={customerName}\n />\n );\n});\n","import { CardListContainer, MobileSwiper, useResolution } from 'ui';\n\nimport { Annex } from '~/data';\n\nimport { AnnexCard } from '../detail/AnnexCard';\n\ninterface Props {\n list: Annex[];\n contractNumber: string;\n customerName: string;\n}\n\nexport const ContractAnnexes = ({ list, contractNumber, customerName }: Props) => {\n const { isDesktop } = useResolution();\n\n const cardsList = list.map((annex) => {\n return (\n \n );\n });\n\n return isDesktop ? : ;\n};\n","'use client';\n\nimport logger from 'logger';\nimport { useTranslation } from 'react-i18next';\nimport { DetailsPageTitle, PageSection, Stack, Typography } from 'ui';\n\nimport { useContract } from '~/contract';\nimport { GoBackButton } from '~/ui';\n\nimport { ContractDetailedData } from '../list';\nimport { ContractAnnexes } from '../list/ContractAnnexes';\nimport { ContractDownloadButton } from '../shared';\n\ninterface Props {\n contractNumber: string;\n}\nexport const ContractDetails = ({ contractNumber }: Props) => {\n const { t } = useTranslation();\n\n const {\n data: { contract, annexes },\n } = useContract({ contractNumber });\n\n if (!contract) {\n logger.debug('Contract not found');\n return null;\n }\n\n return (\n <>\n }\n subtitle={t('contracts:contractNumber', { contractNumber: contract.contractNumber })}\n title={contract.contractType}\n rightButtons={}\n />\n\n \n \n\n \n \n {annexes.total}\n \n \n }\n >\n \n \n \n \n );\n};\n","import { ContractCard } from './ContractCard';\nimport { ContractDetails } from './ContractDetails';\n\nexport { ContractCard, ContractDetails };\n","import { CardListContainer } from 'ui';\n\nimport { Contract } from '~/data';\n\nimport { ContractCard } from '../detail';\n\nexport const ContractCardList = ({ list }: { list: Contract[] }) => {\n return (\n {\n return ;\n })}\n />\n );\n};\n","'use client';\n\nimport { formatDate } from 'dates';\nimport { TFunction } from 'i18next';\nimport { useTranslation } from 'react-i18next';\nimport { CardMobileSwiper, ListItemGroup, TabPanel, useResolution } from 'ui';\nimport { Assignment, Description, Event, Tag } from 'ui/icons';\n\nimport { getStatusTranslation } from '~/contract/utils';\nimport { Contract } from '~/data';\n\ninterface Props {\n contract: Contract;\n}\n\nconst buildData = (contract: Contract, t: TFunction) => {\n return [\n {\n details: [\n {\n icon: Tag,\n subtitle: t('common:tabPanelTabs.contractData.contractNumber'),\n title: contract.contractNumber,\n },\n {\n icon: Description,\n subtitle: t('common:tabPanelTabs.contractData.contractType'),\n title: contract.contractType,\n },\n {\n icon: Event,\n subtitle: t('common:tabPanelTabs.contractData.startDate'),\n title: formatDate({ date: contract.startDate! }),\n },\n {\n icon: Event,\n subtitle: t('common:tabPanelTabs.contractData.endDate'),\n title: contract.endDate ? formatDate({ date: contract.endDate }) : '',\n },\n {\n icon: Assignment,\n subtitle: t('common:tabPanelTabs.contractData.status'),\n title: getStatusTranslation({ status: contract.status, t }),\n },\n ],\n key: 'contractData',\n },\n ];\n};\n\nconst ContractDetailedData = ({ contract }: Props) => {\n const { t } = useTranslation('contracts');\n const { isTablet } = useResolution();\n\n const data = buildData(contract, t);\n\n const listData = data.map(({ key, details }) => ({\n content: ,\n label: t(`common:tabPanelTabs.${key}.tabName`),\n }));\n\n return isTablet ? : ;\n};\n\nexport default ContractDetailedData;\n","'use client';\n\nimport { useParams } from 'next/navigation';\nimport { useTranslation } from 'react-i18next';\nimport { addWarning, Warnings } from 'rum';\n\nimport { ContractDetails } from '../detail';\n\nconst ContractDetailsContainer = () => {\n const { t } = useTranslation();\n\n const params = useParams();\n const id = params && params.id;\n\n if (typeof id !== 'string') {\n addWarning(Warnings.INVALID_QUERY_PARAM, { page: `contracts/${id}`, query: id });\n }\n\n return typeof id === 'string' ? :

{t('customers:customer.notFound')}

;\n};\n\nexport default ContractDetailsContainer;\n","import { Contract } from '~/data';\nimport { useLayoutStore } from '~/store';\nimport { NoResultsMessage } from '~/ui';\n\nimport { ContractCardList } from './ContractCardList';\nimport { ContractTable } from './ContractTable';\n\nexport const ContractList = ({ list }: { list: Contract[] }) => {\n const { layout } = useLayoutStore();\n\n if (!list) {\n return ;\n }\n\n if (layout === 'table') {\n return ;\n }\n\n return ;\n};\n","'use client';\n\nimport { formatDate } from 'dates';\nimport { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DataTable, DataTableColumns, Typography } from 'ui';\n\nimport { getStatusTranslation } from '~/contract/utils';\nimport { Contract } from '~/data';\n\nimport { ContractStatus } from '../shared';\n\ntype RenderProps = {\n row: Contract;\n};\n\nconst ActiveFromCell = ({ row }: RenderProps) => {\n return ;\n};\n\nconst CustomerName = ({ row }: RenderProps) => {row.customerName};\n\ntype CellRenderMap = {\n [key: string]: (props: RenderProps) => React.ReactNode;\n};\n\nconst CELL_RENDER_MAP: CellRenderMap = {\n customer: CustomerName,\n};\n\nexport const ContractTable = ({ list }: { list: Contract[] }) => {\n const { t } = useTranslation('contracts');\n\n const tableColumns = useMemo(() => {\n const columns: DataTableColumns[] = [\n { accessor: 'customerName', header: t('table.customerName') },\n { accessor: 'contractNumber', header: t('table.contractNumber') },\n { accessor: 'pointAgreementsAmount', header: t('table.meteringPointsCount') },\n {\n accessor: 'status',\n header: t('table.status'),\n value: ({ row }: { row: Contract }) => getStatusTranslation({ status: row.status, t }),\n },\n {\n accessor: 'createdDate',\n header: t('table.date'),\n value: ({ row }: { row: Contract }) => formatDate({ date: row.createdDate }),\n },\n { header: '', value: ActiveFromCell, virtualColumn: 'activeFrom' },\n ];\n\n return columns;\n }, [t]);\n\n return (\n \n columns={tableColumns}\n uid=\"contractNumber\"\n data-testid=\"contract-table\"\n data={list}\n renderCell={(row, accessor) => {\n const Cell = CELL_RENDER_MAP[accessor];\n\n if (!Cell) {\n return null;\n }\n\n return ;\n }}\n />\n );\n};\n","'use client';\n\nimport { useTranslation } from 'react-i18next';\nimport { ListPageTitle } from 'ui';\n\nimport { useContracts } from '~/contract/hooks/useContracts/useContracts';\nimport { CustomerPicker, useSelectedCustomerIds } from '~/customer';\nimport { LayoutSwitcher, ScrollableViewWithData } from '~/ui';\n\nimport { ContractList } from './ContractList';\n\nconst UserContracts = () => {\n const { t } = useTranslation();\n\n const { selectedCustomerIds: selectedCustomersIds } = useSelectedCustomerIds();\n\n return (\n <>\n \n \n \n \n }\n />\n\n \n \n );\n};\n\nexport default UserContracts;\n","import { ContractCardList } from './ContractCardList';\nimport ContractDetailedData from './ContractDetailedData';\nimport ContractDetailsContainer from './ContractDetailsContainer';\nimport { ContractList } from './ContractList';\nimport UserContracts from './UserContracts';\n\nexport { ContractCardList, ContractDetailedData, ContractDetailsContainer, ContractList, UserContracts };\n","import { formatDate, getDifference } from 'dates';\nimport { TFunction } from 'i18next';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { Typography } from 'ui';\nimport { Error } from 'ui/icons';\n\nimport { Tooltip } from '~/contract/components/shared';\n\nconst SignedContractStatus = ({ t }: { t: TFunction }) => (\n <>\n \n {t('status.forActivation')}\n \n } />\n \n);\n\nconst ForValidationContractStatus = ({ t }: { t: TFunction }) => (\n <>\n \n {t('status.waitingForValidation')}\n \n } />\n \n);\n\nconst UnsignedContractStatus = ({ t, createdDate }: { t: TFunction; createdDate: Date }) => {\n const signingDueDate = new Date(createdDate.getFullYear(), createdDate.getMonth(), createdDate.getDate() + 7);\n const remainingDays = getDifference({\n dateA: signingDueDate,\n dateB: new Date(),\n unit: 'day',\n });\n\n return (\n <>\n 0 ? remainingDays : 0,\n }}\n components={[]}\n />\n } />\n \n );\n};\n\nconst STATUSES = {\n Active: ({ startDate, t }: { startDate: Date | null; t: TFunction }) =>\n startDate ? (\n <>\n \n {t('activeFromDate', { activeFrom: formatDate({ date: startDate }) })}\n \n } />\n \n ) : null,\n Draft: UnsignedContractStatus,\n 'Generated Contract': UnsignedContractStatus,\n 'Rejected by Customer': UnsignedContractStatus,\n 'Waiting for validation': ForValidationContractStatus,\n};\n\nexport const ContractStatus = ({\n status,\n startDate,\n createdDate,\n}: {\n status: string;\n startDate: Date | null;\n createdDate: Date;\n}) => {\n const { t } = useTranslation('contracts');\n\n const props = { createdDate, startDate, status, t };\n\n const ContractStatusText = STATUSES[status as keyof typeof STATUSES] || SignedContractStatus;\n\n return ;\n};\n","import { useTranslation } from 'react-i18next';\nimport { Box, Button, useResolution } from 'ui';\nimport { ButtonProps } from 'ui/components/Button/types';\nimport { Download } from 'ui/icons';\n\nimport { useDownloadContract } from '~/contract/hooks/useDownloadContract/useDownloadContract';\n\ninterface Props extends Omit {\n contractNumber: string;\n}\n\nexport const ContractDownloadButton = ({ contractNumber, ...rest }: Props) => {\n const { download, isDownloading } = useDownloadContract({ contractNumber });\n const { isTablet } = useResolution();\n const { t } = useTranslation('contracts');\n\n const buttonSize = isTablet ? 'lg' : 'sm';\n\n return (\n \n ) => {\n event.preventDefault();\n download();\n }}\n size={buttonSize}\n startIcon={}\n loading={isDownloading}\n {...rest}\n >\n {t('downloadContract')}\n \n \n );\n};\n","'use client';\n\nimport logger from 'logger';\nimport { useEffect, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport SignaturePad from 'signature_pad';\nimport { Box, Button, Color, styled, Typography } from 'ui';\n\nconst SignatureCanvas = styled('canvas')(({ theme }) => ({\n border: `1px solid ${theme.palette.primary.main}`,\n borderRadius: theme.spacing(2),\n height: '160px',\n width: '100%',\n}));\n\nconst BLUE_INK_PEN = '#000F55';\n\nconst SIGNATURE_PAD_CONFIG = {\n maxWidth: 2,\n minWidth: 1,\n penColor: BLUE_INK_PEN,\n};\n\ninterface Props {\n onSign: (base64PngSignature: string) => void;\n isFileLoaded: boolean;\n clearButtonColor?: Color;\n errorMessage?: string;\n}\n\nexport const SignatureCollector = ({ onSign, isFileLoaded, clearButtonColor, errorMessage }: Props) => {\n const { t } = useTranslation('createContractWizard');\n const [isLoading, setIsLoading] = useState(false);\n const [isPadEmpty, setIsPadEmpty] = useState(true);\n const canvasRef = useRef(null);\n const signaturePadRef = useRef();\n\n useEffect(() => {\n if (!canvasRef.current || signaturePadRef.current) {\n return;\n }\n\n const ratio = Math.max(window.devicePixelRatio || 1, 1);\n\n canvasRef.current.width = canvasRef.current.offsetWidth * ratio;\n canvasRef.current.height = canvasRef.current.offsetHeight * ratio;\n canvasRef.current.getContext('2d')?.scale(ratio, ratio);\n\n signaturePadRef.current = new SignaturePad(canvasRef.current, SIGNATURE_PAD_CONFIG);\n\n const updatePadStatus = () => {\n if (signaturePadRef.current) {\n setIsPadEmpty(signaturePadRef.current.isEmpty());\n }\n };\n\n window.addEventListener('pointerup', updatePadStatus);\n window.addEventListener('touchend', updatePadStatus);\n }, [canvasRef, signaturePadRef]);\n\n const onSubmit = () => {\n setIsLoading(true);\n\n if (!signaturePadRef.current) {\n logger.debug('unable to submit signaturePadRef.current is null');\n setIsLoading(false);\n return;\n }\n\n try {\n const pngSignature = signaturePadRef.current.toDataURL();\n onSign(pngSignature);\n } catch (error) {\n logger.error('Error signing the document:', { error });\n setIsLoading(false);\n }\n };\n\n const onClear = () => {\n if (!signaturePadRef.current) {\n logger.debug('unable to clear signaturePadRef.current is null');\n return;\n }\n signaturePadRef.current.clear();\n setIsPadEmpty(true);\n };\n\n return (\n \n \n \n \n \n \n \n {t('sign.handleSign')}\n \n {errorMessage && (\n \n {errorMessage}\n \n )}\n\n \n {t('sign.clear')}\n \n \n \n \n );\n};\n","import { formatDate } from 'dates';\nimport { useTranslation } from 'react-i18next';\nimport { Typography } from 'ui';\n\nexport const SignContractTitle = ({\n contractType,\n contractNumber,\n createdDate,\n}: {\n contractType: string;\n contractNumber: string;\n createdDate?: Date;\n}) => {\n const { t } = useTranslation('contracts');\n\n return (\n <>\n \n {contractType}\n \n\n \n {t('contractNumber', { contractNumber })}\n \n\n \n {t('date', { date: formatDate({ date: createdDate || '' }) })}\n \n \n );\n};\n","import { IconButton, Tooltip as MuiTooltip, Typography } from 'ui';\n\nexport const Tooltip = ({ title, color, icon }: { title: string; color?: string; icon?: React.ReactNode }) => {\n return (\n \n {title}\n \n }\n placement=\"top\"\n >\n \n {icon}\n \n \n );\n};\n","import { ContractDownloadButton } from './ContractDownloadButton';\nimport { ContractStatus } from './ContractStatus';\nimport { SignatureCollector } from './SignatureCollector';\nimport { SignContractTitle } from './SignContractTitle';\nimport { Tooltip } from './Tooltip';\n\nexport { ContractDownloadButton, ContractStatus, SignatureCollector, SignContractTitle, Tooltip };\n","import { PDFDocument } from 'pdf-lib';\n\nexport const signPdf = async (png: string, pdf: ArrayBuffer): Promise => {\n const pdfDoc = await PDFDocument.load(pdf);\n const image = await pdfDoc.embedPng(png);\n\n const pages = pdfDoc.getPages();\n const lastPage = pages[pages.length - 1];\n\n lastPage.drawImage(image, {\n height: 80,\n width: 150,\n x: 350,\n y: 350,\n });\n\n const signedPdf = await pdfDoc.save();\n return signedPdf;\n};\n","import { useQueryClient } from '@tanstack/react-query';\n\nimport { Contract, createDataCacheKeys } from '~/data';\nimport {\n ContractFilter,\n ContractOrderBy,\n useContractApi,\n UsePaginatedQueryResult,\n useSuspensePaginatedQuery,\n} from '~/data/api';\n\nexport const cacheKeys = createDataCacheKeys('contracts');\n\nexport type ContractOptions = {\n orderBy?: ContractOrderBy;\n filterBy?: ContractFilter;\n size?: number;\n};\n\nexport type UseContractsResult = UsePaginatedQueryResult;\n\nexport const useUpdateContractsCache = () => {\n const queryClient = useQueryClient();\n\n const updateContractsCache = async () => {\n await queryClient.refetchQueries({ queryKey: [...cacheKeys.list()] });\n };\n\n return { updateContractsCache };\n};\n\nexport const useContracts = (\n { orderBy, filterBy, size }: ContractOptions = { filterBy: undefined, orderBy: '-start_date' }\n): UseContractsResult => {\n const api = useContractApi();\n\n const { data, isLoading, isError, isSuccess, error, fetchNextPage } = useSuspensePaginatedQuery({\n cacheKey: [...cacheKeys.list({ filterBy, orderBy })],\n fetchAll: (pageParams) =>\n api.getAll({ filter: filterBy, orderBy, page: { page: pageParams.page, size: size || pageParams.size } }),\n });\n\n return {\n data,\n error,\n fetchNextPage,\n isError,\n isLoading,\n isSuccess,\n };\n};\n","import { CreateContractProvider, useCreateContract } from './useCreateContract';\n\nexport type { NavigatorStep } from './types';\n\nexport { CreateContractProvider, useCreateContract };\n","import { NavigatorStep } from './types';\n\nexport const NAVIGATOR_STEPS: NavigatorStep[] = ['preview', 'sign', 'download'];\n","type SetContractNumberAction = {\n payload: {\n contractNumber: string;\n };\n type: 'SET_CONTRACT_NUMBER';\n};\n\nexport const SET_CONTRACT_NUMBER: SetContractNumberAction = {\n payload: {\n contractNumber: '',\n },\n type: 'SET_CONTRACT_NUMBER',\n};\n\ntype SetSignedContractAction = {\n payload: {\n signedContract: Uint8Array;\n };\n type: 'SET_SIGNED_CONTRACT';\n};\n\nexport const SET_SIGNED_CONTRACT: SetSignedContractAction = {\n payload: {\n signedContract: new Uint8Array(),\n },\n type: 'SET_SIGNED_CONTRACT',\n};\n\nexport type Action = SetContractNumberAction | SetSignedContractAction;\n","import { Reducer } from 'react';\n\nimport { Action, SET_CONTRACT_NUMBER, SET_SIGNED_CONTRACT } from './actions';\nimport { CreateContractState } from './types';\n\nexport const stateReducer: Reducer = (prevState, action) => {\n switch (action.type) {\n case SET_SIGNED_CONTRACT.type:\n case SET_CONTRACT_NUMBER.type:\n return {\n ...prevState,\n contractData: {\n ...prevState.contractData,\n ...action.payload,\n },\n };\n default:\n return prevState;\n }\n};\n","import { DocumentData } from 'firebase/firestore';\nimport { Reducer, useReducer } from 'react';\n\nimport { Action, SET_CONTRACT_NUMBER, SET_SIGNED_CONTRACT } from './actions';\nimport { stateReducer } from './stateReducer';\nimport { CreateContractState } from './types';\n\nexport const DEFAULT_STATE: CreateContractState = {\n contractData: {\n contractDownloadUrl: '',\n contractNumber: '',\n signedContract: new Uint8Array(),\n },\n};\n\ninterface UseStateManagerOptions {\n onboardingData?: DocumentData | null;\n}\n\nexport type UseStateManagerReturn = {\n setContractNumber: (contractNumber: string) => void;\n setSignedContract: (signedContract: Uint8Array) => void;\n state: CreateContractState;\n};\n\nexport const useStateManager = ({ onboardingData }: UseStateManagerOptions): UseStateManagerReturn => {\n const onboardingContractData = onboardingData?.contract;\n\n const [state, dispatch] = useReducer>(stateReducer, {\n contractData: {\n ...DEFAULT_STATE.contractData,\n ...onboardingContractData,\n },\n });\n\n const setContractNumber = (contractNumber: string): void => {\n dispatch({ payload: { contractNumber }, type: SET_CONTRACT_NUMBER.type });\n };\n\n const setSignedContract = (signedContract: Uint8Array): void => {\n dispatch({ payload: { signedContract }, type: SET_SIGNED_CONTRACT.type });\n };\n\n return { setContractNumber, setSignedContract, state };\n};\n","'use client';\n\nimport { DocumentData } from 'firebase/firestore';\nimport { createContext, useCallback, useContext, useEffect, useMemo } from 'react';\n\nimport { useStepNavigator } from '~/utils';\n\nimport { NAVIGATOR_STEPS } from './steps';\nimport { NavigatorStep } from './types';\nimport { DEFAULT_STATE, useStateManager, UseStateManagerReturn } from './useStateManager';\n\ntype ContractState = UseStateManagerReturn['state'];\n\ntype StateManagerActions = Omit;\n\ntype StepNavigatorActions = Omit<\n ReturnType>,\n 'getRedirectTo' | 'getHistory' | 'navigateWithRedirect' | 'setRedirectTo'\n>;\n\ntype CreateContractContext = StateManagerActions &\n StepNavigatorActions & {\n contractData: ContractState['contractData'];\n getContractData: () => ContractState['contractData'];\n onCompletion: () => void;\n };\n\nconst CreateContractContext = createContext({\n contractData: DEFAULT_STATE.contractData,\n getContractData: () => DEFAULT_STATE.contractData,\n getCurrentStep: () => NAVIGATOR_STEPS[0],\n goToNextStep: () => {},\n goToPreviousStep: () => {},\n onCompletion: () => {},\n setContractNumber: () => {},\n setCurrentStep: () => {},\n setSignedContract: () => {},\n});\n\ninterface CreateContractProviderProps {\n children: React.ReactNode;\n onCompletion: () => void;\n onUpdate: (data: ContractState['contractData']) => void;\n onboardingData?: DocumentData | null;\n}\n\nexport const CreateContractProvider = ({\n children,\n onCompletion,\n onUpdate,\n onboardingData,\n}: CreateContractProviderProps) => {\n const { state, setContractNumber, setSignedContract } = useStateManager({ onboardingData });\n\n const { getCurrentStep, goToNextStep, goToPreviousStep, setCurrentStep } = useStepNavigator({\n initialStep: NAVIGATOR_STEPS[0],\n steps: NAVIGATOR_STEPS,\n });\n\n const getContractData = useCallback((): ContractState['contractData'] => {\n return state.contractData;\n }, [state.contractData]);\n\n useEffect(() => {\n onUpdate(state.contractData);\n }, [onUpdate, state.contractData]);\n\n const context = useMemo(\n () => ({\n getContractData,\n getCurrentStep,\n goToNextStep,\n goToPreviousStep,\n onCompletion,\n setContractNumber,\n setCurrentStep,\n setSignedContract,\n ...state,\n }),\n [\n getContractData,\n getCurrentStep,\n goToNextStep,\n goToPreviousStep,\n onCompletion,\n setContractNumber,\n setCurrentStep,\n setSignedContract,\n state,\n ]\n );\n\n return {children};\n};\n\nexport const useCreateContract = () => {\n const context = useContext(CreateContractContext);\n\n if (!context) {\n throw new Error('useCreateContract must be used within a CreateContractProvider');\n }\n\n return context;\n};\n","'use client';\n\nimport logger from 'logger';\nimport { useState } from 'react';\n\nimport { useContractApi } from '~/data/api';\n\nexport const useDownloadContract = ({ contractNumber }: { contractNumber: string }) => {\n const { getContractFile } = useContractApi();\n const [isDownloading, setIsDownloading] = useState(false);\n\n const download = async () => {\n setIsDownloading(true);\n\n try {\n const { contractDownloadUrl } = await getContractFile({ contractNumber });\n window.open(contractDownloadUrl, '_blank', 'noopener noreferrer');\n\n setIsDownloading(false);\n } catch {\n logger.debug('Contract file not found');\n setIsDownloading(false);\n }\n };\n\n return { download, isDownloading };\n};\n","import { CreateContractWizard } from './CreateContractWizard';\n\nexport { CreateContractWizard };\n","import { useSuspenseQuery } from '@tanstack/react-query';\nimport { Annex } from '@toki-power/public-api';\n\nimport { BaseHTTPResponse, createDataCacheKeys, ListOptions, Page } from '~/data';\nimport { ResponseError, useAnnexApi } from '~/data/api';\n\nconst getCacheKey = (meteringPointId: string, listOptions: ListOptions = {}) =>\n createDataCacheKeys(`contracts/${meteringPointId}/annexes`).list(listOptions);\n\nexport type UseContractAnnexesResult = BaseHTTPResponse>;\n\ntype ContractAnnexesOptions = {\n contractNumber: string;\n};\n\nexport const useContractAnnexes = ({ contractNumber }: ContractAnnexesOptions): UseContractAnnexesResult => {\n const api = useAnnexApi();\n\n const { data, error, isLoading, isError, isSuccess } = useSuspenseQuery, ResponseError>({\n queryFn: () => api.getContractAnnexes(contractNumber, { page: 1, size: 5 }),\n queryKey: getCacheKey(contractNumber),\n });\n\n return {\n data,\n error,\n isError,\n isLoading,\n isSuccess,\n };\n};\n","import { useSuspenseQuery } from '@tanstack/react-query';\n\nimport { useContractApi } from '~/data/api';\nimport { useDriveFile } from '~/data/appApi';\n\nexport const useContractFile = ({ contractNumber }: { contractNumber: string }) => {\n const { getContractFile } = useContractApi();\n const { getFile } = useDriveFile();\n\n const contractUrl = useSuspenseQuery({\n queryFn: () => getContractFile({ contractNumber }),\n queryKey: ['contractFileUrl', contractNumber],\n });\n\n const contractFile = useSuspenseQuery({\n queryFn: () => getFile({ fileUrl: contractUrl.data.contractDownloadUrl }),\n queryKey: ['contractBlob', contractNumber],\n });\n\n return {\n data: contractFile.data.fileContent,\n error: contractFile.error || contractUrl.error,\n isError: contractFile.isError || contractUrl.isError,\n isLoading: contractFile.isLoading || contractUrl.isLoading,\n isSuccess: contractFile.isSuccess && contractUrl.isSuccess,\n };\n};\n","import { useQueryClient, useSuspenseQuery } from '@tanstack/react-query';\n\nimport { Contract } from '~/data';\nimport { ResponseError } from '~/data/api';\n\nimport { useContractAnnexes } from '../useContractAnnexes/useContractAnnexes';\nimport { useContractFile } from '../useContractFile/useContractFile';\nimport { cacheKeys } from '../useContracts/useContracts';\n\ninterface ContractsData {\n pages: { items: Contract[] }[];\n}\n\nexport const useContract = ({ contractNumber }: { contractNumber: string }) => {\n const queryClient = useQueryClient();\n\n const contract = useSuspenseQuery({\n queryFn: () =>\n queryClient\n .getQueryData(['contracts'])\n ?.pages[0].items.find((c) => c.contractNumber === contractNumber),\n queryKey: cacheKeys.detail(contractNumber),\n });\n\n const contractFile = useContractFile({ contractNumber });\n\n const annexes = useContractAnnexes({ contractNumber });\n\n return {\n data: {\n annexes: {\n items: annexes.data?.items || [],\n total: annexes.data?.total || 0,\n },\n contract: contract.data,\n contractFile: contractFile.data,\n },\n error: contract.error || annexes.error || contractFile.error,\n isError: contract.isError || annexes.isError || contractFile.isError,\n isLoading: contract.isLoading || annexes.isLoading || contractFile.isLoading,\n isSuccess: contract.isSuccess && annexes.isSuccess && contractFile.isSuccess,\n };\n};\n","import { CreateContractWizard } from './components/CreateContractWizard';\nimport { ContractDetails } from './components/detail/ContractDetails';\nimport { ContractDetailsContainer, UserContracts } from './components/list';\nimport { useContract } from './hooks/useContract/useContract';\nimport { useContracts } from './hooks/useContracts/useContracts';\nimport { useCreateContract } from './hooks/useCreateContract';\nimport { CreateContractState } from './hooks/useCreateContract/types';\n\nexport type { CreateContractState };\nexport {\n ContractDetails,\n ContractDetailsContainer,\n CreateContractWizard,\n useContract,\n useContracts,\n useCreateContract,\n UserContracts,\n};\n","import { TFunction } from 'next-i18next';\n\nenum ContractStatusTranslation {\n 'Draft' = 'draft',\n 'For Activation' = 'forActivation',\n 'Active' = 'active',\n 'Terminated' = 'terminated',\n 'Signed' = 'signed',\n 'Rejected by ERP' = 'rejectedByErp',\n 'Generated Contract' = 'generatedContract',\n 'Rejected by Customer' = 'rejectedByCustomer',\n 'Renewed' = 'renewed',\n 'Canceled' = 'canceled',\n 'Waiting for validation' = 'waitingForValidation',\n}\n\nexport const getStatusTranslation = ({ t, status }: { t: TFunction; status: string }) => {\n const translationKey = ContractStatusTranslation[status as keyof typeof ContractStatusTranslation];\n\n return t(`status.${translationKey}`);\n};\n","import { getStatusTranslation } from './getStatusTranslation';\n\nexport { getStatusTranslation };\n","import { getStatusTranslation } from './getStatusTranslation';\n\nexport { getStatusTranslation };\n"],"names":["autoDownloadFile","buffer","fileName","blob","Blob","type","link","URL","createObjectURL","anchorElement","document","createElement","href","setAttribute","body","appendChild","click","remove","window","open","useDriveFile","fileContent","setFileContent","useState","loading","setLoading","getToken","useAuthUser","useEffect","fetchFile","token","logger","error","response","fetch","headers","Authorization","method","ok","ShowPdfFile","dynamic","Promise","all","__webpack_require__","e","then","bind","ssr","STEPS","download","t","useTranslation","onCompletion","contractData","useCreateContract","contractNumber","signedContract","jsx_runtime","jsxs","Box","flex","display","flexDirection","justifyContent","jsx","mb","StepTitle","Trans","i18nKey","values","components","Typography","fontWeight","component","my","gap","Button","size","fullWidth","onClick","data-testid","color","trackTagManagerEvent","OnboardingEvents","contractDownload","concat","preview","goToNextStep","showModal","setShowModal","isLargeTablet","isTablet","useResolution","contractFile","handleClose","height","alignItems","IconButton","sx","padding","FullscreenOutlined","fontSize","Dialog","onClose","maxWidth","DialogContent","file","loadingText","DialogActions","overflowX","overflowY","scale","mt","contractPreview","sign","setSignedContract","getContractData","fileLoading","uploadContract","useContractApi","onSign","base64PngSignature","contractSign","arrayBuffer","signedPdf","signPdf","uploadFile","Buffer","from","toString","SignatureCollector","isFileLoaded","Wizard","getCurrentStep","goToPreviousStep","currentStep","CurrentStep","showBackButton","WizardLayout","leftChild","ProcessDetails","title","subtitle","onBackClick","rightChild","header","MobilePageHeader","CreateContractWizard","onUpdate","onboardingData","param","CreateContractProvider","helpers_getContractPath","contract","ContractDownloadIconButton","isDownloading","useDownloadContract","event","preventDefault","disabled","Loader","Download","ContractCard","memo","startDate","createdDate","status","contractType","customerName","pointAgreementsAmount","push","useRouter","statusText","getStatusTranslation","statusColor","showSignButton","LinkContainer","getContractPath","UiContractCard","downloadIcon","details","meteringPointsCount","variant","stopPropagation","date","formatDate","ContractStatus","AnnexCard","annex","annexDate","annexNumber","activeFrom","ContractAnnexes","list","isDesktop","cardsList","map","CardListContainer","elements","MobileSwiper","ContractDetails","data","annexes","useContract","Fragment","DetailsPageTitle","leftButtons","GoBackButton","rightButtons","ContractDownloadButton","Stack","spacing","ContractDetailedData","PageSection","direction","lineHeight","total","items","debug","ContractCardList","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","buildData","icon","Tag","Description","Event","endDate","Assignment","key","__webpack_exports__","listData","content","ListItemGroup","label","TabPanel","tabs","CardMobileSwiper","params","useParams","id","addWarning","Warnings","INVALID_QUERY_PARAM","page","query","p","ContractList","layout","useLayoutStore","ContractTable","NoResultsMessage","ActiveFromCell","row","CELL_RENDER_MAP","customer","tableColumns","useMemo","accessor","value","virtualColumn","DataTable","columns","uid","renderCell","Cell","selectedCustomerIds","selectedCustomersIds","useSelectedCustomerIds","ListPageTitle","desktopActions","CustomerPicker","mr","LayoutSwitcher","ScrollableViewWithData","useDataHook","useContracts","hookOptions","filterBy","customerIdIn","join","ListComponent","SignedContractStatus","Tooltip","Error","UnsignedContractStatus","signingDueDate","Date","getFullYear","getMonth","getDate","remainingDays","getDifference","dateA","dateB","unit","STATUSES","Active","Draft","ContractStatusText","rest","startIcon","SignatureCanvas","styled","theme","border","palette","primary","main","borderRadius","width","SIGNATURE_PAD_CONFIG","minWidth","penColor","clearButtonColor","errorMessage","isLoading","setIsLoading","isPadEmpty","setIsPadEmpty","canvasRef","useRef","signaturePadRef","current","ratio","Math","max","devicePixelRatio","offsetWidth","offsetHeight","getContext","SignaturePad","updatePadStatus","isEmpty","addEventListener","ref","pngSignature","toDataURL","clear","SignContractTitle","MuiTooltip","PopperProps","popperOptions","modifiers","name","options","offset","placement","png","pdf","pdfDoc","PDFDocument","load","image","embedPng","pages","getPages","lastPage","length","drawImage","x","y","save","cacheKeys","createDataCacheKeys","useUpdateContractsCache","queryClient","useQueryClient","updateContractsCache","refetchQueries","queryKey","orderBy","arguments","undefined","api","isError","isSuccess","fetchNextPage","useSuspensePaginatedQuery","cacheKey","fetchAll","getAll","filter","pageParams","NAVIGATOR_STEPS","SET_CONTRACT_NUMBER","SET_SIGNED_CONTRACT","payload","Uint8Array","stateReducer","prevState","action","DEFAULT_STATE","contractDownloadUrl","useStateManager","onboardingContractData","state","dispatch","useReducer","setContractNumber","CreateContractContext","createContext","setCurrentStep","children","useStepNavigator","initialStep","steps","useCallback","context","Provider","useContext","getContractFile","setIsDownloading","getCacheKey","meteringPointId","listOptions","useContractAnnexes","useAnnexApi","useSuspenseQuery","queryFn","getContractAnnexes","useContractFile","getFile","contractUrl","fileUrl","getQueryData","find","c","detail","ContractStatusTranslation","translationKey"],"sourceRoot":""}