chore: release v0.26.0
This commit is contained in:
@@ -86,6 +86,13 @@ export function ExportFieldsDialog({ open, count, onExport, onClose }: {
|
||||
return [...m.entries()];
|
||||
}, [official]);
|
||||
|
||||
// Every tag the dialog can offer — the extras AND every group — so "select
|
||||
// all" means what it says rather than "all the official ones".
|
||||
const everyTag = useMemo(
|
||||
() => [...extras, ...groups.flatMap(([, list]) => list.map((d) => d.name))],
|
||||
[extras, groups],
|
||||
);
|
||||
|
||||
const toggle = (name: string, on: boolean) =>
|
||||
setSel((s) => { const n = new Set(s); if (on) n.add(name); else n.delete(name); return n; });
|
||||
const setMany = (names: string[], on: boolean) =>
|
||||
@@ -114,11 +121,25 @@ export function ExportFieldsDialog({ open, count, onExport, onClose }: {
|
||||
<DialogDescription>{t('exf.desc')}</DialogDescription>
|
||||
</DialogHeader>
|
||||
|
||||
{/* Whole-dialog select/clear, next to the count they change. Per-group
|
||||
links alone meant clearing the selection was one click PER GROUP —
|
||||
a dozen of them to get to "just the handful I want". */}
|
||||
<div className="flex items-center gap-2 px-1 text-[11px] text-muted-foreground">
|
||||
<span>{t('exf.chosen', { n: sel.size })}</span>
|
||||
<Button variant="ghost" size="sm" className="ml-auto h-6 text-[11px]" onClick={() => setSel(defaultSet(official))}>
|
||||
{t('exf.defaults')}
|
||||
</Button>
|
||||
<span className="ml-auto inline-flex items-center gap-1">
|
||||
<Button variant="ghost" size="sm" className="h-6 text-[11px]"
|
||||
onClick={() => setSel(new Set(everyTag))}>
|
||||
{t('exf.selectAll')}
|
||||
</Button>
|
||||
<Button variant="ghost" size="sm" className="h-6 text-[11px]"
|
||||
disabled={sel.size === 0}
|
||||
onClick={() => setSel(new Set())}>
|
||||
{t('exf.selectNone')}
|
||||
</Button>
|
||||
<Button variant="ghost" size="sm" className="h-6 text-[11px]" onClick={() => setSel(defaultSet(official))}>
|
||||
{t('exf.defaults')}
|
||||
</Button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-3 gap-3 max-h-[56vh] overflow-y-auto pr-1">
|
||||
|
||||
Reference in New Issue
Block a user