feat(mobile): Wischen vom linken Rand holt die Seitenleiste
Bisher gab es dafuer nur den Knopf oben links - am Telefon die Ecke, die man einhaendig am schlechtesten erreicht. Vier Bedingungen halten die Geste aus dem Weg: nur im 44-px-Streifen am Rand (sonst waeren waagerecht scrollbare Bereiche nicht mehr zu bedienen), mindestens 60 px Weg, doppelt so weit waagerecht wie senkrecht (sonst oeffnet sie beim Blaettern), hoechstens 800 ms. 44 px und nicht 20: Androids Zurueck-Geste belegt die aeussersten ~20 px, was dort beginnt erreicht die Seite nie. Aus einer bildschirmfuellenden Ansicht heraus tut sie nichts - dort wischt man durch Seiten, und die Leiste laege ohnehin dahinter. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5ea66ea884
commit
8d95088271
5 files changed
+137
-2
No files matched your search
@@ -1,7 +1,8 @@
|
||||
import { useState } from 'react'
|
||||
import { useCallback, useState } from 'react'
|
||||
import { filesApi } from '../api/client'
|
||||
import type { FolderItem, User } from '../api/client'
|
||||
import { useNavHistory, type View } from '../hooks/useNavHistory'
|
||||
import { useEdgeSwipe } from '../hooks/useEdgeSwipe'
|
||||
import Sidebar from './Sidebar'
|
||||
import FileBrowser from '../pages/FileBrowser'
|
||||
import TrashPage from '../pages/TrashPage'
|
||||
@@ -25,6 +26,14 @@ export default function Shell({ user, onLogout, onUserChanged }: Props) {
|
||||
const nav = useNavHistory()
|
||||
const { view, folderPath } = nav
|
||||
const [sidebarOpen, setSidebarOpen] = useState(false)
|
||||
|
||||
// Am Finger: vom linken Rand nach rechts wischen holt die Leiste, nach
|
||||
// links wischen schickt sie zurück. Mit Maus passiert nichts.
|
||||
useEdgeSwipe({
|
||||
open: sidebarOpen,
|
||||
onOpen: useCallback(() => setSidebarOpen(true), []),
|
||||
onClose: useCallback(() => setSidebarOpen(false), []),
|
||||
})
|
||||
// Hochgezählt, wenn etwas auf den Papierkorb gezogen wurde – die Dateiliste
|
||||
// hängt daran und holt sich daraufhin neu.
|
||||
const [trashBump, setTrashBump] = useState(0)
|
||||
|
||||
Reference in new issue
Block a user