"use client" import { useState, useRef, useEffect, useCallback } from "react" import { Menu, Search, X, Pencil, Archive, FolderInput, Reply, } from "lucide-react" import { Button } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { useComposeActions } from "@/lib/compose-context" import { MoveToDropdownItems } from "@/components/gmail/move-to-menu-items" import { MAIL_MENU_SURFACE_CLASS } from "@/lib/mail-chrome-classes" import type { MailXsViewChrome } from "@/lib/mail-xs-view-chrome" import { cn } from "@/lib/utils" interface MobileBottomBarProps { sidebarOpen: boolean onToggleSidebar: () => void /** Lecture message xs : barre d’actions à la place du menu / recherche. */ xsViewChrome?: MailXsViewChrome | null } const ROUNDED_BAR_BTN = "size-11 shrink-0 rounded-full border border-gray-200 bg-white/80 text-[#444746] shadow-md backdrop-blur hover:bg-white" export function MobileBottomBar({ sidebarOpen, onToggleSidebar, xsViewChrome = null, }: MobileBottomBarProps) { const [searchValue, setSearchValue] = useState("") const inputRef = useRef(null) const { openCompose } = useComposeActions() const inMailView = Boolean(xsViewChrome) const hasSearch = searchValue.length > 0 const handleClear = useCallback(() => { setSearchValue("") inputRef.current?.focus() }, []) useEffect(() => { if (sidebarOpen) { inputRef.current?.blur() } }, [sidebarOpen]) return (
{inMailView && xsViewChrome ? (
) : ( <> {!sidebarOpen && (
setSearchValue(e.target.value)} placeholder="Rechercher" className="h-11 w-full rounded-full border border-gray-200 bg-white/80 pl-10 pr-4 text-sm shadow-md backdrop-blur outline-none placeholder:text-gray-400 focus:ring-2 focus:ring-blue-500/40" />
)} )} {!sidebarOpen && ( )}
) }