commit d2024328982979d3c39d21b7dc07f33649985017
parent 1937095f39078b379152997590f756f0aa4b12b5
Author: Sebastian <sebasjm@gmail.com>
Date: Sun, 23 Feb 2025 20:23:18 -0300
fix #9578: support PDF
Diffstat:
3 files changed, 50 insertions(+), 15 deletions(-)
diff --git a/packages/kyc-ui/src/pages/TriggerForms.tsx b/packages/kyc-ui/src/pages/TriggerForms.tsx
@@ -65,8 +65,6 @@ export function TriggerForms({ formId }: Props): VNode {
],
},
};
-
- console.log("ASDASD", formId);
const { handler, status } = useForm<FormType>(theForm.config, {
form: formId,
});
diff --git a/packages/web-util/src/forms/fields/InputFile.stories.tsx b/packages/web-util/src/forms/fields/InputFile.stories.tsx
@@ -35,10 +35,10 @@ export namespace Simplest {
}
type TargetObject = {
- file?: string;
+ pdf?: string;
};
const initial: TargetObject = {
- file: undefined,
+ pdf: "file:CONTRATO DE LOCACIÓN DE VIVIENDA BULNES.docx.pdf;data:application/pdf;base64,JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRsZSA8RkVGRjAwNDMwMDRGMDA0RTAwNTQwMDUyMDA0MTAwNTQwMDRGMDAyMDAwNDQwMDQ1MDAyMDAwNEMwMDRGMDA0MzAwNDEwMDQzMDA0OTAwRDMwMDRFMDAyMDAwNDQwMDQ1MDAyMDAwNTYwMDQ5MDA1NjAwNDkwMDQ1MDA0RTAwNDQwMDQxMDAyMDAwNDIwMDU1MDA0QzAwNEUwMDQ1MDA1MzAwMkUwMDY0MDA2RjAwNjMwMDc4PgovUHJvZHVjZXIgKFNraWEvUERGIG0xMzQgR29vZ2xlIERvY3MgUmVuZGVyZXIpPj4KZW5kb2JqCjMgMCBvYmoKPDwvY2EgMQovQk0gL05vcm1hbD4+CmVuZG9iago3IDAgb2JqCjw8L0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMDMxNT4+IHN0cmVhbQp4nMVd3Y4muW29n6foF9ha/f8AhoHpnh0jFwbiYN8gjg0EyEWc9wciSqKqSlJ1fRRrZr1o90zvtr5TKkmkSJ5D+SbSP7/I9H/BqLf//J8v//tl8zb/FL+nH8o3+Oc//vJW/vCvf3759S/67Z//9wX+vY/mTUql3/71X1/+8eVv3QjBbsIKIfSbF1swMcYAI4r8H6QRyx/2EX/997c//enXv37827f04z//+f3bx5f337/8+j19hnv7/R9fJCK2cTPW6LfNKm10+qTfYdRfpNlMKH//+9ufhFAufbZKXzJ9+fSVwCjz57ff//uL85sCoOU/1D7/MOKvt5+r/PPffifgCHGTProQRjxC04eLenMJ6fhs6XlUoI8npd2CldbpZ/BJJTaVHtfPMH4v8w/vQZn6/UOID/i5pH+WEnY+GSvAlRSb8AnHc3OrtMpz8dCrV9pt3igZx+F0LDOJ31UoqzwjN/SP0lJt6",
};
const design: FormDesign = {
@@ -49,20 +49,30 @@ const design: FormDesign = {
fields: [
{
type: "file",
- label: "label of the field" as TranslatedString,
+ label: "PNG files" as TranslatedString,
required: true,
- id: "file" as UIHandlerId,
+ id: "png" as UIHandlerId,
accept: ".png",
tooltip:
"this is a very long tooltip that explain what the field does without being short" as TranslatedString,
help: "Max size of 2 mega bytes" as TranslatedString,
},
+ {
+ type: "file",
+ label: "PDF files" as TranslatedString,
+ required: true,
+ id: "pdf" as UIHandlerId,
+ accept: ".pdf",
+ tooltip:
+ "this is a very long tooltip that explain what the field does without being short" as TranslatedString,
+ help: "Max size of 2 mega bytes" as TranslatedString,
+ },
],
},
],
};
-export const AcceptPNG = tests.createExample(TestedComponent, {
+export const TestingAccept = tests.createExample(TestedComponent, {
initial,
design,
});
diff --git a/packages/web-util/src/forms/fields/InputFile.tsx b/packages/web-util/src/forms/fields/InputFile.tsx
@@ -100,16 +100,43 @@ export function InputFile<T extends object, K extends keyof T>(
) : (
<div class="mt-2 flex justify-center rounded-lg border border-dashed border-gray-900/25 relative">
{(dataUri as string).startsWith("data:image/") ? (
- <img src={dataUri} class=" h-24 w-full object-cover relative" />
+ <Fragment>
+ <img src={dataUri} class=" h-24 w-full object-cover relative" />
+ {fileName ? (
+ <div class="absolute rounded-lg border flex justify-center text-xl items-center text-white ">
+ {fileName}
+ </div>
+ ) : (
+ <Fragment />
+ )}
+ </Fragment>
) : (
- <div />
- )}
- {fileName ? (
- <div class="absolute rounded-lg border flex justify-center text-xl items-center text-white ">
- {fileName}
+ <div class="h-24 w-full object-cover relative p-2">
+ <div class="flex flex-row">
+ <svg
+ xmlns="http://www.w3.org/2000/svg"
+ fill="none"
+ viewBox="0 0 24 24"
+ stroke-width="1.5"
+ stroke="currentColor"
+ class="size-6"
+ >
+ <path
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"
+ />
+ </svg>
+
+ {fileName ? (
+ <div class=" flex justify-center text-xl items-center ">
+ {fileName}
+ </div>
+ ) : (
+ <div />
+ )}
+ </div>
</div>
- ) : (
- <Fragment />
)}
{!state.disabled && (