feat: add logout button to navbar

Clears session and returns user to login page.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Kansaram
2026-06-08 13:21:34 +05:30
parent c0bf6a9416
commit c3c8cd8f98
2 changed files with 14 additions and 2 deletions
+8 -1
View File
@@ -116,6 +116,13 @@ export default function App() {
setAuthed(true)
}
function handleLogout() {
sessionStorage.removeItem('qfx-auth')
sessionStorage.removeItem('qfx-v')
setAuthed(false)
setInApp(false)
}
function enterApp() {
sessionStorage.setItem('qfx-v', '1')
setInApp(true)
@@ -126,7 +133,7 @@ export default function App() {
return (
<div style={{ display:'flex', flexDirection:'column', height:'100vh', overflow:'hidden' }}>
<Navbar />
<Navbar onLogout={handleLogout} />
{/* Main layout: sidebar + content */}
<div style={{ display:'flex', flex:1, overflow:'hidden' }}>
+6 -1
View File
@@ -17,7 +17,7 @@ const TickerItem = ({ item }) => {
)
}
export default function Navbar() {
export default function Navbar({ onLogout }) {
const { pair, setPair, setS, toShareURL } = usePortfolioStore()
const [rates, setRates] = useState([])
const [time, setTime] = useState(new Date())
@@ -130,6 +130,11 @@ export default function Navbar() {
{time.toLocaleTimeString('en-GB', { hour12:false })}
</div>
<div style={{ fontSize:9, color:'var(--text-muted)' }}>UTC</div>
<div style={{ width:1, height:20, background:'var(--border)' }}/>
<button className="btn-ghost" onClick={onLogout}
style={{ fontSize:10, color:'var(--red)', borderColor:'rgba(239,68,68,0.3)' }}>
Logout
</button>
</div>
</div>