Forced merge: merge ai-dev into master

This commit is contained in:
Flatlogic Bot 2025-08-20 16:39:15 +00:00
commit 87b08b420c
3 changed files with 48 additions and 57 deletions

File diff suppressed because one or more lines are too long

View File

@ -64,49 +64,39 @@ const FormImagePicker = ({
const showFilename = !isRoundIcon && file;
return (
<div>
{file && (
<img
src={file.url || URL.createObjectURL(file)}
alt="Preview"
className="mb-4 max-h-48 object-contain"
<div className='flex items-stretch justify-start relative'>
<label className='inline-flex'>
<BaseButton
className={`${isRoundIcon ? 'w-12 h-12' : ''} ${
showFilename ? 'rounded-r-none' : ''
}`}
iconSize={isRoundIcon ? 24 : undefined}
label={isRoundIcon ? null : label}
icon={loading ? mdiReload : icon}
iconClassName={loading && 'animate-spin'}
color={color}
roundedFull={isRoundIcon}
asAnchor
/>
<input
type='file'
className='absolute top-0 left-0 w-full h-full opacity-0 outline-none cursor-pointer -z-1'
onChange={handleFileChange}
accept={accept}
capture
disabled={loading}
/>
</label>
{showFilename && !loading && (
<div
className={` ${cornersRight} px-4 py-2 max-w-full flex-grow-0 overflow-x-hidden ${bgColor} dark:bg-slate-800 border-gray-200 dark:border-slate-700 border `}
>
<span className='text-ellipsis max-w-full line-clamp-1'>
{file.name}
</span>
</div>
)}
<div className='flex items-stretch justify-start relative'>
<label className='inline-flex'>
<BaseButton
className={`${isRoundIcon ? 'w-12 h-12' : ''} ${
showFilename ? 'rounded-r-none' : ''
}`}
iconSize={isRoundIcon ? 24 : undefined}
label={isRoundIcon ? null : label}
icon={loading ? mdiReload : icon}
iconClassName={loading && 'animate-spin'}
color={color}
roundedFull={isRoundIcon}
asAnchor
/>
<input
type='file'
className='absolute top-0 left-0 w-full h-full opacity-0 outline-none cursor-pointer -z-1'
onChange={handleFileChange}
accept={accept}
capture
disabled={loading}
/>
</label>
{showFilename && !loading && (
<div
className={` ${cornersRight} px-4 py-2 max-w-full flex-grow-0 overflow-x-hidden ${bgColor} dark:bg-slate-800 border-gray-200 dark:border-slate-700 border `}
>
<span className='text-ellipsis max-w-full line-clamp-1'>
{file.name}
</span>
</div>
)}
</div>
</div>
);
};

View File

@ -91,21 +91,6 @@ const BottlesNew = () => {
onSubmit={(values) => handleSubmit(values)}
>
<Form>
<FormField label='Picture'>
<Field
label='Picture'
color='info'
icon={mdiUpload}
path='bottles/picture'
name='picture'
id='picture'
accept='image/*'
capture
schema={{ size: undefined, formats: undefined }}
component={FormImagePicker}
></Field>
</FormField>
<FormField label='Name'>
<Field name='name' placeholder='Name' />
</FormField>
@ -184,6 +169,23 @@ const BottlesNew = () => {
<Field name='barcode' placeholder='Barcode' />
</FormField>
<FormField>
<Field
label='Picture'
color='info'
icon={mdiUpload}
path={'bottles/picture'}
name='picture'
id='picture'
accept='image/*'
capture
schema={{
size: undefined,
formats: undefined,
}}
component={FormImagePicker}
></Field>
</FormField>
<FormField label='Age'>
<Field type='number' name='age' placeholder='Age' />