mirror of
https://github.com/supabase/supabase.git
synced 2026-10-12 21:05:06 +03:00
- move navigation components to `apps/studio/components/layouts/Navigation` - add [FloatingMobileToolbar](https://github.com/supabase/supabase/pull/43444/changes#diff-3dffe47fd51ca851d612d8728e03b2dc344ec213d4f3a46a824d3fa32a7cc851) as quick access to tools such as search, assistant, inline editor, etc - behind feature flag and feature preview (true by default as it's a bit annoying to have to enable it all the time as previews are stored in local-storage) - fix sidebar panels closing on viewport resizing (regression from previous pr) https://github.com/user-attachments/assets/d6881e3b-5128-4306-bb82-3ca39c755dba <img width="986" height="697" alt="Screenshot 2026-03-12 at 12 40 11" src="https://github.com/user-attachments/assets/da8511e2-7d01-4237-b814-596031c747c5" />
24 lines
808 B
TypeScript
24 lines
808 B
TypeScript
import { useCallback } from 'react'
|
|
import { useSidebarManagerSnapshot } from 'state/sidebar-manager-state'
|
|
|
|
import { useMobileSheet } from '../NavigationBar/MobileSheetContext'
|
|
|
|
export function useFloatingToolbarSidebarClick() {
|
|
const { setContent: setSheetContent } = useMobileSheet()
|
|
const { activeSidebar, openSidebar } = useSidebarManagerSnapshot()
|
|
|
|
return useCallback(
|
|
(e: React.MouseEvent) => {
|
|
const target = (e.target as HTMLElement).closest?.('[data-sidebar-id]')
|
|
const sidebarId = target?.getAttribute('data-sidebar-id')
|
|
if (sidebarId && activeSidebar?.id !== sidebarId) {
|
|
e.preventDefault()
|
|
e.stopPropagation()
|
|
openSidebar(sidebarId)
|
|
setSheetContent(sidebarId)
|
|
}
|
|
},
|
|
[activeSidebar?.id, openSidebar, setSheetContent]
|
|
)
|
|
}
|