Spaces:
Sleeping
Sleeping
File size: 1,138 Bytes
8b1e853 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
import React, { useState, useEffect } from 'react';
import { Box, VStack } from '@chakra-ui/react';
import Login from './components/Login';
import Chat from './components/Chat';
const App: React.FC = () => {
const [isLoggedIn, setIsLoggedIn] = useState(false);
const [token, setToken] = useState('');
useEffect(() => {
const storedToken = localStorage.getItem('token');
console.log('STORED', storedToken)
if (storedToken) {
setIsLoggedIn(true);
setToken(storedToken);
}
}, []);
const handleLogin = (newToken: string) => {
setIsLoggedIn(true);
setToken(newToken);
console.log('NEW TOKEN', newToken)
localStorage.setItem('token', newToken);
};
const handleLogout = () => {
setIsLoggedIn(false);
setToken('');
localStorage.removeItem('token');
};
return (
<>
{!isLoggedIn ? (
<Box minHeight="100vh" bg="gray.100">
<VStack spacing={8} py={10}>
<Login onLogin={handleLogin} />
</VStack>
</Box>
) : (
<Chat token={token} onLogout={handleLogout} />
)}
</>
);
};
export default App; |