mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00

The tooltip will show after you clicked Revert. There's no sensible way to show the tooltip, without also triggering the functionality
57 lines
1.6 KiB
TypeScript
57 lines
1.6 KiB
TypeScript
// Copyright: Ankitects Pty Ltd and contributors
|
|
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|
|
|
/* eslint
|
|
@typescript-eslint/no-explicit-any: "off",
|
|
*/
|
|
|
|
import { getDeckOptionsInfo, DeckOptionsState } from "./lib";
|
|
import { setupI18n, ModuleName } from "lib/i18n";
|
|
import { checkNightMode } from "lib/nightmode";
|
|
import DeckOptionsPage from "./DeckOptionsPage.svelte";
|
|
import SpinBox from "./SpinBox.svelte";
|
|
import SpinBoxFloat from "./SpinBoxFloat.svelte";
|
|
import EnumSelector from "./EnumSelector.svelte";
|
|
import CheckBox from "./CheckBox.svelte";
|
|
|
|
import { nightModeKey, touchDeviceKey, modalsKey } from "components/contextKeys";
|
|
|
|
export async function deckOptions(
|
|
target: HTMLDivElement,
|
|
deckId: number
|
|
): Promise<DeckOptionsPage> {
|
|
const [info] = await Promise.all([
|
|
getDeckOptionsInfo(deckId),
|
|
setupI18n({
|
|
modules: [
|
|
ModuleName.SCHEDULING,
|
|
ModuleName.ACTIONS,
|
|
ModuleName.DECK_CONFIG,
|
|
],
|
|
}),
|
|
]);
|
|
|
|
const context = new Map();
|
|
const nightMode = checkNightMode();
|
|
context.set(nightModeKey, nightMode);
|
|
|
|
const modals = new Map();
|
|
context.set(modalsKey, modals);
|
|
|
|
const touchDevice = "ontouchstart" in document.documentElement;
|
|
context.set(touchDeviceKey, touchDevice);
|
|
|
|
const state = new DeckOptionsState(deckId, info);
|
|
return new DeckOptionsPage({
|
|
target,
|
|
props: { state },
|
|
context,
|
|
} as any);
|
|
}
|
|
|
|
export const deckConfigComponents = {
|
|
SpinBox,
|
|
SpinBoxFloat,
|
|
EnumSelector,
|
|
CheckBox,
|
|
};
|