mirror of https://github.com/logseq/logseq
fix: only show open a directory when nfs api is supported
Also, ask for permission when clicking the refresh buttonfeat/pwa
parent
552ec6d1fa
commit
bcb40c6629
|
@ -141,15 +141,16 @@
|
|||
[:div.repos.hidden.md:block
|
||||
(repo/repos-dropdown true)]
|
||||
|
||||
[:a.text-sm.font-medium.opacity-70.hover:opacity-100.ml-3
|
||||
{:on-click (fn []
|
||||
(nfs/ls-dir-files))
|
||||
:title (t :open-a-directory)}
|
||||
[:div.flex.flex-row.text-center
|
||||
[:span.inline-block svg/folder-add]
|
||||
(when-not config/mobile?
|
||||
[:span.ml-1 {:style {:margin-top 2}}
|
||||
(t :open)])]]
|
||||
(when (nfs/supported?)
|
||||
[:a.text-sm.font-medium.opacity-70.hover:opacity-100.ml-3
|
||||
{:on-click (fn []
|
||||
(nfs/ls-dir-files))
|
||||
:title (t :open-a-directory)}
|
||||
[:div.flex.flex-row.text-center
|
||||
[:span.inline-block svg/folder-add]
|
||||
(when-not config/mobile?
|
||||
[:span.ml-1 {:style {:margin-top 2}}
|
||||
(t :open)])]])
|
||||
|
||||
(if config/publishing?
|
||||
[:a.text-sm.font-medium.ml-3 {:href (rfe/href :graph)}
|
||||
|
|
|
@ -68,7 +68,9 @@
|
|||
[]
|
||||
(when-let [repo (state/get-current-repo)]
|
||||
(when-not (= repo config/local-repo)
|
||||
(if (config/local-db? repo)
|
||||
(if (and
|
||||
(nfs-handler/supported?)
|
||||
(config/local-db? repo))
|
||||
[:a.ml-2.mr-1.opacity-70.hover:opacity-100
|
||||
{:on-click #(nfs-handler/refresh! repo)
|
||||
:title (str "Sync files with the local directory: " (config/get-local-dir repo))}
|
||||
|
|
|
@ -94,8 +94,9 @@
|
|||
|
||||
(defn check-directory-permission!
|
||||
[repo]
|
||||
(p/let [handle (idb/get-item (str "handle-" repo))]
|
||||
(utils/verifyPermission handle true)))
|
||||
(p/let [handle (idb/get-item (str "handle/" repo))]
|
||||
(when handle
|
||||
(utils/verifyPermission handle true))))
|
||||
|
||||
(defn ask-permission
|
||||
[repo]
|
||||
|
@ -199,4 +200,11 @@
|
|||
|
||||
(defn- refresh!
|
||||
[repo]
|
||||
(reload-dir! repo))
|
||||
(when repo
|
||||
(p/let [verified? (check-directory-permission! repo)]
|
||||
(when verified?
|
||||
(reload-dir! repo)))))
|
||||
|
||||
(defn supported?
|
||||
[]
|
||||
(utils/nfsSupported))
|
||||
|
|
|
@ -139,3 +139,12 @@ export var verifyPermission = async function (handle, readWrite) {
|
|||
// The user didn't grant permission, so return false.
|
||||
return false;
|
||||
}
|
||||
|
||||
export var nfsSupported = function () {
|
||||
if ('chooseFileSystemEntries' in self) {
|
||||
return 'chooseFileSystemEntries';
|
||||
} else if ('showOpenFilePicker' in self) {
|
||||
return 'showOpenFilePicker';
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue