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:
2026-05-25 10:02:03 +02:00
parent d6d3acd1fe
commit cbb2d81279
7 changed files with 138 additions and 66 deletions
@@ -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)
}