fix: Add document modal file input bottom padding (#19) #20
@@ -156,7 +156,7 @@ export const DocumentForm: React.FC<DocumentFormProps> = ({ onSuccess, onCancel
|
|||||||
return (
|
return (
|
||||||
<LocalizationProvider dateAdapter={AdapterDayjs}>
|
<LocalizationProvider dateAdapter={AdapterDayjs}>
|
||||||
<form onSubmit={handleSubmit} className="w-full">
|
<form onSubmit={handleSubmit} className="w-full">
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-4 pb-4">
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<label className="text-sm font-medium text-slate-700 dark:text-avus mb-1">Vehicle</label>
|
<label className="text-sm font-medium text-slate-700 dark:text-avus mb-1">Vehicle</label>
|
||||||
<select
|
<select
|
||||||
@@ -375,12 +375,14 @@ export const DocumentForm: React.FC<DocumentFormProps> = ({ onSuccess, onCancel
|
|||||||
|
|
||||||
<div className="flex flex-col md:col-span-2">
|
<div className="flex flex-col md:col-span-2">
|
||||||
<label className="text-sm font-medium text-slate-700 dark:text-avus mb-1">Upload image/PDF</label>
|
<label className="text-sm font-medium text-slate-700 dark:text-avus mb-1">Upload image/PDF</label>
|
||||||
|
<div className="flex items-center h-11 min-h-[44px] rounded-lg border px-3 bg-white border-slate-300 focus-within:outline-none focus-within:ring-2 focus-within:ring-primary-500 dark:bg-scuro dark:border-silverstone dark:focus-within:ring-abudhabi dark:focus-within:border-abudhabi">
|
||||||
<input
|
<input
|
||||||
className="h-11 min-h-[44px] rounded-lg border px-3 py-2 bg-white text-gray-900 border-slate-300 focus:outline-none focus:ring-2 focus:ring-primary-500 dark:bg-scuro dark:text-avus dark:border-silverstone dark:focus:ring-abudhabi dark:focus:border-abudhabi file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-medium file:bg-primary-500/10 file:text-primary-600 dark:file:bg-abudhabi/20 dark:file:text-abudhabi"
|
className="flex-1 text-gray-900 dark:text-avus file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-medium file:bg-primary-500/10 file:text-primary-600 dark:file:bg-abudhabi/20 dark:file:text-abudhabi file:cursor-pointer cursor-pointer"
|
||||||
type="file"
|
type="file"
|
||||||
accept="image/jpeg,image/png,application/pdf"
|
accept="image/jpeg,image/png,application/pdf"
|
||||||
onChange={(e) => setFile(e.target.files?.[0] || null)}
|
onChange={(e) => setFile(e.target.files?.[0] || null)}
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
{uploadProgress > 0 && uploadProgress < 100 && (
|
{uploadProgress > 0 && uploadProgress < 100 && (
|
||||||
<div className="text-sm text-slate-600 dark:text-titanio mt-1">Uploading... {uploadProgress}%</div>
|
<div className="text-sm text-slate-600 dark:text-titanio mt-1">Uploading... {uploadProgress}%</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
54
padding-issue.html
Normal file
54
padding-issue.html
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<meta name="color-scheme" content="light dark">
|
||||||
|
<title>MotoVaultPro</title>
|
||||||
|
|
||||||
|
<!-- Dark mode initialization - MUST run before any other scripts -->
|
||||||
|
<!-- This prevents iOS 26 Safari from overriding our dark mode preference -->
|
||||||
|
<script>
|
||||||
|
(function() {
|
||||||
|
try {
|
||||||
|
const stored = localStorage.getItem('motovaultpro-mobile-settings');
|
||||||
|
const settings = stored ? JSON.parse(stored) : {};
|
||||||
|
|
||||||
|
// Check user preference, fall back to system preference
|
||||||
|
const prefersDark = settings.darkMode !== undefined
|
||||||
|
? settings.darkMode
|
||||||
|
: window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||||||
|
|
||||||
|
if (prefersDark) {
|
||||||
|
document.documentElement.classList.add('dark');
|
||||||
|
} else {
|
||||||
|
document.documentElement.classList.remove('dark');
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
// Fallback to system preference on error
|
||||||
|
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.documentElement.classList.add('dark');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Runtime config MUST load synchronously before any module scripts -->
|
||||||
|
<script src="/config.js"></script>
|
||||||
|
<script type="module" crossorigin src="/assets/index-BBzsRBvQ.js"></script>
|
||||||
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-ByzCDbub.js">
|
||||||
|
<link rel="modulepreload" crossorigin href="/assets/react-router-DaYFPv1Q.js">
|
||||||
|
<link rel="modulepreload" crossorigin href="/assets/utils-CzZZcuDR.js">
|
||||||
|
<link rel="modulepreload" crossorigin href="/assets/mui-core-CMlEYYIm.js">
|
||||||
|
<link rel="modulepreload" crossorigin href="/assets/data-CpPzLLzI.js">
|
||||||
|
<link rel="modulepreload" crossorigin href="/assets/animation-_z1WwDHu.js">
|
||||||
|
<link rel="modulepreload" crossorigin href="/assets/auth-DXZD2WD1.js">
|
||||||
|
<link rel="modulepreload" crossorigin href="/assets/mui-icons-C3PV0RzG.js">
|
||||||
|
<link rel="modulepreload" crossorigin href="/assets/forms-CxneQeFQ.js">
|
||||||
|
<link rel="stylesheet" crossorigin href="/assets/index-D1by4rQs.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="root"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user