Bläddra i källkod

Add new switch to control commit on close

- Extend the git commit up to 24 hours
ChristianAvila 2 år sedan
förälder
incheckning
8b128cad74

+ 3 - 1
src/electron/electron/core.cljs

@@ -330,7 +330,9 @@
                                                   (.setFullScreen win false))
                                               (.hide win)))
                                         :else
-                                        nil)))))
+                                        nil)))
+                                  (git/commit-current-graph!)
+                                ))
                (.on app "before-quit" (fn [_e]
                                         (reset! win/*quitting? true)))
 

+ 7 - 0
src/electron/electron/git.cljs

@@ -181,3 +181,10 @@
         (js/setTimeout add-all-and-commit! 5000)
         (let [interval (js/setInterval add-all-and-commit! (* seconds 1000))]
           (state/set-git-commit-interval! interval))))))
+
+(defn commit-current-graph!
+  []
+  (when (not (state/git-auto-commit-disabled?))
+    (when (not (state/git-commit-on-close-disabled?))
+      (state/clear-git-commit-interval!)
+      (js/setTimeout add-all-and-commit! 3000))))

+ 4 - 0
src/electron/electron/state.cljs

@@ -45,6 +45,10 @@
   []
   (get-in @state [:config :git/disable-auto-commit?] true))
 
+(defn git-commit-on-close-disabled?
+  []
+  (get-in @state [:config :git/disable-commit-on-close?] true))
+
 (defn get-graph-path
   []
   (:graph/current @state))

+ 18 - 2
src/main/frontend/components/settings.cljs

@@ -253,6 +253,21 @@
            (ipc/ipc :userAppCfgs :git/disable-auto-commit? enabled?))
          true)]]]))
 
+(rum/defcs switch-git-commit-on-close < rum/reactive
+  [state t]
+  (let [enabled? (state/get-git-commit-on-close-enabled?)]
+    [:div.it.sm:grid.sm:grid-cols-3.sm:gap-4.sm:items-center
+     [:label.block.text-sm.font-medium.leading-5.opacity-70
+      (t :settings-page/git-commit-on-close-switcher-label)]
+     [:div
+      [:div.rounded-md.sm:max-w-xs
+       (ui/toggle
+         enabled?
+         (fn []
+           (state/set-state! [:electron/user-cfgs :git/disable-commit-on-close?] enabled?)
+           (ipc/ipc :userAppCfgs :git/disable-commit-on-close? enabled?))
+         true)]]]))
+
 (rum/defcs git-auto-commit-seconds < rum/reactive
   [state t]
   (let [secs (or (state/sub [:electron/user-cfgs :git/auto-commit-seconds]) 60)]
@@ -267,13 +282,13 @@
                           (let [value (-> (util/evalue event)
                                           util/safe-parse-int)]
                             (if (and (number? value)
-                                     (< 0 value (inc 600)))
+                                     (< 0 value (inc 86400)))
                               (do
                                 (state/set-state! [:electron/user-cfgs :git/auto-commit-seconds] value)
                                 (ipc/ipc :userAppCfgs :git/auto-commit-seconds value))
                               (when-let [elem (gobj/get event "target")]
                                 (notification/show!
-                                 [:div "Invalid value! Must be a number between 1 and 600."]
+                                 [:div "Invalid value! Must be a number between 1 and 86400"]
                                  :warning true)
                                 (gobj/set elem "value" secs)))))}]]]]))
 
@@ -746,6 +761,7 @@
      (t :settings-page/git-desc-3)]]
    [:br]
    (switch-git-auto-commit-row t)
+   (switch-git-commit-on-close t)
    (git-auto-commit-seconds t)
 
    (ui/admonition

+ 4 - 0
src/main/frontend/state.cljs

@@ -1930,6 +1930,10 @@ Similar to re-frame subscriptions"
   []
   (false? (sub [:electron/user-cfgs :git/disable-auto-commit?])))
 
+(defn get-git-commit-on-close-enabled?
+  []
+  (false? (sub [:electron/user-cfgs :git/disable-commit-on-close?])))
+
 (defn set-last-key-code!
   [key-code]
   (set-state! :editor/last-key-code key-code))

+ 1 - 0
src/resources/dicts/en.edn

@@ -287,6 +287,7 @@
  :settings-page/git-desc-1 "To view page's edit history, click the three horizontal dots in the top-right corner and select \"View page history\"."
  :settings-page/git-desc-2 "For professional users, Logseq also supports using "
  :settings-page/git-desc-3 " for version control. Use Git at your own risk as general Git issues are not supported by the Logseq team."
+ :settings-page/git-commit-on-close-switcher-label "Git commit on window close"
  :settings-page/git-switcher-label "Enable Git auto commit"
  :settings-page/git-commit-delay "Git auto commit seconds"
  :settings-page/git-confirm "You need to restart the app after updating the Git settings."

+ 1 - 0
src/resources/dicts/es.edn

@@ -654,6 +654,7 @@
  :settings-page/git-desc-1                          "Para ver el historial de edición de la página, da clic en los tres puntos horizontales en la esquina superior derecha y selecciona \"Ver historial de página\"."
  :settings-page/git-desc-2                          "Para usuarios profesionales, Logseq también es compatible con"
  :settings-page/git-desc-3                          " para control de versiones. Usa Git bajo tu propio riesgo ya que problemas generales con Git no son respaldados por el equipo de Logseq."
+ :settings-page/git-commit-on-close-switcher-label  "Git auto commit"
  :settings-page/git-switcher-label                  "Habilitar Git auto commit"
  :settings-page/git-tip                             "Si tienes Logseq Sync habilitado, puedes ver el historial de edición de la página directamente. Esta sección es solo para conocedores de tecnología."
  :settings-page/home-default-page                   "Establecer página de inicio"