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 [isOpen, setIsOpen] = useState(false);
|
||||||
// const [showRegistroModal, setShowRegistroModal] = useState(false); // Removido - agora é controlado pelo dashboard
|
// const [showRegistroModal, setShowRegistroModal] = useState(false); // Removido - agora é controlado pelo dashboard
|
||||||
const dropdownRef = useRef<HTMLDivElement>(null);
|
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
|
// Hook para verificar se o registro está completo
|
||||||
const { isCompleto, loading, dadosFaltantes } = useRegistroCompleto(user || null);
|
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">
|
<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">
|
<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>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="hidden sm:block min-w-0">
|
<div className="hidden sm:block min-w-0">
|
||||||
<p className="text-sm font-medium text-gray-900 truncate">
|
<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>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<svg
|
<svg
|
||||||
|
|
@ -209,13 +230,20 @@ const Header = ({
|
||||||
{isOpen && (
|
{isOpen && (
|
||||||
<ul className="absolute right-0 mt-2 w-48 bg-white rounded-lg shadow-lg z-10 border">
|
<ul className="absolute right-0 mt-2 w-48 bg-white rounded-lg shadow-lg z-10 border">
|
||||||
<li>
|
<li>
|
||||||
<Link
|
<div className="px-4 py-3 border-b rounded-t-lg">
|
||||||
href="/perfil"
|
<div className="text-[10px] uppercase tracking-wide text-gray-400">
|
||||||
className="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 rounded-t-lg flex items-center"
|
Empresa
|
||||||
>
|
</div>
|
||||||
<UserIcon className="w-4 h-4 mr-2 flex-shrink-0" />
|
<p className="text-sm font-semibold text-gray-900 truncate">
|
||||||
Meu perfil
|
{displayCompanyName}
|
||||||
</Link>
|
</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>
|
||||||
<li>
|
<li>
|
||||||
<Link
|
<Link
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue