Spaces:
Running
Running
Guilherme Silberfarb Costa commited on
Commit ·
225c9ff
1
Parent(s): 9e7c650
ajuste estetico
Browse files- frontend/src/App.jsx +84 -92
frontend/src/App.jsx
CHANGED
|
@@ -34,8 +34,6 @@ export default function App() {
|
|
| 34 |
const [modelosRouteRequest, setModelosRouteRequest] = useState(null)
|
| 35 |
const [trabalhosRouteRequest, setTrabalhosRouteRequest] = useState(null)
|
| 36 |
const [pendingDeepLinkIntent, setPendingDeepLinkIntent] = useState(null)
|
| 37 |
-
const [modelosModoImersivo, setModelosModoImersivo] = useState(false)
|
| 38 |
-
const [trabalhosModoImersivo, setTrabalhosModoImersivo] = useState(false)
|
| 39 |
|
| 40 |
const [authLoading, setAuthLoading] = useState(true)
|
| 41 |
const [authUser, setAuthUser] = useState(null)
|
|
@@ -123,8 +121,6 @@ export default function App() {
|
|
| 123 |
setModelosRouteRequest(null)
|
| 124 |
setTrabalhosRouteRequest(null)
|
| 125 |
setPendingDeepLinkIntent(null)
|
| 126 |
-
setModelosModoImersivo(false)
|
| 127 |
-
setTrabalhosModoImersivo(false)
|
| 128 |
setLogsStatus(null)
|
| 129 |
setLogsOpen(false)
|
| 130 |
setLogsEvents([])
|
|
@@ -611,99 +607,97 @@ export default function App() {
|
|
| 611 |
|
| 612 |
return (
|
| 613 |
<div className="app-shell">
|
| 614 |
-
{
|
| 615 |
-
<
|
| 616 |
-
<
|
| 617 |
-
|
| 618 |
-
|
| 619 |
-
|
| 620 |
-
<
|
| 621 |
-
|
| 622 |
-
|
| 623 |
-
|
| 624 |
-
|
| 625 |
-
|
| 626 |
-
|
| 627 |
-
|
| 628 |
-
|
| 629 |
-
|
| 630 |
-
|
| 631 |
-
|
| 632 |
-
|
| 633 |
-
|
| 634 |
-
|
| 635 |
-
|
| 636 |
-
|
| 637 |
-
|
| 638 |
-
|
| 639 |
-
|
| 640 |
-
|
| 641 |
-
|
| 642 |
-
|
| 643 |
-
|
| 644 |
-
|
| 645 |
-
|
| 646 |
-
|
| 647 |
-
|
| 648 |
-
|
| 649 |
-
|
| 650 |
-
|
| 651 |
-
>
|
| 652 |
-
|
| 653 |
-
|
| 654 |
-
|
| 655 |
-
|
| 656 |
-
|
| 657 |
-
|
| 658 |
-
<
|
| 659 |
-
|
| 660 |
-
|
| 661 |
-
|
| 662 |
-
|
| 663 |
-
|
| 664 |
-
|
| 665 |
-
|
| 666 |
-
|
| 667 |
-
|
| 668 |
-
|
| 669 |
-
|
| 670 |
-
|
| 671 |
-
<div className="settings-
|
| 672 |
-
<
|
| 673 |
-
|
| 674 |
-
|
| 675 |
-
|
| 676 |
-
{isAdmin ? (
|
| 677 |
-
<button
|
| 678 |
-
type="button"
|
| 679 |
-
className="settings-menu-btn"
|
| 680 |
-
onClick={() => {
|
| 681 |
-
void onToggleLogs()
|
| 682 |
-
setSettingsOpen(false)
|
| 683 |
-
}}
|
| 684 |
-
disabled={logsStatusLoading || (!logsEnabled && !logsOpen)}
|
| 685 |
-
title={logsOpen ? 'Fechar visualização de logs' : !logsEnabled ? logsDisabledReason : 'Abrir leitura de logs'}
|
| 686 |
-
>
|
| 687 |
-
{logsOpen ? 'Fechar logs' : 'Abrir logs'}
|
| 688 |
-
</button>
|
| 689 |
-
) : null}
|
| 690 |
<button
|
| 691 |
type="button"
|
| 692 |
-
className="settings-menu-btn
|
| 693 |
-
onClick={() =>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 694 |
>
|
| 695 |
-
|
| 696 |
</button>
|
| 697 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 698 |
</div>
|
| 699 |
-
|
| 700 |
-
|
| 701 |
</div>
|
| 702 |
-
|
| 703 |
-
|
| 704 |
-
|
| 705 |
|
| 706 |
-
{authUser && showScrollHomeBtn
|
| 707 |
<button
|
| 708 |
type="button"
|
| 709 |
className="scroll-home-btn"
|
|
@@ -888,7 +882,6 @@ export default function App() {
|
|
| 888 |
onAbrirModeloNoRepositorio={onAbrirModeloNoRepositorio}
|
| 889 |
routeRequest={modelosRouteRequest}
|
| 890 |
onRouteChange={onModelosRouteChange}
|
| 891 |
-
onModoImersivoChange={setModelosModoImersivo}
|
| 892 |
/>
|
| 893 |
</div>
|
| 894 |
|
|
@@ -909,7 +902,6 @@ export default function App() {
|
|
| 909 |
routeRequest={trabalhosRouteRequest}
|
| 910 |
onRouteChange={onTrabalhosRouteChange}
|
| 911 |
onVoltarAoMapaPesquisa={onVoltarAoMapaPesquisa}
|
| 912 |
-
onModoImersivoChange={setTrabalhosModoImersivo}
|
| 913 |
/>
|
| 914 |
</div>
|
| 915 |
|
|
|
|
| 34 |
const [modelosRouteRequest, setModelosRouteRequest] = useState(null)
|
| 35 |
const [trabalhosRouteRequest, setTrabalhosRouteRequest] = useState(null)
|
| 36 |
const [pendingDeepLinkIntent, setPendingDeepLinkIntent] = useState(null)
|
|
|
|
|
|
|
| 37 |
|
| 38 |
const [authLoading, setAuthLoading] = useState(true)
|
| 39 |
const [authUser, setAuthUser] = useState(null)
|
|
|
|
| 121 |
setModelosRouteRequest(null)
|
| 122 |
setTrabalhosRouteRequest(null)
|
| 123 |
setPendingDeepLinkIntent(null)
|
|
|
|
|
|
|
| 124 |
setLogsStatus(null)
|
| 125 |
setLogsOpen(false)
|
| 126 |
setLogsEvents([])
|
|
|
|
| 607 |
|
| 608 |
return (
|
| 609 |
<div className="app-shell">
|
| 610 |
+
<header ref={headerRef} className={authUser ? 'app-header app-header-logged' : 'app-header app-header-logo-only'}>
|
| 611 |
+
<div className="brand-mark" aria-hidden="true">
|
| 612 |
+
<img src={`${import.meta.env.BASE_URL}logo_mesa.png`} alt="MESA" />
|
| 613 |
+
</div>
|
| 614 |
+
{authUser ? (
|
| 615 |
+
<div className="app-top-actions">
|
| 616 |
+
<nav className="tabs" aria-label="Navegação principal">
|
| 617 |
+
{TABS.map((tab) => {
|
| 618 |
+
const active = tab.key === activeTab
|
| 619 |
+
return (
|
| 620 |
+
<button
|
| 621 |
+
key={tab.key}
|
| 622 |
+
className={active ? 'tab-pill active' : 'tab-pill'}
|
| 623 |
+
onClick={() => {
|
| 624 |
+
setActiveTab(tab.key)
|
| 625 |
+
setShowStartupIntro(false)
|
| 626 |
+
setLogsOpen(false)
|
| 627 |
+
setSettingsOpen(false)
|
| 628 |
+
const slug = getAppTabSlugFromKey(tab.key)
|
| 629 |
+
if (slug === 'modelos') {
|
| 630 |
+
syncRouteIntent(lastModelosRouteRef.current || { tab: 'modelos' })
|
| 631 |
+
return
|
| 632 |
+
}
|
| 633 |
+
if (slug === 'trabalhos') {
|
| 634 |
+
syncRouteIntent(lastTrabalhosRouteRef.current || { tab: 'trabalhos' })
|
| 635 |
+
return
|
| 636 |
+
}
|
| 637 |
+
if (slug === 'avaliacao') {
|
| 638 |
+
syncRouteIntent(lastAvaliacaoRouteRef.current || { tab: 'avaliacao' })
|
| 639 |
+
return
|
| 640 |
+
}
|
| 641 |
+
if (slug === 'elaboracao') {
|
| 642 |
+
syncRouteIntent(lastElaboracaoRouteRef.current || { tab: 'elaboracao' })
|
| 643 |
+
}
|
| 644 |
+
}}
|
| 645 |
+
type="button"
|
| 646 |
+
>
|
| 647 |
+
<strong>{tab.label}</strong>
|
| 648 |
+
</button>
|
| 649 |
+
)
|
| 650 |
+
})}
|
| 651 |
+
</nav>
|
| 652 |
+
|
| 653 |
+
<div ref={settingsMenuRef} className={`settings-menu${settingsOpen ? ' is-open' : ''}`}>
|
| 654 |
+
<button
|
| 655 |
+
type="button"
|
| 656 |
+
className="settings-gear-btn"
|
| 657 |
+
aria-haspopup="menu"
|
| 658 |
+
aria-expanded={settingsOpen}
|
| 659 |
+
aria-label="Abrir configurações"
|
| 660 |
+
onClick={() => setSettingsOpen((prev) => !prev)}
|
| 661 |
+
title="Configurações"
|
| 662 |
+
>
|
| 663 |
+
⚙
|
| 664 |
+
</button>
|
| 665 |
+
{settingsOpen ? (
|
| 666 |
+
<div className="settings-menu-panel" role="menu" aria-label="Configurações do usuário">
|
| 667 |
+
<div className="settings-user-summary">
|
| 668 |
+
Usuário: <strong>{authUser.nome || authUser.usuario}</strong> ({authUser.perfil || 'viewer'})
|
| 669 |
+
</div>
|
| 670 |
+
<div className="settings-menu-actions">
|
| 671 |
+
{isAdmin ? (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 672 |
<button
|
| 673 |
type="button"
|
| 674 |
+
className="settings-menu-btn"
|
| 675 |
+
onClick={() => {
|
| 676 |
+
void onToggleLogs()
|
| 677 |
+
setSettingsOpen(false)
|
| 678 |
+
}}
|
| 679 |
+
disabled={logsStatusLoading || (!logsEnabled && !logsOpen)}
|
| 680 |
+
title={logsOpen ? 'Fechar visualização de logs' : !logsEnabled ? logsDisabledReason : 'Abrir leitura de logs'}
|
| 681 |
>
|
| 682 |
+
{logsOpen ? 'Fechar logs' : 'Abrir logs'}
|
| 683 |
</button>
|
| 684 |
+
) : null}
|
| 685 |
+
<button
|
| 686 |
+
type="button"
|
| 687 |
+
className="settings-menu-btn settings-menu-btn-danger"
|
| 688 |
+
onClick={() => void onLogout()}
|
| 689 |
+
>
|
| 690 |
+
Sair
|
| 691 |
+
</button>
|
| 692 |
</div>
|
| 693 |
+
</div>
|
| 694 |
+
) : null}
|
| 695 |
</div>
|
| 696 |
+
</div>
|
| 697 |
+
) : null}
|
| 698 |
+
</header>
|
| 699 |
|
| 700 |
+
{authUser && showScrollHomeBtn ? (
|
| 701 |
<button
|
| 702 |
type="button"
|
| 703 |
className="scroll-home-btn"
|
|
|
|
| 882 |
onAbrirModeloNoRepositorio={onAbrirModeloNoRepositorio}
|
| 883 |
routeRequest={modelosRouteRequest}
|
| 884 |
onRouteChange={onModelosRouteChange}
|
|
|
|
| 885 |
/>
|
| 886 |
</div>
|
| 887 |
|
|
|
|
| 902 |
routeRequest={trabalhosRouteRequest}
|
| 903 |
onRouteChange={onTrabalhosRouteChange}
|
| 904 |
onVoltarAoMapaPesquisa={onVoltarAoMapaPesquisa}
|
|
|
|
| 905 |
/>
|
| 906 |
</div>
|
| 907 |
|