feat(nav): bouton action intégré dans la navbar v0.4.8
- ActionButtonContext : contexte React permettant aux pages d'injecter leur bouton action dans la navbar (Shopping=fa-cart-plus, Todos/Notes=+) - BottomNav : 5e slot dédié avec dock circulaire visuel permanent ; bouton rendu 10px au-dessus du centre du slot (effet soulevé) - Layout : ActionButtonProvider + overflow visible sur le conteneur nav - Pages : useEffect enregistre/vide le bouton action — plus de FAB flottant sur le contenu, liste entièrement visible Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import { createContext, useContext, useState } from 'react'
|
||||
import type { ReactNode } from 'react'
|
||||
|
||||
interface ActionButtonContextType {
|
||||
actionButton: ReactNode
|
||||
setActionButton: (node: ReactNode) => void
|
||||
}
|
||||
|
||||
const ActionButtonContext = createContext<ActionButtonContextType>({
|
||||
actionButton: null,
|
||||
setActionButton: () => {},
|
||||
})
|
||||
|
||||
export function ActionButtonProvider({ children }: { children: ReactNode }) {
|
||||
const [actionButton, setActionButton] = useState<ReactNode>(null)
|
||||
return (
|
||||
<ActionButtonContext.Provider value={{ actionButton, setActionButton }}>
|
||||
{children}
|
||||
</ActionButtonContext.Provider>
|
||||
)
|
||||
}
|
||||
|
||||
export function useActionButton() {
|
||||
return useContext(ActionButtonContext)
|
||||
}
|
||||
Reference in New Issue
Block a user