diff --git a/apps/infoalloggi/package-lock.json b/apps/infoalloggi/package-lock.json index 276f940..7317115 100644 --- a/apps/infoalloggi/package-lock.json +++ b/apps/infoalloggi/package-lock.json @@ -62,6 +62,7 @@ "nodemailer": "^8.0.1", "nodemailer-html-to-text": "^3.2.0", "nuqs": "^2.8.6", + "pdf-lib": "^1.17.1", "pg": "^8.19.0", "postcss": "^8.5.6", "puppeteer-core": "^24.37.5", @@ -2995,6 +2996,24 @@ "win32" ] }, + "node_modules/@pdf-lib/standard-fonts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz", + "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.6" + } + }, + "node_modules/@pdf-lib/upng": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz", + "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.10" + } + }, "node_modules/@polka/url": { "version": "1.0.0-next.29", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", @@ -11913,6 +11932,12 @@ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "license": "BlueOak-1.0.0" }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -12037,6 +12062,24 @@ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "license": "MIT" }, + "node_modules/pdf-lib": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz", + "integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==", + "license": "MIT", + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + } + }, + "node_modules/pdf-lib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, "node_modules/pdfjs-dist": { "version": "5.4.296", "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.4.296.tgz", diff --git a/apps/infoalloggi/package.json b/apps/infoalloggi/package.json index 7735748..81e88f2 100644 --- a/apps/infoalloggi/package.json +++ b/apps/infoalloggi/package.json @@ -75,6 +75,7 @@ "nodemailer": "^8.0.1", "nodemailer-html-to-text": "^3.2.0", "nuqs": "^2.8.6", + "pdf-lib": "^1.17.1", "pg": "^8.19.0", "postcss": "^8.5.6", "puppeteer-core": "^24.37.5", diff --git a/apps/infoalloggi/public/ricevuta_basic.pdf b/apps/infoalloggi/public/ricevuta_basic.pdf new file mode 100644 index 0000000..0920168 Binary files /dev/null and b/apps/infoalloggi/public/ricevuta_basic.pdf differ diff --git a/apps/infoalloggi/src/components/area-riservata/ordini.tsx b/apps/infoalloggi/src/components/area-riservata/ordini.tsx index 3e580ac..bd40a01 100644 --- a/apps/infoalloggi/src/components/area-riservata/ordini.tsx +++ b/apps/infoalloggi/src/components/area-riservata/ordini.tsx @@ -14,6 +14,7 @@ import { } from "~/components/custom_ui/credenza"; import { Button } from "~/components/ui/button"; import { FormEditOrder } from "~/forms/FormEditOrdine"; +import { genRicevutaUfficio } from "~/hooks/useRicevutaUfficio"; import { formatCurrency } from "~/lib/utils"; import type { OrdiniOrdineId } from "~/schemas/public/Ordini"; import type { Prezziario } from "~/schemas/public/Prezziario"; @@ -90,6 +91,34 @@ const AdminOrdiniModal = ({ )} + + {note && note.trim().length > 0 && ( + + + + )} + + + + + Annunci Inseriti + Desc + +
+