Парсер: часы ночной паузы в настройках админки

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
zabudko-ruandClaude Opus 5.5 committed 2026-10-26 00:33:07 +04:00
1 parent d32f37457b
commit 5470036a69
9 files changed
+95 -30

No files matched your search

+23
View File
@@ -10,6 +10,9 @@ interface Settings {
freshDays: number;
pauseSec: number;
maxPages: number;
quietHours: boolean;
quietFrom: number;
quietTo: number;
categories: number[];
useKey: boolean;
removalCheck: boolean;
@@ -65,6 +68,26 @@ export function ParserSettings() {
{number('maxPages', x.maxPages, 1, 10, x.pagesHint)}
</div>
<div className="space-y-4 border-t border-line pt-5">
<h3 className="font-medium">{x.quietTitle}</h3>
<p className="text-sm text-muted">{x.quietHint}</p>
<Toggle checked={f.quietHours} onChange={(v) => setF({ ...f, quietHours: v })} label={x.quietOn} />
<div className="grid gap-4 sm:grid-cols-3">
{(['quietFrom', 'quietTo'] as const).map((field) => (
<div key={field}>
<label className="label" htmlFor={`ps-${field}`}>{x[field]}</label>
<select
id={`ps-${field}`} className="field" disabled={!f.quietHours}
value={f[field]} onChange={(e) => setF({ ...f, [field]: Number(e.target.value) })}
>
{Array.from({ length: 24 }, (_, h) => <option key={h} value={h}>{`${String(h).padStart(2, '0')}:00`}</option>)}
</select>
</div>
))}
</div>
{f.quietHours && f.quietFrom === f.quietTo && <p className="text-sm text-warn" role="status">{x.quietSame}</p>}
</div>
<fieldset>
<legend className="label">{x.categories}</legend>
<div className="flex flex-wrap gap-2">