blob: 17d980edaf5c57b48d05cfdbe9af3e4da04b58ac (
plain)
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
|
import React, { useEffect, useState } from 'react';
import axios from './axios';
import { Link } from '@reach/router';
import userState from './UserState';
const Activate = ({ user, activationToken }) => {
const [ data, setData ] = useState({});
useEffect(() => {
(async () => {
try {
const resp = await axios.post('/activate', { activationToken });
const { username } = resp.data;
user.authError = null;
user.username = username;
setData({
message: 'Account succesfully activated. You are now logged in.',
});
} catch (err) {
setData({
error: err.response.data.error,
});
}
})();
}, []);
return (
<div>
<h2 className="subtitle">Activating account</h2>
<div>
<div className="error" key="error">
{data.error}
</div>
<div>{data.message}</div>
{data.message && <Link to="/">To front page</Link>}
</div>
</div>
);
};
export default props => <Activate user={userState} {...props} />;
|