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
co-authored by Claude Sonnet 4.6
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) setAuthed(true)
} }
function handleLogout() {
sessionStorage.removeItem('qfx-auth')
sessionStorage.removeItem('qfx-v')
setAuthed(false)
setInApp(false)
}
function enterApp() { function enterApp() {
sessionStorage.setItem('qfx-v', '1') sessionStorage.setItem('qfx-v', '1')
setInApp(true) setInApp(true)
@@ -126,7 +133,7 @@ export default function App() {
return ( return (
<div style={{ display:'flex', flexDirection:'column', height:'100vh', overflow:'hidden' }}> <div style={{ display:'flex', flexDirection:'column', height:'100vh', overflow:'hidden' }}>
<Navbar /> <Navbar onLogout={handleLogout} />
{/* Main layout: sidebar + content */} {/* Main layout: sidebar + content */}
<div style={{ display:'flex', flex:1, overflow:'hidden' }}> <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 { pair, setPair, setS, toShareURL } = usePortfolioStore()
const [rates, setRates] = useState([]) const [rates, setRates] = useState([])
const [time, setTime] = useState(new Date()) const [time, setTime] = useState(new Date())
@@ -130,6 +130,11 @@ export default function Navbar() {
{time.toLocaleTimeString('en-GB', { hour12:false })} {time.toLocaleTimeString('en-GB', { hour12:false })}
</div> </div>
<div style={{ fontSize:9, color:'var(--text-muted)' }}>UTC</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>
</div> </div>