{"version":3,"file":"static/chunks/8586-99678ed74fa0f660.js","mappings":"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","sources":["webpack://_N_E/ignored|/codebuild/output/src2373606295/src/apps/node_modules/pdfjs-dist/build|canvas","webpack://_N_E/ignored|/codebuild/output/src2373606295/src/apps/node_modules/pdfjs-dist/build|fs","webpack://_N_E/ignored|/codebuild/output/src2373606295/src/apps/node_modules/pdfjs-dist/build|http","webpack://_N_E/ignored|/codebuild/output/src2373606295/src/apps/node_modules/pdfjs-dist/build|https","webpack://_N_E/ignored|/codebuild/output/src2373606295/src/apps/node_modules/pdfjs-dist/build|zlib","webpack://_N_E/./modules/i18n/I18nProvider.tsx","webpack://_N_E/./modules/i18n/config.js","webpack://_N_E/./modules/i18n/i18n.js","webpack://_N_E/./modules/protocol/components/list/index.ts","webpack://_N_E/./modules/protocol/hooks/useGenerateInvoice/index.ts","webpack://_N_E/./modules/protocol/index.ts","webpack://_N_E/./modules/protocol/hooks/useProtocol/useProtocol.ts","webpack://_N_E/./modules/protocol/components/shared/ShowPdfFile.tsx","webpack://_N_E/./modules/protocol/components/shared/CloudStorageFilePreview.tsx","webpack://_N_E/./modules/protocol/components/shared/InvoiceFilePreview.tsx","webpack://_N_E/./modules/protocol/components/shared/InvoiceGeneratorLayout.tsx","webpack://_N_E/./modules/protocol/components/shared/InvoiceGeneratorTitle.tsx","webpack://_N_E/./modules/protocol/components/shared/index.ts","webpack://_N_E/./modules/protocol/components/list/FilePreviewTabs.tsx","webpack://_N_E/./modules/protocol/components/list/DocumentsPreview.tsx","webpack://_N_E/./modules/protocol/components/list/InvoiceGenerator.tsx","webpack://_N_E/./modules/protocol/components/list/InvoicePreview.tsx","webpack://_N_E/./modules/protocol/components/list/InvoiceGeneratorContainer.tsx","webpack://_N_E/./modules/protocol/components/detail/ProtocolCard.tsx","webpack://_N_E/./modules/protocol/components/detail/index.ts","webpack://_N_E/./modules/protocol/components/list/ProtocolCardList.tsx","webpack://_N_E/./modules/protocol/components/list/ProtocolTable.tsx","webpack://_N_E/./modules/protocol/components/list/ProtocolList.tsx","webpack://_N_E/./modules/protocol/components/list/UserProtocols.tsx","webpack://_N_E/./modules/protocol/components/shared/DownloadButton.tsx","webpack://_N_E/./modules/protocol/hooks/useGenerateInvoice/actions.ts","webpack://_N_E/./modules/protocol/hooks/useGenerateInvoice/stateReducer.ts","webpack://_N_E/./modules/protocol/hooks/useGenerateInvoice/useStateManager.ts","webpack://_N_E/./modules/protocol/hooks/useGenerateInvoice/useGenerateInvoice.tsx","webpack://_N_E/./modules/protocol/hooks/useProtocols/useProtocols.ts","webpack://_N_E/../../node_modules/@mui/icons-material/esm/FullscreenOutlined.js"],"sourcesContent":["/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","'use client';\n\nimport { I18nextProvider } from 'react-i18next';\n\nimport i18n from './i18n';\n\nconst I18nProvider = ({ children }: { children: React.ReactNode }) => (\n {children}\n);\n\nexport default I18nProvider;\n","export const i18nConfig = {\n defaultNS: 'common',\n fallbackLng: 'bg',\n interpolation: {\n escapeValue: false,\n },\n lng: 'bg',\n ns: [\n 'common',\n 'home',\n 'validation',\n 'auth',\n 'userImpersonation',\n 'customers',\n 'meteringPoints',\n 'invoices',\n 'brand',\n 'register',\n 'createContractWizard',\n 'createCustomerWizard',\n 'createMeteringPointWizard',\n 'protocols',\n ],\n};\n","'use client';\n\nimport i18n from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport Backend from 'i18next-http-backend';\nimport { initReactI18next } from 'react-i18next';\n\nimport { i18nConfig } from './config';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst path = require('path');\n\nif (!i18n.isInitialized) {\n i18n\n .use(Backend)\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n backend: {\n // Path to load translation files\n loadPath: path.resolve('/locales/{{lng}}/{{ns}}.json'),\n },\n ...i18nConfig,\n });\n}\n\nexport default i18n;\n","import { InvoiceGeneratorContainer } from './InvoiceGeneratorContainer';\nimport UserProtocols from './UserProtocols';\n\nexport { InvoiceGeneratorContainer, UserProtocols };\n","import { GenerateInvoiceProvider, useGenerateInvoice } from './useGenerateInvoice';\n\nexport { GenerateInvoiceProvider, useGenerateInvoice };\n","import { UserProtocols } from './components/list';\nimport { GenerateInvoiceProvider, useGenerateInvoice } from './hooks/useGenerateInvoice';\n\nexport { GenerateInvoiceProvider, useGenerateInvoice, UserProtocols };\n","import { QueryObserverResult, useSuspenseQuery } from '@tanstack/react-query';\n\nimport { BaseHTTPResponse, createDataCacheKeys, Protocol } from '~/data';\nimport { ResponseError, useProtocolApi } from '~/data/api';\n\nconst cacheKeys = createDataCacheKeys('protocols');\n\ntype UseProtocolResult = BaseHTTPResponse & {\n refetch: () => Promise>;\n};\n\ntype ProtocolOptions = {\n protocolId: string;\n};\n\nexport const useProtocol = ({ protocolId }: ProtocolOptions): UseProtocolResult => {\n const api = useProtocolApi();\n\n const { data, error, isLoading, isError, isSuccess, refetch } = useSuspenseQuery({\n queryFn: () => api.get(protocolId),\n queryKey: cacheKeys.detail(protocolId),\n });\n\n return {\n data,\n error,\n isError,\n isLoading,\n isSuccess,\n refetch,\n };\n};\n","'use client';\n\nimport { useState } from 'react';\nimport { Document, Page, pdfjs } from 'react-pdf';\nimport { Box } from 'ui';\n\npdfjs.GlobalWorkerOptions.workerSrc = new URL('pdfjs-dist/build/pdf.worker.min.js', import.meta.url).toString();\n\nconst ShowPdfFile = ({\n file,\n scale,\n loadingText,\n}: {\n file: ArrayBuffer | Blob | string;\n scale?: number;\n loadingText?: string;\n}) => {\n const [pages, setNumPages] = useState(0);\n\n const onDocumentLoadSuccess = ({ numPages }: { numPages: number }) => {\n setNumPages(numPages);\n };\n return (\n \n {Array.from(new Array(pages), (_, index) => (\n \n \n \n ))}\n \n );\n};\n\nexport default ShowPdfFile;\n","import { useEffect, 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 { useCloudStorageFile } from '~/data/appApi';\n\nimport { DownloadButton } from './DownloadButton';\nimport ShowPdfFile from './ShowPdfFile';\n\nexport const CloudStorageFilePreview = ({ fileUrl, download = true }: { fileUrl: string; download?: boolean }) => {\n const { t } = useTranslation('protocols');\n const { isTablet, isLargeTablet } = useResolution();\n\n const [showModal, setShowModal] = useState(false);\n const [file, setFile] = useState(new Blob());\n const [loading, setLoading] = useState(true);\n\n const handleOpen = () => setShowModal(true);\n const handleClose = () => setShowModal(false);\n\n const { getFile } = useCloudStorageFile();\n\n useEffect(() => {\n const fetchFile = async () => {\n const { fileContent } = await getFile({\n fileUrl,\n });\n\n setFile(fileContent);\n setLoading(false);\n };\n\n fetchFile();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n {isLargeTablet && (\n \n \n \n )}\n \n\n \n \n {loading ? (\n {t('fileLoading')}\n ) : (\n \n )}\n \n\n \n \n \n \n\n \n {loading ? (\n {t('fileLoading')}\n ) : (\n \n )}\n \n\n {download && (\n \n \n {t('downloadFile')}\n \n \n )}\n \n );\n};\n","import { 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 ShowPdfFile from './ShowPdfFile';\n\nexport const InvoiceFilePreview = ({\n invoiceFile,\n showAlert = false,\n}: {\n invoiceFile: string;\n showAlert?: boolean;\n}) => {\n const { t } = useTranslation('protocols');\n const { isTablet, isLargeTablet } = useResolution();\n\n const [showModal, setShowModal] = useState(false);\n\n const handleOpen = () => setShowModal(true);\n const handleClose = () => setShowModal(false);\n\n const decodedFile = Buffer.from(invoiceFile, 'base64');\n const invoiceFileBlob = new Blob([decodedFile], { type: 'application/pdf' });\n const invoiceFileUrl = URL.createObjectURL(invoiceFileBlob);\n\n return (\n <>\n {showAlert && (\n \n \n {t('invoiceAlert')}\n \n \n )}\n\n \n {isLargeTablet && (\n \n \n \n )}\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n );\n};\n","import { useTranslation } from 'react-i18next';\nimport { Grid, ListPageTitle, Paper, useResolution } from 'ui';\nimport CardGradient from 'ui/components/CardGradient';\n\ninterface Props {\n leftChild: React.ReactNode;\n rightChild: React.ReactNode;\n customerName?: string;\n}\n\nexport const InvoiceGeneratorLayout = ({ leftChild, rightChild, customerName }: Props) => {\n const { t } = useTranslation('protocols');\n const { isDesktop } = useResolution();\n\n return (\n <>\n \n \n \n \n \n {leftChild}\n \n\n \n {rightChild}\n \n \n \n \n );\n};\n","import { useTranslation } from 'react-i18next';\nimport { Box, CurrencyFormat, Typography } from 'ui';\n\nexport const InvoiceGeneratorTitle = ({\n date,\n amount,\n meteringPointCount,\n}: {\n date: string;\n amount: number;\n meteringPointCount: number;\n}) => {\n const { t } = useTranslation('protocols');\n\n return (\n \n \n \n {date}\n \n\n \n \n\n \n {t('protocols:meteringPoints', { meteringPointCount })}\n \n \n );\n};\n","import { DownloadButton } from 'ui';\n\nimport { CloudStorageFilePreview } from './CloudStorageFilePreview';\nimport { InvoiceFilePreview } from './InvoiceFilePreview';\nimport { InvoiceGeneratorLayout } from './InvoiceGeneratorLayout';\nimport { InvoiceGeneratorTitle } from './InvoiceGeneratorTitle';\nimport ShowPdfFile from './ShowPdfFile';\n\nexport {\n CloudStorageFilePreview,\n DownloadButton,\n InvoiceFilePreview,\n InvoiceGeneratorLayout,\n InvoiceGeneratorTitle,\n ShowPdfFile,\n};\n","import { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Box, Tab, Tabs } from 'ui';\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: number;\n value: number;\n}\n\nconst TabPanel = (props: TabPanelProps) => {\n const { children, value, index } = props;\n\n return (\n value === index && (\n \n )\n );\n};\n\ninterface FilePreviewTabsProps {\n tabs: { label: string; content: React.ReactNode }[];\n}\n\nexport const FilePreviewTabs = ({ tabs }: { tabs: FilePreviewTabsProps['tabs'] }) => {\n const { t } = useTranslation('protocols');\n const [value, setValue] = useState(0);\n\n const handleChange = (_event: React.SyntheticEvent, newValue: number) => {\n setValue(newValue);\n };\n\n return (\n \n \n {tabs.map((tab, index) => (\n \n ))}\n \n {tabs.map((tab, index) => (\n \n {tab.content}\n \n ))}\n \n );\n};\n","import { toMonthNameAndYearString } from 'dates';\nimport { useTranslation } from 'react-i18next';\nimport { Box, Typography, useResolution } from 'ui';\n\nimport { useGenerateInvoice } from '~/protocol';\nimport { useProtocol } from '~/protocol/hooks/useProtocol/useProtocol';\n\nimport { CloudStorageFilePreview, InvoiceFilePreview, InvoiceGeneratorLayout, InvoiceGeneratorTitle } from '../shared';\nimport { DownloadButton } from '../shared/DownloadButton';\nimport { FilePreviewTabs } from './FilePreviewTabs';\n\nexport const DocumentsPreview = ({ id }: { id: string }) => {\n const { t } = useTranslation('protocols');\n\n const { isDesktop } = useResolution();\n\n const {\n invoiceData: { invoiceNumber, customerName, invoiceFile },\n } = useGenerateInvoice();\n\n const { data } = useProtocol({ protocolId: id });\n\n const protocolDate = data?.date && toMonthNameAndYearString({ date: data.date });\n\n return (\n ,\n label: 'invoice',\n },\n {\n content: ,\n label: 'protocol',\n },\n ]}\n />\n }\n rightChild={\n \n \n\n \n \n \n {t('labels.invoiceNumber')}\n \n {invoiceNumber}\n \n\n \n \n {t('labels.name')}\n \n {customerName}\n \n\n \n \n {t('downloadInvoice')}\n \n\n \n {t('downloadProtocol')}\n \n\n {data?.hourlyReportFile && (\n \n {t('downloadHourlyReport')}\n \n )}\n \n \n \n }\n />\n );\n};\n","'use client';\n\nimport { toMonthNameAndYearString } from 'dates';\nimport { FormProvider, SubmitHandler, TextInput, useForm, yupResolver } from 'forms';\nimport logger from 'logger';\nimport { useRouter } from 'next/navigation';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Box, Button, Form, Typography, useResolution } from 'ui';\nimport { object, string } from 'yup';\n\nimport { useProtocolApi } from '~/data/api';\nimport { useGenerateInvoice } from '~/protocol';\nimport { useProtocol } from '~/protocol/hooks/useProtocol/useProtocol';\n\nimport { InvoiceGeneratorLayout, InvoiceGeneratorTitle } from '../shared';\nimport { CloudStorageFilePreview } from '../shared/CloudStorageFilePreview';\nimport { DownloadButton } from '../shared/DownloadButton';\n\ninterface FormValues {\n invoiceNumber: string;\n customerName: string;\n}\n\nexport const InvoiceGenerator = ({ id, onComplete }: { id: string; onComplete: () => void }) => {\n const { t } = useTranslation('protocols');\n const { back } = useRouter();\n\n const { isDesktop } = useResolution();\n\n const [loading, setLoading] = useState(false);\n const [errorMessage, setErrorMessage] = useState(false);\n\n const {\n setInvoiceData,\n invoiceData: { invoiceNumber, customerName, protocolId },\n } = useGenerateInvoice();\n\n const { data } = useProtocol({ protocolId: id });\n const { getInvoicePreviewFile } = useProtocolApi();\n\n const protocolDate = data?.date && toMonthNameAndYearString({ date: data.date });\n\n const resolver = yupResolver(\n object({\n customerName: string().required(t('validation:required')),\n invoiceNumber: string()\n .matches(/^\\d+$/, t('validation:onlyDigits'))\n .max(10, t('validation:maxInvoiceNumberLength'))\n .transform((value) => value.padStart(10, '0'))\n .required(t('validation:required')),\n })\n );\n\n const { handleSubmit, watch, formState, getValues, ...rest } = useForm({\n defaultValues: id === protocolId ? { customerName, invoiceNumber } : { customerName: '', invoiceNumber: '' },\n resolver,\n mode: 'onChange',\n });\n\n const onSubmit: SubmitHandler = async (values: FormValues) => {\n try {\n setLoading(true);\n const invoiceFile = await getInvoicePreviewFile({\n data: { invoiceNumber: values.invoiceNumber, issuedBy: values.customerName },\n protocolId: id,\n });\n\n setLoading(false);\n\n setInvoiceData({\n invoiceNumber: values.invoiceNumber,\n customerName: values.customerName,\n invoiceFile,\n protocolId: data?.protocolId || '',\n });\n\n onComplete();\n } catch (error) {\n logger.error('Error generating invoice file:', { error });\n setErrorMessage(true);\n setLoading(false);\n }\n };\n\n return (\n }\n rightChild={\n \n \n\n \n \n
\n \n \n \n\n \n \n\n \n \n {t('confirm')}\n \n\n {errorMessage && (\n \n {t('errorMessage')}\n \n )}\n\n \n {t('cancel')}\n \n\n {data?.hourlyReportFile && (\n \n {t('downloadHourlyReport')}\n \n )}\n \n \n
\n
\n
\n
\n }\n />\n );\n};\n","import { toMonthNameAndYearString } from 'dates';\nimport logger from 'logger';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Box, Button, Typography, useResolution } from 'ui';\n\nimport { useProtocolApi } from '~/data/api';\nimport { useGenerateInvoice } from '~/protocol/hooks/useGenerateInvoice';\nimport { useProtocol } from '~/protocol/hooks/useProtocol/useProtocol';\nimport { useUpdateProtocolsCache } from '~/protocol/hooks/useProtocols/useProtocols';\n\nimport { InvoiceFilePreview, InvoiceGeneratorLayout, InvoiceGeneratorTitle } from '../shared';\n\nexport const InvoicePreview = ({\n id,\n onEdit,\n onComplete,\n}: {\n id: string;\n onEdit: () => void;\n onComplete: () => void;\n}) => {\n const { t } = useTranslation('protocols');\n\n const { isDesktop } = useResolution();\n\n const {\n invoiceData: { invoiceNumber, customerName, invoiceFile },\n } = useGenerateInvoice();\n\n const { data, refetch } = useProtocol({ protocolId: id });\n const { saveInvoiceFile } = useProtocolApi();\n const { updateProtocolsCache } = useUpdateProtocolsCache();\n\n const [errorMessage, setErrorMessage] = useState(false);\n const [loading, setLoading] = useState(false);\n\n const protocolDate = data?.date && toMonthNameAndYearString({ date: data.date });\n\n const onSubmit = async () => {\n try {\n setLoading(true);\n await saveInvoiceFile({ invoiceFile, protocolId: id, protocolNumber: invoiceNumber });\n await refetch();\n await updateProtocolsCache();\n\n onComplete();\n setLoading(false);\n } catch (error) {\n logger.error('Error saving invoice file:', { error });\n setErrorMessage(true);\n setLoading(false);\n }\n };\n\n return (\n }\n rightChild={\n \n \n\n \n \n \n {t('labels.invoiceNumber')}\n \n {invoiceNumber}\n \n\n \n \n {t('labels.name')}\n \n {customerName}\n \n\n \n \n {t('send')}\n \n\n {errorMessage && (\n \n {t('errorMessage')}\n \n )}\n\n \n {t('edit')}\n \n \n \n \n }\n />\n );\n};\n","'use client';\n\nimport { useParams } from 'next/navigation';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { addWarning, Warnings } from 'rum';\n\nimport { useGenerateInvoice } from '~/protocol';\n\nimport { DocumentsPreview } from './DocumentsPreview';\nimport { InvoiceGenerator } from './InvoiceGenerator';\nimport { InvoicePreview } from './InvoicePreview';\n\ntype InvoiceGeneratorSteps = 'invoice_generator' | 'invoice_preview' | 'preview';\n\ninterface StepProps {\n id: string;\n setCurrentStep: (step: InvoiceGeneratorSteps) => void;\n}\n\nconst STEPS = {\n invoice_generator: ({ id, setCurrentStep }: StepProps) => (\n {\n setCurrentStep('invoice_preview');\n }}\n id={id}\n />\n ),\n invoice_preview: ({ id, setCurrentStep }: StepProps) => (\n setCurrentStep('invoice_generator')}\n onComplete={() => setCurrentStep('preview')}\n id={id}\n />\n ),\n preview: ({ id }: StepProps) => ,\n};\n\nexport const InvoiceGeneratorContainer = () => {\n const { t } = useTranslation('common');\n const params = useParams();\n const id = params && params.id;\n\n const {\n invoiceData: { invoiceFile, protocolId },\n } = useGenerateInvoice();\n\n const [currentStep, setCurrentStep] = useState(\n invoiceFile && id === protocolId ? 'invoice_preview' : 'invoice_generator'\n );\n\n if (typeof id !== 'string') {\n addWarning(Warnings.INVALID_QUERY_PARAM, { page: `protocols/${id}/generate-invoice`, query: id });\n\n return

{t('protocols:protocol.notFound')}

;\n }\n\n const StepComponent = STEPS[currentStep];\n const stepProps = {\n id,\n setCurrentStep,\n };\n\n return ;\n};\n","'use client';\n\nimport { toMonthNameAndYearString } from 'dates';\nimport { useRouter } from 'next/navigation';\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button, ProtocolCard as UiProtocolCard, useResolution } from 'ui';\n\nimport { Protocol } from '~/data/types';\n\nimport { DownloadButton } from '../shared/DownloadButton';\n\nexport const ProtocolCard = memo(({ protocol }: { protocol: Protocol }) => {\n const { t } = useTranslation('protocols');\n const { push } = useRouter();\n\n const { isTablet } = useResolution();\n\n const {\n protocolId,\n protocolNumber,\n customer,\n date,\n meteringPointCount,\n amount,\n invoiceFile,\n protocolFile,\n hourlyReportFile,\n } = protocol;\n\n const downloadButtons = [\n protocolFile && (\n \n {t('protocol')}\n \n ),\n invoiceFile && protocolNumber && (\n \n {t('invoice')}\n \n ),\n hourlyReportFile && (\n \n {t('hourlyReport')}\n \n ),\n ].filter(Boolean);\n\n return (\n push(`/protocols/${protocolId}/generate-invoice`)} size={isTablet ? 'sm' : 'xs'}>\n {t('generateInvoice')}\n \n )\n }\n data-testid=\"protocol-card\"\n amount={amount}\n details={[\n t('protocols:meteringPoints', {\n meteringPointCount,\n }),\n ]}\n downloadButtons={downloadButtons}\n customerName={customer.name}\n />\n );\n});\n","import { ProtocolCard } from './ProtocolCard';\n\nexport { ProtocolCard };\n","import { CardListContainer } from 'ui';\n\nimport { Protocol } from '~/data/types';\n\nimport { ProtocolCard } from '../detail';\n\nexport const ProtocolCardList = ({ list }: { list: Protocol[] }) => {\n return (\n {\n return ;\n })}\n />\n );\n};\n","import { toMonthNameAndYearString } from 'dates';\nimport { TFunction } from 'i18next';\nimport { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button, DataTable, DataTableColumns, Typography } from 'ui';\n\nimport { Protocol } from '~/data';\n\nimport { DownloadButton } from '../shared/DownloadButton';\n\nconst DownloadFileButton = ({ file, label, disabled }: { file: string | null; label: string; disabled?: boolean }) => {\n const { t } = useTranslation('protocols');\n\n return (\n \n {t(`${label}`)}\n \n );\n};\n\nconst GenerateInvoiceButton = ({ row }: { row: Protocol }) => {\n const { t } = useTranslation('protocols');\n\n return row.invoiceFile ? (\n {row.protocolNumber}\n ) : (\n \n );\n};\n\nexport const buildTableColumns = (t: TFunction): DataTableColumns[] => [\n {\n accessor: 'customer',\n header: t('table.customerName'),\n value: ({ row }) => {row.customer.name},\n },\n {\n accessor: 'protocolNumber',\n header: t('table.protocolNumber'),\n value: GenerateInvoiceButton,\n },\n {\n accessor: 'date',\n header: t('table.date'),\n value: ({ row }) => (\n {toMonthNameAndYearString({ date: row.date })}\n ),\n },\n { accessor: 'meteringPointCount', header: t('table.meteringPointCount') },\n {\n accessor: 'amount',\n header: t('table.amount'),\n value: ({ row }) => (\n \n {t('amount', { amount: row.amount })}\n \n ),\n },\n {\n accessor: 'invoiceFile',\n header: t('table.invoiceFile'),\n value: ({ row }) => ,\n },\n {\n accessor: 'protocolFile',\n header: t('table.protocolFile'),\n value: ({ row }) => ,\n },\n {\n accessor: 'hourlyReportFile',\n header: t('table.hourlyReportFile'),\n value: ({ row }) => ,\n },\n];\n\nexport const ProtocolTable = ({ list }: { list: Protocol[] }) => {\n const { t } = useTranslation('protocols');\n\n const tableColumns = useMemo(() => buildTableColumns(t), [t]);\n\n return columns={tableColumns} uid=\"protocolNumber\" data-testid=\"protocol-table\" data={list} />;\n};\n","import { Protocol } from '~/data/types';\nimport { useLayoutStore } from '~/store';\nimport { NoResultsMessage } from '~/ui';\n\nimport { ProtocolCardList } from './ProtocolCardList';\nimport { ProtocolTable } from './ProtocolTable';\n\nexport const ProtocolList = ({ list }: { list: Protocol[] }) => {\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 { useTranslation } from 'react-i18next';\nimport { ListPageTitle } from 'ui';\n\nimport { CustomerPicker } from '~/customer';\nimport { LayoutSwitcher, ScrollableViewWithData } from '~/ui';\n\nimport { useProtocols } from '../../hooks/useProtocols/useProtocols';\nimport { ProtocolList } from './ProtocolList';\n\nconst UserProtocols = () => {\n const { t } = useTranslation();\n\n return (\n <>\n \n \n \n \n }\n />\n\n \n \n );\n};\n\nexport default UserProtocols;\n","'use client';\n\nimport { Button, CustomButtonProps, useResolution } from 'ui';\n\ninterface Props extends CustomButtonProps {\n downloadUrl: string;\n}\n\nexport const DownloadButton = ({ downloadUrl, children, color, onClick, ...rest }: Props) => {\n const { isTablet } = useResolution();\n\n return (\n {\n event.preventDefault();\n window.open(downloadUrl, '_blank', 'noopener noreferrer');\n onClick?.(event);\n }}\n size={isTablet ? 'sm' : 'xs'}\n color={color || 'gradientBorder'}\n {...rest}\n >\n {children}\n \n );\n};\n","import { GenerateInvoiceState } from './types';\n\ntype SetInvoiceData = {\n payload: {\n invoiceData: GenerateInvoiceState['invoiceData'];\n };\n type: 'SET_INVOICE_DATA';\n};\n\nexport const SET_INVOICE_DATA: SetInvoiceData = {\n payload: {\n invoiceData: {\n invoiceNumber: '',\n customerName: '',\n invoiceFile: '',\n protocolId: '',\n },\n },\n type: 'SET_INVOICE_DATA',\n};\n\nexport type Action = SetInvoiceData;\n","import { Reducer } from 'react';\n\nimport { Action, SET_INVOICE_DATA } from './actions';\nimport { GenerateInvoiceState } from './types';\n\nexport const stateReducer: Reducer = (prevState, action) => {\n switch (action.type) {\n case SET_INVOICE_DATA.type:\n return {\n ...prevState,\n ...action.payload,\n };\n default:\n return prevState;\n }\n};\n","import { Reducer, useReducer } from 'react';\n\nimport { Action, SET_INVOICE_DATA } from './actions';\nimport { stateReducer } from './stateReducer';\nimport { GenerateInvoiceState } from './types';\n\nexport const DEFAULT_STATE: GenerateInvoiceState = {\n invoiceData: { customerName: '', invoiceFile: '', invoiceNumber: '', protocolId: '' },\n};\n\nexport type UseStateManagerReturn = {\n setInvoiceData: (invoiceData: GenerateInvoiceState['invoiceData']) => void;\n state: GenerateInvoiceState;\n};\n\nexport const useStateManager = (): UseStateManagerReturn => {\n const [state, dispatch] = useReducer>(stateReducer, DEFAULT_STATE);\n\n const setInvoiceData = (invoiceData: GenerateInvoiceState['invoiceData']): void => {\n dispatch({ payload: { invoiceData }, type: SET_INVOICE_DATA.type });\n };\n\n return { setInvoiceData, state };\n};\n","'use client';\n\nimport { createContext, useContext, useMemo } from 'react';\n\nimport { DEFAULT_STATE, useStateManager, UseStateManagerReturn } from './useStateManager';\n\ntype InvoiceState = UseStateManagerReturn['state'];\n\ntype StateManagerActions = Omit;\n\ntype GenerateInvoiceContext = StateManagerActions & {\n invoiceData: InvoiceState['invoiceData'];\n};\n\nconst GenerateInvoiceContext = createContext({\n invoiceData: DEFAULT_STATE.invoiceData,\n setInvoiceData: () => {},\n});\n\ninterface GenerateInvoiceProviderProps {\n children: React.ReactNode;\n}\n\nexport const GenerateInvoiceProvider = ({ children }: GenerateInvoiceProviderProps) => {\n const { state, setInvoiceData } = useStateManager();\n\n const context = useMemo(() => {\n return {\n setInvoiceData,\n ...state,\n };\n }, [setInvoiceData, state]);\n\n return {children};\n};\n\nexport const useGenerateInvoice = () => {\n const context = useContext(GenerateInvoiceContext);\n\n if (!context) {\n throw new Error('useGenerateInvoice must be used within a GenerateInvoiceProvider');\n }\n\n return context;\n};\n","import { useQueryClient } from '@tanstack/react-query';\n\nimport { createDataCacheKeys } from '~/data';\nimport { UsePaginatedQueryResult, useProtocolApi, useSuspensePaginatedQuery } from '~/data/api';\nimport { Protocol } from '~/data/types';\n\nconst cacheKeys = createDataCacheKeys('protocols');\n\nexport type ProtocolsOptions = {\n size?: number;\n};\n\nexport type UseProtocolsResult = UsePaginatedQueryResult;\n\nexport const useUpdateProtocolsCache = () => {\n const queryClient = useQueryClient();\n\n const updateProtocolsCache = async () => {\n await queryClient.refetchQueries({ queryKey: [...cacheKeys.list()] });\n };\n\n return { updateProtocolsCache };\n};\n\nexport const useProtocols = ({ size }: ProtocolsOptions): UseProtocolsResult => {\n const api = useProtocolApi();\n\n const { data, isLoading, isError, isSuccess, error, fetchNextPage } = useSuspensePaginatedQuery({\n cacheKey: [...cacheKeys.list()],\n fetchAll: (pageParams) => api.getAll({ 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","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M7 14H5v5h5v-2H7zm-2-4h2V7h3V5H5zm12 7h-3v2h5v-5h-2zM14 5v2h3v3h2V5z\"\n}), 'FullscreenOutlined');"],"names":["__webpack_exports__","children","param","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","I18nextProvider","i18n","path","require","isInitialized","Backend","use","LanguageDetector","initReactI18next","init","backend","loadPath","resolve","defaultNS","fallbackLng","interpolation","escapeValue","lng","ns","cacheKeys","createDataCacheKeys","useProtocol","protocolId","api","useProtocolApi","data","error","isLoading","isError","isSuccess","refetch","useSuspenseQuery","queryFn","get","queryKey","detail","pdfjs","GlobalWorkerOptions","workerSrc","__webpack_require__","U","toString","shared_ShowPdfFile","file","scale","loadingText","pages","setNumPages","useState","jsx_runtime","Document","onLoadSuccess","numPages","loading","Array","from","_","index","Box","display","justifyContent","Page","pageNumber","renderTextLayer","renderAnnotationLayer","concat","CloudStorageFilePreview","fileUrl","download","t","useTranslation","isTablet","isLargeTablet","useResolution","showModal","setShowModal","setFile","Blob","setLoading","handleClose","getFile","useCloudStorageFile","useEffect","fetchFile","fileContent","jsxs","height","mb","width","ml","IconButton","onClick","color","sx","padding","data-testid","FullscreenOutlined","fontSize","Dialog","onClose","open","maxWidth","DialogContent","Typography","ShowPdfFile","DialogActions","Button","size","justifySelf","overflowX","overflowY","mt","DownloadButton","downloadUrl","InvoiceFilePreview","invoiceFile","showAlert","invoiceFileBlob","Buffer","type","invoiceFileUrl","URL","createObjectURL","Fragment","alignItems","variant","fontWeight","InvoiceGeneratorLayout","leftChild","rightChild","customerName","isDesktop","ListPageTitle","title","CardGradient","text","Paper","Grid","container","item","xs","lg","pl","InvoiceGeneratorTitle","date","amount","meteringPointCount","flexDirection","textTransform","CurrencyFormat","value","TabPanel","props","hidden","flexGrow","p","FilePreviewTabs","tabs","setValue","borderBottom","borderColor","Tabs","onChange","_event","newValue","map","tab","Tab","label","margin","content","DocumentsPreview","id","invoiceData","invoiceNumber","useGenerateInvoice","protocolDate","toMonthNameAndYearString","customer","name","protocolFile","mr","gap","hourlyReportFile","InvoiceGenerator","onComplete","back","useRouter","errorMessage","setErrorMessage","setInvoiceData","getInvoicePreviewFile","resolver","yupResolver","object","string","required","matches","max","transform","padStart","handleSubmit","watch","formState","getValues","rest","useForm","defaultValues","mode","onSubmit","values","issuedBy","logger","FormProvider","Form","my","TextInput","fullWidth","placeholder","shrink","InvoicePreview","onEdit","saveInvoiceFile","updateProtocolsCache","useUpdateProtocolsCache","protocolNumber","STEPS","invoice_generator","setCurrentStep","invoice_preview","preview","InvoiceGeneratorContainer","params","useParams","currentStep","addWarning","Warnings","INVALID_QUERY_PARAM","page","query","StepComponent","ProtocolCard","memo","protocol","push","downloadButtons","disabled","filter","Boolean","UiProtocolCard","subtitle","generateInvoiceButton","details","ProtocolCardList","list","CardListContainer","elements","DownloadFileButton","GenerateInvoiceButton","row","buildTableColumns","accessor","header","ProtocolTable","tableColumns","useMemo","DataTable","columns","uid","ProtocolList","layout","useLayoutStore","NoResultsMessage","list_UserProtocols","desktopActions","CustomerPicker","LayoutSwitcher","ScrollableViewWithData","useDataHook","useProtocols","hookOptions","ListComponent","event","preventDefault","window","stateReducer","prevState","action","payload","DEFAULT_STATE","useStateManager","state","dispatch","useReducer","GenerateInvoiceContext","createContext","GenerateInvoiceProvider","context","Provider","useContext","queryClient","useQueryClient","refetchQueries","fetchNextPage","useSuspensePaginatedQuery","cacheKey","fetchAll","getAll","pageParams","Z","createSvgIcon","_jsx","d"],"sourceRoot":""}