diff --git a/app/src/card/openCard.ts b/app/src/card/openCard.ts index 990b9172c..aad6b723b 100644 --- a/app/src/card/openCard.ts +++ b/app/src/card/openCard.ts @@ -16,6 +16,7 @@ import {openFile} from "../editor/util"; import {getDisplayName, movePathTo} from "../util/pathName"; import {App} from "../index"; import {resize} from "../protyle/util/resize"; +import {setStorageVal} from "../protyle/util/compatibility"; export const genCardHTML = (options: { id: string, @@ -123,6 +124,10 @@ export const bindCardEvent = (options: { id?: string, dialog?: Dialog, }) => { + if (window.siyuan.storage[Constants.LOCAL_FLASHCARD].fullscreen) { + fullscreen(options.element.querySelector(".card__main"), + options.element.querySelector('[data-type="fullscreen"]')); + } let index = 0; const editor = new Protyle(options.app, options.element.querySelector("[data-type='render']") as HTMLElement, { blockId: "", @@ -204,6 +209,8 @@ export const bindCardEvent = (options: { fullscreen(options.element.querySelector(".card__main"), options.element.querySelector('[data-type="fullscreen"]')); resize(editor.protyle); + window.siyuan.storage[Constants.LOCAL_FLASHCARD].fullscreen = !window.siyuan.storage[Constants.LOCAL_FLASHCARD].fullscreen + setStorageVal(Constants.LOCAL_FLASHCARD, window.siyuan.storage[Constants.LOCAL_FLASHCARD]); event.stopPropagation(); event.preventDefault(); return; diff --git a/app/src/constants.ts b/app/src/constants.ts index 8ac462424..eb53abb91 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -97,6 +97,7 @@ export abstract class Constants { public static readonly LOCAL_LAYOUTS = "local-layouts"; public static readonly LOCAL_AI = "local-ai"; public static readonly LOCAL_PLUGINTOPUNPIN = "local-plugintopunpin"; + public static readonly LOCAL_FLASHCARD = "local-flashcard"; // timeout public static readonly TIMEOUT_DBLCLICK = 190; diff --git a/app/src/protyle/util/compatibility.ts b/app/src/protyle/util/compatibility.ts index 494b8d43e..2c6926a0f 100644 --- a/app/src/protyle/util/compatibility.ts +++ b/app/src/protyle/util/compatibility.ts @@ -181,6 +181,9 @@ export const getLocalStorage = (cb: () => void) => { defaultStorage[Constants.LOCAL_LAYOUTS] = []; // {name: "", layout:{}} defaultStorage[Constants.LOCAL_AI] = []; // {name: "", memo: ""} defaultStorage[Constants.LOCAL_PLUGINTOPUNPIN] = []; + defaultStorage[Constants.LOCAL_FLASHCARD] = { + fullscreen: false + }; defaultStorage[Constants.LOCAL_BAZAAR] = { theme: "0", template: "0", @@ -235,7 +238,7 @@ export const getLocalStorage = (cb: () => void) => { [Constants.LOCAL_EXPORTIMG, Constants.LOCAL_SEARCHKEYS, Constants.LOCAL_PDFTHEME, Constants.LOCAL_BAZAAR, Constants.LOCAL_EXPORTWORD, Constants.LOCAL_EXPORTPDF, Constants.LOCAL_DOCINFO, Constants.LOCAL_FONTSTYLES, Constants.LOCAL_SEARCHDATA, Constants.LOCAL_ZOOM, Constants.LOCAL_LAYOUTS, Constants.LOCAL_AI, - Constants.LOCAL_PLUGINTOPUNPIN, Constants.LOCAL_SEARCHASSET].forEach((key) => { + Constants.LOCAL_PLUGINTOPUNPIN, Constants.LOCAL_SEARCHASSET, Constants.LOCAL_FLASHCARD].forEach((key) => { if (typeof response.data[key] === "string") { try { const parseData = JSON.parse(response.data[key]);