import {fetchPost} from "../util/fetch"; export const flashcard = { element: undefined as Element, genHTML: () => { let responsiveHTML = `
${window.siyuan.languages.reviewMode}
${window.siyuan.languages.reviewModeTip}
`; /// #if MOBILE responsiveHTML = `${responsiveHTML}
${window.siyuan.languages.flashcardNewCardLimit}
${window.siyuan.languages.flashcardNewCardLimitTip}
${window.siyuan.languages.flashcardReviewCardLimit}
${window.siyuan.languages.flashcardReviewCardLimitTip}
${window.siyuan.languages.flashcardFSRSParamRequestRetention}
${window.siyuan.languages.flashcardFSRSParamRequestRetentionTip}
${window.siyuan.languages.flashcardFSRSParamMaximumInterval}
${window.siyuan.languages.flashcardFSRSParamMaximumIntervalTip}
${window.siyuan.languages.flashcardFSRSParamWeights}
${window.siyuan.languages.flashcardFSRSParamWeightsTip}
`; /// #else responsiveHTML = `${responsiveHTML}
${window.siyuan.languages.flashcardNewCardLimit}
${window.siyuan.languages.flashcardNewCardLimitTip}
${window.siyuan.languages.flashcardReviewCardLimit}
${window.siyuan.languages.flashcardReviewCardLimitTip}
${window.siyuan.languages.flashcardFSRSParamRequestRetention}
${window.siyuan.languages.flashcardFSRSParamRequestRetentionTip}
${window.siyuan.languages.flashcardFSRSParamMaximumInterval}
${window.siyuan.languages.flashcardFSRSParamMaximumIntervalTip}
${window.siyuan.languages.flashcardFSRSParamWeights}
${window.siyuan.languages.flashcardFSRSParamWeightsTip}
`; /// #endif return responsiveHTML; }, bindEvent: () => { flashcard.element.querySelectorAll("input, select.b3-select").forEach((item) => { item.addEventListener("change", () => { fetchPost("/api/setting/setFlashcard", { reviewMode: parseInt((flashcard.element.querySelector("#reviewMode") as HTMLSelectElement).value), newCardLimit: parseInt((flashcard.element.querySelector("#newCardLimit") as HTMLInputElement).value), reviewCardLimit: parseInt((flashcard.element.querySelector("#reviewCardLimit") as HTMLInputElement).value), mark: (flashcard.element.querySelector("#mark") as HTMLInputElement).checked, list: (flashcard.element.querySelector("#list") as HTMLInputElement).checked, superBlock: (flashcard.element.querySelector("#superBlock") as HTMLInputElement).checked, heading: (flashcard.element.querySelector("#heading") as HTMLInputElement).checked, deck: (flashcard.element.querySelector("#deck") as HTMLInputElement).checked, requestRetention: parseFloat((flashcard.element.querySelector("#requestRetention") as HTMLInputElement).value), maximumInterval: parseInt((flashcard.element.querySelector("#maximumInterval") as HTMLInputElement).value), weights: (flashcard.element.querySelector("#weights") as HTMLInputElement).value, }, response => { window.siyuan.config.flashcard = response.data; }); }); }); }, };