chore(labels): park the label designer and printing on feature/labels

The feature needs more rounds than the next release can wait for, so main goes
back to before it: the packages, bindings, migration, UI and i18n all move to
the feature/labels branch, which holds every commit. The 0.26.23 block keeps
only the Station column.

The 0031 migration may already have run on a machine that launched a dev build;
the two label tables it created are inert and the recorded migration row is
harmless — the runner only applies filenames it has, so re-adding the migration
when the branch merges will skip cleanly there and apply everywhere else.
This commit is contained in:
2026-08-28 21:35:50 +02:00
parent de3a115ca6
commit 73cae855ed
21 changed files with 4 additions and 2631 deletions
-10
View File
@@ -70,8 +70,6 @@ import {
import { APP_VERSION, APP_AUTHOR } from '@/version';
import { QSLManagerPanel } from '@/components/QSLManagerModal';
import { QslDesignerModal } from '@/components/qsl/QslDesignerModal';
import { LabelDesignerModal } from '@/components/labels/LabelDesignerModal';
import { LabelPrintModal } from '@/components/labels/LabelPrintModal';
import { SendEQSLModal } from '@/components/qsl/SendEQSLModal';
import { AutoEQSL } from '@/components/qsl/AutoEQSL';
import { ConfirmDialog } from '@/components/ConfirmDialog';
@@ -1269,8 +1267,6 @@ export default function App() {
setQslPaperReq((r) => ({ call: c, n: (r?.n ?? 0) + 1 }));
}
const [qslDesignerOpen, setQslDesignerOpen] = useState(false);
const [labelDesignerOpen, setLabelDesignerOpen] = useState(false);
const [labelPrintOpen, setLabelPrintOpen] = useState(false);
const [eqslQsoId, setEqslQsoId] = useState<number | null>(null); // QSO being sent as eQSL
function closeQslTab() {
setQslTabOpen(false);
@@ -5002,8 +4998,6 @@ export default function App() {
{ type: 'item', label: t('dec.tab'), action: 'tools.decodes' },
{ type: 'item', label: t('gsm.title'), action: 'tools.grids' },
{ type: 'item', label: t('tools.qslDesigner'), action: 'tools.qsldesigner' },
{ type: 'item', label: t('tools.labelDesigner'), action: 'tools.labeldesigner' },
{ type: 'item', label: t('tools.labelPrint'), action: 'tools.labelprint' },
{ type: 'separator' },
{ type: 'item', label: (wkEnabled ? '✓ ' : '') + t('tools.winkeyer'), action: 'tools.winkeyer' },
{ type: 'item', label: (dvkEnabled ? '✓ ' : '') + t('tools.dvk'), action: 'tools.dvk' },
@@ -5057,8 +5051,6 @@ export default function App() {
case 'tools.decodes': openDecodesTab(); break;
case 'tools.grids': openGridsTab(); break;
case 'tools.qsldesigner': setQslDesignerOpen(true); break;
case 'tools.labeldesigner': setLabelDesignerOpen(true); break;
case 'tools.labelprint': setLabelPrintOpen(true); break;
case 'tools.winkeyer': wkSetEnabled(!wkEnabled); break;
case 'tools.dvk': setDvkEnabled((v) => !v); break;
case 'tools.cwdecoder': toggleCwDecoder(); break;
@@ -8720,8 +8712,6 @@ export default function App() {
onError={(msg) => showToast(msg)}
/>
<QslDesignerModal open={qslDesignerOpen} onClose={() => setQslDesignerOpen(false)} />
<LabelDesignerModal open={labelDesignerOpen} onClose={() => setLabelDesignerOpen(false)} />
<LabelPrintModal open={labelPrintOpen} onClose={() => setLabelPrintOpen(false)} />
<SendEQSLModal
open={eqslQsoId !== null}
qsoId={eqslQsoId}