Merge pull request #42 from rede5/codex/add-empresa-and-perfil-options-to-dropdown
Show company and user info in header dropdown
This commit is contained in:
commit
f2cdadb73f
1 changed files with 37 additions and 9 deletions
|
|
@ -37,6 +37,24 @@ const Header = ({
|
|||
const [isOpen, setIsOpen] = useState(false);
|
||||
// const [showRegistroModal, setShowRegistroModal] = useState(false); // Removido - agora é controlado pelo dashboard
|
||||
const dropdownRef = useRef<HTMLDivElement>(null);
|
||||
const displayUserName =
|
||||
user?.nome ||
|
||||
user?.["nome-civil"] ||
|
||||
user?.["nome-social"] ||
|
||||
user?.name ||
|
||||
"Usuário";
|
||||
const displayCompanyName =
|
||||
user?.empresa?.["nome-fantasia"] ||
|
||||
user?.empresa?.["razao-social"] ||
|
||||
user?.empresa?.nomeFantasia ||
|
||||
user?.empresa?.razaoSocial ||
|
||||
user?.empresaData?.["nome-fantasia"] ||
|
||||
user?.empresaData?.["razao-social"] ||
|
||||
user?.empresaData?.nomeFantasia ||
|
||||
user?.empresaData?.razaoSocial ||
|
||||
(Array.isArray(user?.empresas) ? user.empresas[0] : null) ||
|
||||
(Array.isArray(user?.empresasDados) ? user.empresasDados[0] : null) ||
|
||||
"Empresa não informada";
|
||||
|
||||
// Hook para verificar se o registro está completo
|
||||
const { isCompleto, loading, dadosFaltantes } = useRegistroCompleto(user || null);
|
||||
|
|
@ -184,12 +202,15 @@ const Header = ({
|
|||
>
|
||||
<div className="w-6 h-6 sm:w-8 sm:h-8 bg-gradient-to-r from-blue-500 to-green-500 rounded-full flex items-center justify-center flex-shrink-0">
|
||||
<span className="text-white text-xs sm:text-sm font-semibold">
|
||||
{(user?.nome || user?.["nome-civil"] || user?.["nome-social"] || user?.name || "U")?.charAt(0).toUpperCase()}
|
||||
{displayUserName?.charAt(0).toUpperCase()}
|
||||
</span>
|
||||
</div>
|
||||
<div className="hidden sm:block min-w-0">
|
||||
<p className="text-sm font-medium text-gray-900 truncate">
|
||||
{user?.nome || user?.["nome-civil"] || user?.["nome-social"] || user?.name || "Usuário"}
|
||||
{displayUserName}
|
||||
</p>
|
||||
<p className="text-xs text-gray-500 truncate">
|
||||
{displayCompanyName}
|
||||
</p>
|
||||
</div>
|
||||
<svg
|
||||
|
|
@ -209,13 +230,20 @@ const Header = ({
|
|||
{isOpen && (
|
||||
<ul className="absolute right-0 mt-2 w-48 bg-white rounded-lg shadow-lg z-10 border">
|
||||
<li>
|
||||
<Link
|
||||
href="/perfil"
|
||||
className="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 rounded-t-lg flex items-center"
|
||||
>
|
||||
<UserIcon className="w-4 h-4 mr-2 flex-shrink-0" />
|
||||
Meu perfil
|
||||
</Link>
|
||||
<div className="px-4 py-3 border-b rounded-t-lg">
|
||||
<div className="text-[10px] uppercase tracking-wide text-gray-400">
|
||||
Empresa
|
||||
</div>
|
||||
<p className="text-sm font-semibold text-gray-900 truncate">
|
||||
{displayCompanyName}
|
||||
</p>
|
||||
<div className="mt-2 text-[10px] uppercase tracking-wide text-gray-400">
|
||||
Perfil do usuário
|
||||
</div>
|
||||
<p className="text-sm font-semibold text-gray-900 truncate">
|
||||
{displayUserName}
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
|
|
|
|||
Loading…
Reference in a new issue