Просмотр исходного кода

fix(app): don't open native folder select with remote server

Adam 1 месяц назад
Родитель
Сommit
94dca309e9

+ 2 - 0
packages/app/src/context/server.tsx

@@ -117,10 +117,12 @@ export const { use: useServer, provider: ServerProvider } = createSimpleContext(
 
     const origin = createMemo(() => projectsKey(active()))
     const projectsList = createMemo(() => store.projects[origin()] ?? [])
+    const isLocal = createMemo(() => origin() === "local")
 
     return {
       ready: isReady,
       healthy,
+      isLocal,
       get url() {
         return active()
       },

+ 1 - 1
packages/app/src/pages/home.tsx

@@ -38,7 +38,7 @@ export default function Home() {
       }
     }
 
-    if (platform.openDirectoryPickerDialog) {
+    if (platform.openDirectoryPickerDialog && server.isLocal()) {
       const result = await platform.openDirectoryPickerDialog?.({
         title: "Open project",
         multiple: true,

+ 3 - 1
packages/app/src/pages/layout.tsx

@@ -54,6 +54,7 @@ import { DialogSelectServer } from "@/components/dialog-select-server"
 import { useCommand, type CommandOption } from "@/context/command"
 import { ConstrainDragXAxis } from "@/utils/solid-dnd"
 import { DialogSelectDirectory } from "@/components/dialog-select-directory"
+import { useServer } from "@/context/server"
 
 export default function Layout(props: ParentProps) {
   const [store, setStore] = createStore({
@@ -88,6 +89,7 @@ export default function Layout(props: ParentProps) {
   const globalSync = useGlobalSync()
   const layout = useLayout()
   const platform = usePlatform()
+  const server = useServer()
   const notification = useNotification()
   const navigate = useNavigate()
   const providers = useProviders()
@@ -476,7 +478,7 @@ export default function Layout(props: ParentProps) {
       }
     }
 
-    if (platform.openDirectoryPickerDialog) {
+    if (platform.openDirectoryPickerDialog && server.isLocal()) {
       const result = await platform.openDirectoryPickerDialog?.({
         title: "Open project",
         multiple: true,