feat: date de début de lecture emails dans paramètres import
This commit is contained in:
@@ -51,6 +51,8 @@ export default function ImportSettings() {
|
||||
const [emailImportHost, setEmailImportHost] = useState("");
|
||||
const [emailImportPort, setEmailImportPort] = useState(993);
|
||||
const [emailImportFrequency, setEmailImportFrequency] = useState(30);
|
||||
// Date de début de lecture des emails (string ISO "YYYY-MM-DD" pour le champ <input type="date">)
|
||||
const [emailImportSinceDate, setEmailImportSinceDate] = useState("");
|
||||
|
||||
// Export folder
|
||||
const [exportFolder, setExportFolder] = useState("");
|
||||
@@ -77,6 +79,13 @@ export default function ImportSettings() {
|
||||
setEmailImportHost(settings.emailImportHost || "");
|
||||
setEmailImportPort(settings.emailImportPort || 993);
|
||||
setEmailImportFrequency(settings.emailImportFrequency || 30);
|
||||
// Convertir le timestamp Unix (s) en string ISO pour l'input date
|
||||
if ((settings as any).emailImportSinceDate) {
|
||||
const d = new Date((settings as any).emailImportSinceDate * 1000);
|
||||
setEmailImportSinceDate(d.toISOString().split('T')[0]);
|
||||
} else {
|
||||
setEmailImportSinceDate("");
|
||||
}
|
||||
setExportFolder(settings.exportFolder || "");
|
||||
const savedMode = (settings.bapExportMode as string) || "browser";
|
||||
setBapExportBrowser(savedMode === "browser" || savedMode === "both");
|
||||
@@ -136,6 +145,9 @@ export default function ImportSettings() {
|
||||
emailImportHost: emailImportHost || null,
|
||||
emailImportPort: emailImportPort,
|
||||
emailImportFrequency: emailImportFrequency,
|
||||
emailImportSinceDate: emailImportSinceDate
|
||||
? Math.floor(new Date(emailImportSinceDate + 'T00:00:00Z').getTime() / 1000)
|
||||
: null,
|
||||
exportFolder: exportFolder || null,
|
||||
exportFolderType: exportFolderType,
|
||||
bapExportMode: computedExportMode() as "browser" | "folder" | "both",
|
||||
@@ -442,6 +454,27 @@ export default function ImportSettings() {
|
||||
className="h-11"
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="email-since-date" className="text-base font-medium">Ne pas lire les emails antérieurs au</Label>
|
||||
<p className="text-sm text-muted-foreground">Les emails reçus avant cette date ne seront pas importés, même s'ils sont non lus. Laissez vide pour lire tous les emails non lus.</p>
|
||||
<Input
|
||||
id="email-since-date"
|
||||
type="date"
|
||||
value={emailImportSinceDate}
|
||||
onChange={(e) => setEmailImportSinceDate(e.target.value)}
|
||||
className="h-11"
|
||||
/>
|
||||
{emailImportSinceDate && (
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="sm"
|
||||
className="text-muted-foreground"
|
||||
onClick={() => setEmailImportSinceDate("")}
|
||||
>
|
||||
Effacer la date limite
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
<div className="flex flex-wrap gap-3 pt-4 border-t border-green-200 dark:border-green-800">
|
||||
{emailServiceStatus?.isRunning ? (
|
||||
<>
|
||||
|
||||
Reference in New Issue
Block a user