diff options
Diffstat (limited to 'packages/exchange-backoffice-ui/src/handlers/InputFile.tsx')
-rw-r--r-- | packages/exchange-backoffice-ui/src/handlers/InputFile.tsx | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/packages/exchange-backoffice-ui/src/handlers/InputFile.tsx b/packages/exchange-backoffice-ui/src/handlers/InputFile.tsx index 37216c982..0d89a98a3 100644 --- a/packages/exchange-backoffice-ui/src/handlers/InputFile.tsx +++ b/packages/exchange-backoffice-ui/src/handlers/InputFile.tsx @@ -1,13 +1,9 @@ import { Fragment, VNode, h } from "preact"; -import { - InputLine, - LabelWithTooltipMaybeRequired, - UIFormProps, -} from "./InputLine.js"; +import { LabelWithTooltipMaybeRequired, UIFormProps } from "./InputLine.js"; import { useField } from "./useField.js"; -export function InputFile( - props: { maxBites: number; accept?: string } & UIFormProps<string>, +export function InputFile<T extends object, K extends keyof T>( + props: { maxBites: number; accept?: string } & UIFormProps<T, K>, ): VNode { const { name, @@ -19,7 +15,7 @@ export function InputFile( maxBites, accept, } = props; - const { value, onChange, state } = useField<{ [s: string]: string }>(name); + const { value, onChange, state } = useField<T, K>(name); if (state.hidden) { return <div />; @@ -31,7 +27,7 @@ export function InputFile( tooltip={tooltip} required={required} /> - {!value || !value.startsWith("data:image/") ? ( + {!value || !(value as string).startsWith("data:image/") ? ( <div class="mt-2 flex justify-center rounded-lg border border-dashed border-gray-900/25 py-1"> <div class="text-center"> <svg @@ -84,7 +80,10 @@ export function InputFile( </div> ) : ( <div class="mt-2 flex justify-center rounded-lg border border-dashed border-gray-900/25 relative"> - <img src={value} class=" h-24 w-full object-cover relative" /> + <img + src={value as string} + class=" h-24 w-full object-cover relative" + /> <div class="opacity-0 hover:opacity-70 duration-300 absolute rounded-lg border inset-0 z-10 flex justify-center text-xl items-center bg-black text-white cursor-pointer " |