aboutsummaryrefslogtreecommitdiff
path: root/src/index.tsx
diff options
context:
space:
mode:
authorEugene Sokolov <eug-vs@keemail.me>2020-06-15 18:19:56 +0300
committerGitHub <noreply@github.com>2020-06-15 18:19:56 +0300
commitb860685d212200b5a46b7fea066306b851bf6e26 (patch)
tree18d27607f93a731d54d7a5fb8a3a681ddbf1673b /src/index.tsx
parent185ab6f4025ff41313b12efb8cff49009c1af85e (diff)
parentdd297844bd602625804e0ddb0706e737ab655334 (diff)
downloadwhich-ui-b860685d212200b5a46b7fea066306b851bf6e26.tar.gz
Merge pull request #37 from ilyayudovin/token
Get access token
Diffstat (limited to 'src/index.tsx')
-rw-r--r--src/index.tsx23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/index.tsx b/src/index.tsx
index 876491d..a06ec62 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -14,7 +14,7 @@ import ProfilePage from './pages/ProfilePage/ProfilePage';
import FeedPage from './pages/FeedPage/FeedPage';
import AuthPage from './pages/AuthPage/AuthPage';
import { User, Page } from './types';
-import { get } from './requests';
+import { get, post } from './requests';
const theme = createMuiTheme({
@@ -52,9 +52,26 @@ const App: React.FC = () => {
}
};
+ const logIn = (name: string, password: string): Promise<boolean> => {
+ return post('/authentication', {
+ strategy: 'local',
+ name,
+ password
+ }).then(response => {
+ const me = response.data.user;
+ const token = response.data.accessToken;
+ setUser(me);
+ localStorage.setItem('userId', me._id);
+ localStorage.setItem('token', token);
+ navigate('profile', me._id);
+ return true;
+ }).catch(() => false);
+ };
+
const logOut = () => {
- localStorage.removeItem('userId');
setUser(undefined);
+ localStorage.removeItem('userId');
+ localStorage.removeItem('token');
navigate('auth');
};
@@ -74,7 +91,7 @@ const App: React.FC = () => {
<div className={classes.root}>
{ page.prefix === 'profile' && <ProfilePage logOut={logOut} id={page.id} navigate={navigate} /> }
{ page.prefix === 'feed' && <FeedPage navigate={navigate} /> }
- { page.prefix === 'auth' && <AuthPage setUser={setUser} navigate={navigate} /> }
+ { page.prefix === 'auth' && <AuthPage logIn={logIn} /> }
</div>
</ThemeProvider>
);