diff --git a/apps/infoalloggi/TODO b/apps/infoalloggi/TODO index 4a31a8e..aafb233 100644 --- a/apps/infoalloggi/TODO +++ b/apps/infoalloggi/TODO @@ -10,7 +10,6 @@ TODOS: - Log email fallite e retry - modal invia conferma, che genera email e inserisce le condizioni di conferma - quando conferma accettata/caparra versata, bottone per inviare email di conferma avvenuta - - Mostrare ultimo servizio di ricerca diretto nella pag ricerca, poi magari se servizi>1 avere bottone per modal che mostra lista servizi - pre attivazione se admin mostrare tastino contatti in preview - onboarding submit (toast e email che invitano a pagare) - migliorare onboarding e pag guida diff --git a/apps/infoalloggi/package-lock.json b/apps/infoalloggi/package-lock.json index 6143f72..ae2b659 100644 --- a/apps/infoalloggi/package-lock.json +++ b/apps/infoalloggi/package-lock.json @@ -117,7 +117,7 @@ "knip": "^6.4.1", "npm-run-all": "^4.1.5", "react-email": "^6.0.5", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "vite-tsconfig-paths": "^6.1.1", "vitest": "^4.1.5" } @@ -13259,25 +13259,6 @@ "version": "0.2.0", "license": "Unlicense" }, - "node_modules/tsconfck": { - "version": "3.1.6", - "dev": true, - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/tsconfig-paths": { "version": "4.2.0", "dev": true, @@ -13407,7 +13388,9 @@ } }, "node_modules/typescript": { - "version": "5.9.3", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "license": "Apache-2.0", "peer": true, "bin": { @@ -13681,6 +13664,27 @@ "vite": "*" } }, + "node_modules/vite-tsconfig-paths/node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "dev": true, + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/vitest": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz", diff --git a/apps/infoalloggi/package.json b/apps/infoalloggi/package.json index 6ccc5a1..b825200 100644 --- a/apps/infoalloggi/package.json +++ b/apps/infoalloggi/package.json @@ -132,7 +132,7 @@ "knip": "^6.4.1", "npm-run-all": "^4.1.5", "react-email": "^6.0.5", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "vite-tsconfig-paths": "^6.1.1", "vitest": "^4.1.5" }, diff --git a/apps/infoalloggi/src/components/custom_ui/form.tsx b/apps/infoalloggi/src/components/custom_ui/form.tsx index 8cc3f67..8c53d63 100644 --- a/apps/infoalloggi/src/components/custom_ui/form.tsx +++ b/apps/infoalloggi/src/components/custom_ui/form.tsx @@ -9,8 +9,8 @@ import { FormProvider, useFormContext, } from "react-hook-form"; -import { Label } from "src/components/ui/label"; -import { cn } from "src/lib/utils"; +import { Label } from "~/components/ui/label"; +import { cn } from "~/lib/utils"; /* React Hook Form DevTools, only in development mode. diff --git a/apps/infoalloggi/src/components/spinner.tsx b/apps/infoalloggi/src/components/spinner.tsx index 0c68279..d041cdd 100644 --- a/apps/infoalloggi/src/components/spinner.tsx +++ b/apps/infoalloggi/src/components/spinner.tsx @@ -1,6 +1,6 @@ import type { SVGProps } from "react"; -import { cn } from "src/lib/utils"; +import { cn } from "~/lib/utils"; interface ISVGProps extends SVGProps { size?: number; diff --git a/apps/infoalloggi/src/components/ui/input.tsx b/apps/infoalloggi/src/components/ui/input.tsx index 5986d82..59c31bd 100644 --- a/apps/infoalloggi/src/components/ui/input.tsx +++ b/apps/infoalloggi/src/components/ui/input.tsx @@ -1,5 +1,5 @@ import { forwardRef, type InputHTMLAttributes } from "react"; -import { cn } from "src/lib/utils"; +import { cn } from "~/lib/utils"; type InputProps = InputHTMLAttributes; diff --git a/apps/infoalloggi/src/forms/FormNewMail.tsx b/apps/infoalloggi/src/forms/FormNewMail.tsx index b9412cc..d099752 100644 --- a/apps/infoalloggi/src/forms/FormNewMail.tsx +++ b/apps/infoalloggi/src/forms/FormNewMail.tsx @@ -177,7 +177,8 @@ export const FormAddCodaEmail = ({ submitMutation }: FormProps) => { defaultValue={ field.value ? { - label: Templates[field.value].title, + label: + Templates[field.value as TemplateType]?.title, value: field.value, } : undefined @@ -189,7 +190,7 @@ export const FormAddCodaEmail = ({ submitMutation }: FormProps) => { field.onChange(value.value as TemplateType); }} options={TemplateKeys.map((key) => ({ - label: Templates[key].title, + label: Templates[key as TemplateType]?.title, value: key, }))} placeholder="Seleziona..." diff --git a/apps/infoalloggi/src/server/controllers/event_queue.controller.ts b/apps/infoalloggi/src/server/controllers/event_queue.controller.ts index f189a3e..c633c50 100644 --- a/apps/infoalloggi/src/server/controllers/event_queue.controller.ts +++ b/apps/infoalloggi/src/server/controllers/event_queue.controller.ts @@ -1,8 +1,8 @@ -import type { Override } from "TypeHelpers.type"; import { TRPCError } from "@trpc/server"; import { add, set } from "date-fns"; import { sql } from "kysely"; import type { Attachment } from "nodemailer/lib/mailer"; +import type { Override } from "@/TypeHelpers.type"; import type { AnnunciId } from "~/schemas/public/Annunci"; import type { EventQueueEventId, diff --git a/apps/infoalloggi/src/server/services/mail-templates.ts b/apps/infoalloggi/src/server/services/mail-templates.ts index 83cc1bc..421d9bf 100644 --- a/apps/infoalloggi/src/server/services/mail-templates.ts +++ b/apps/infoalloggi/src/server/services/mail-templates.ts @@ -74,9 +74,9 @@ export const Templates = { }, } satisfies Record; -export const TemplateKeys = Object.keys(Templates) as Array< - keyof typeof Templates ->; + + +export const TemplateKeys = Object.keys(Templates) // const TemplateSchemas = Object.entries(Templates) // .map(([_, value]) => value.props) diff --git a/apps/infoalloggi/src/server/services/typst.service.ts b/apps/infoalloggi/src/server/services/typst.service.ts index 6c5e1d3..765b093 100644 --- a/apps/infoalloggi/src/server/services/typst.service.ts +++ b/apps/infoalloggi/src/server/services/typst.service.ts @@ -6,7 +6,7 @@ import { TRPCError } from "@trpc/server"; import type { EstrattoContoData } from "~/server/api/routers/stripe_reports"; const execPromise = promisify(exec); -const projectRoot = path.resolve("."); +const projectRoot = process.cwd() const fontsPath = path.join(projectRoot, "typst", "fonts"); const tmpDir = path.join(projectRoot, "tmp"); diff --git a/apps/infoalloggi/tsconfig.json b/apps/infoalloggi/tsconfig.json index 6f10c02..4cc91ae 100644 --- a/apps/infoalloggi/tsconfig.json +++ b/apps/infoalloggi/tsconfig.json @@ -1,9 +1,7 @@ { "compilerOptions": { "allowJs": true, - /* Path Aliases */ - "baseUrl": ".", "checkJs": true, /* Base Options: */ "esModuleInterop": true, @@ -19,7 +17,9 @@ "noEmit": true, "noUncheckedIndexedAccess": true, "paths": { - "~/*": ["./src/*"] + "@/*": ["./*"], + "~/*": ["./src/*"], + "emails/*": ["./emails/*"] }, "plugins": [ { @@ -30,7 +30,8 @@ "skipLibCheck": true, /* Strictness */ "strict": true, - "target": "esnext" + "target": "esnext", + "types": ["node"] }, "exclude": [ "node_modules",