feat: toggle displaying flashcards

pull/5641/head
Tienson Qin 2022-06-09 17:33:23 +08:00
parent c3c42351c8
commit 1857f884d2
4 changed files with 37 additions and 15 deletions

View File

@ -493,6 +493,14 @@
:on-click #(js/logseq.api.relaunch) :on-click #(js/logseq.api.relaunch)
:small? true :intent "logseq")]])])) :small? true :intent "logseq")]])]))
(rum/defc flashcards-enabled-switcher
[enable-flashcards?]
(ui/toggle enable-flashcards?
(fn []
(let [value (not enable-flashcards?)]
(config-handler/set-config! :feature/enable-flashcards? value)))
true))
(rum/defc user-proxy-settings (rum/defc user-proxy-settings
[{:keys [protocol host port] :as agent-opts}] [{:keys [protocol host port] :as agent-opts}]
(ui/button [:span (ui/button [:span
@ -508,6 +516,11 @@
{:left-label (t :settings-page/plugin-system) {:left-label (t :settings-page/plugin-system)
:action (plugin-enabled-switcher t)})) :action (plugin-enabled-switcher t)}))
(defn flashcards-switcher-row [enable-flashcards?]
(row-with-button-action
{:left-label (t :settings-page/enable-flashcards)
:action (flashcards-enabled-switcher enable-flashcards?)}))
(defn https-user-agent-row [agent-opts] (defn https-user-agent-row [agent-opts]
(row-with-button-action (row-with-button-action
{:left-label (t :settings-page/network-proxy) {:left-label (t :settings-page/network-proxy)
@ -596,16 +609,18 @@
:warning :warning
[:p (t :settings-page/git-confirm)])]) [:p (t :settings-page/git-confirm)])])
(rum/defcs settings-advanced < rum/reactive (rum/defc settings-advanced < rum/reactive
[_state] [current-repo]
(let [instrument-disabled? (state/sub :instrument/disabled?) (let [instrument-disabled? (state/sub :instrument/disabled?)
developer-mode? (state/sub [:ui/developer-mode?]) developer-mode? (state/sub [:ui/developer-mode?])
https-agent-opts (state/sub [:electron/user-cfgs :settings/agent])] https-agent-opts (state/sub [:electron/user-cfgs :settings/agent])
enable-flashcards? (state/enable-flashcards? current-repo)]
[:div.panel-wrap.is-advanced [:div.panel-wrap.is-advanced
(when (and util/mac? (util/electron?)) (app-auto-update-row t)) (when (and util/mac? (util/electron?)) (app-auto-update-row t))
(usage-diagnostics-row t instrument-disabled?) (usage-diagnostics-row t instrument-disabled?)
(when-not (mobile-util/native-platform?) (developer-mode-row t developer-mode?)) (when-not (mobile-util/native-platform?) (developer-mode-row t developer-mode?))
(when (util/electron?) (plugin-system-switcher-row)) (when (util/electron?) (plugin-system-switcher-row))
(flashcards-switcher-row enable-flashcards?)
(when (util/electron?) (https-user-agent-row https-agent-opts)) (when (util/electron?) (https-user-agent-row https-agent-opts))
(clear-cache-row t) (clear-cache-row t)
@ -678,6 +693,6 @@
(settings-git) (settings-git)
:advanced :advanced
(settings-advanced) (settings-advanced current-repo)
nil)]]])) nil)]]]))

View File

@ -245,8 +245,9 @@
:on-click-handler route-handler/go-to-journals! :on-click-handler route-handler/go-to-journals!
:icon "calendar"})) :icon "calendar"}))
(when (state/enable-flashcards? (state/get-current-repo))
[:div.flashcards-nav [:div.flashcards-nav
(flashcards srs-open?)] (flashcards srs-open?)])
(sidebar-item (sidebar-item
{:class "graph-view-nav" {:class "graph-view-nav"

View File

@ -183,6 +183,7 @@
:settings-page/tab-version-control "Version control" :settings-page/tab-version-control "Version control"
:settings-page/tab-advanced "Advanced" :settings-page/tab-advanced "Advanced"
:settings-page/plugin-system "Plug-in system" :settings-page/plugin-system "Plug-in system"
:settings-page/enable-flashcards "Flashcards"
:settings-page/network-proxy "Network proxy" :settings-page/network-proxy "Network proxy"
:logseq "Logseq" :logseq "Logseq"
:on "ON" :on "ON"

View File

@ -369,6 +369,11 @@
(not (false? (:feature/enable-journals? (not (false? (:feature/enable-journals?
(get (sub-config) repo))))) (get (sub-config) repo)))))
(defn enable-flashcards?
[repo]
(not (false? (:feature/enable-flashcards?
(get (sub-config) repo)))))
(defn export-heading-to-list? (defn export-heading-to-list?
[] []
(not (false? (:export/heading-to-list? (not (false? (:export/heading-to-list?