From c86885a96d4841d88a5bbbf50f8a8a45fd40f452 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Wed, 9 Jul 2025 20:18:34 +0800 Subject: [PATCH] feat: upload local graph to server --- src/main/frontend/components/repo.cljs | 22 +++++++++++++++++++ .../frontend/components/rtc/indicator.cljs | 14 +++++++++--- src/main/mobile/components/app.cljs | 10 +-------- src/main/mobile/components/popup.cljs | 4 ++-- 4 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/main/frontend/components/repo.cljs b/src/main/frontend/components/repo.cljs index 85357d59e6..6418fddd34 100644 --- a/src/main/frontend/components/repo.cljs +++ b/src/main/frontend/components/repo.cljs @@ -1,6 +1,7 @@ (ns frontend.components.repo (:require [clojure.string :as string] [frontend.common.async-util :as async-util] + [frontend.components.rtc.indicator :as rtc-indicator] [frontend.config :as config] [frontend.context.i18n :refer [t]] [frontend.db :as db] @@ -125,6 +126,27 @@ (repo-handler/remove-repo! repo) (state/pub-event! [:graph/unlinked repo (state/get-current-repo)]))))))} "Delete local graph")) + (when (and db-based? root (not remote?)) + (shui/dropdown-menu-item + {:key "logseq-sync" + :class "use-logseq-sync-menu-item" + :on-click (fn [] + (let [repo (state/get-current-repo) + token (state/get-auth-id-token) + remote-graph-name (config/db-graph-name (state/get-current-repo))] + (when (and token remote-graph-name) + (state/> rtc-flows/rtc-upload-log-flow + (m/reduce (fn [_ log] + (when (= :upload-completed (:sub-type log)) + (on-success)))))] + (task (fn []) (fn [])))) + (rum/defc uploading-detail [] (when (true? (hooks/use-flow-state upload?-flow)) diff --git a/src/main/mobile/components/app.cljs b/src/main/mobile/components/app.cljs index c0c42a374f..6689c20a61 100644 --- a/src/main/mobile/components/app.cljs +++ b/src/main/mobile/components/app.cljs @@ -135,15 +135,7 @@ (ldb/get-graph-rtc-uuid (db/get-db)) (user-handler/logged-in?) (user-handler/team-member?)) - [:<> - ;; (rum/with-key (rtc-collaborators) - ;; (str "collab-" repo)) - (rtc-indicator/indicator) - ;; (when (user-handler/logged-in?) - ;; (rtc-indicator/downloading-detail)) - ;; (when (user-handler/logged-in?) - ;; (rtc-indicator/uploading-detail)) - ])])))) + (rtc-indicator/indicator))])))) ;; main content (if db-restoring? diff --git a/src/main/mobile/components/popup.cljs b/src/main/mobile/components/popup.cljs index c302e6ad25..dc9e17b87f 100644 --- a/src/main/mobile/components/popup.cljs +++ b/src/main/mobile/components/popup.cljs @@ -47,7 +47,7 @@ (reset! *last-popup-modal? false) pid) :else - (when (fn? content-fn) + (when content-fn (mobile-state/set-popup! {:open? true :content-fn content-fn :opts opts}) @@ -103,4 +103,4 @@ [:h2.py-2.opacity-40 title]) (when content-fn (mobile-ui/classic-app-container-wrap - (content-fn)))])))) + (if (fn? content-fn) (content-fn) content-fn)))]))))