feat(dictionary): add Hachidori backend support

- Add backend selection, setup gating, Anki integration, and external host support
- Add launcher flags, documentation, packaging, and focused tests
- Open on-demand overlay modals on the first attempt
This commit is contained in:
sudacode committed 2026-09-22 00:21:19 -07:00
1 parent 1508863dbb
commit d9fdc7ef6d
446 files changed
+109060 -244

No files matched your search

@@ -1,6 +1,5 @@
import type { YoutubePickerOpenPayload } from '../../types';
import type { ModalStateReader, RendererContext } from '../context';
import { YOMITAN_POPUP_COMMAND_EVENT } from '../yomitan-popup.js';
function createOption(value: string, label: string): HTMLOptionElement {
const option = document.createElement('option');
@@ -197,13 +196,6 @@ export function createYoutubeTrackPickerModal(
ctx.dom.youtubePickerModal.classList.add('hidden');
ctx.dom.youtubePickerModal.setAttribute('aria-hidden', 'true');
window.electronAPI.notifyOverlayModalClosed('youtube-track-picker');
window.dispatchEvent(
new CustomEvent(YOMITAN_POPUP_COMMAND_EVENT, {
detail: {
type: 'refreshOptions',
},
}),
);
if (!options.modalStateReader.isAnyModalOpen()) {
ctx.dom.overlay.classList.remove('interactive');
}