2023-01-20 17:07:14 +00:00
|
|
|
import "./Index.css";
|
2023-02-08 21:10:26 +00:00
|
|
|
import { FormattedMessage } from "react-intl";
|
2023-01-27 21:10:14 +00:00
|
|
|
import { useDispatch } from "react-redux";
|
|
|
|
import { useNavigate } from "react-router-dom";
|
2023-02-05 22:44:31 +00:00
|
|
|
import ArrowFront from "Icons/ArrowFront";
|
|
|
|
import Gear from "Icons/Gear";
|
|
|
|
import Profile from "Icons/Profile";
|
|
|
|
import Relay from "Icons/Relay";
|
|
|
|
import Heart from "Icons/Heart";
|
|
|
|
import Logout from "Icons/Logout";
|
2023-01-27 21:10:14 +00:00
|
|
|
import { logout } from "State/Login";
|
|
|
|
|
2023-02-08 21:10:26 +00:00
|
|
|
import messages from "./messages";
|
|
|
|
|
2023-01-20 17:07:14 +00:00
|
|
|
const SettingsIndex = () => {
|
2023-02-07 20:04:50 +00:00
|
|
|
const dispatch = useDispatch();
|
|
|
|
const navigate = useNavigate();
|
2023-01-20 17:07:14 +00:00
|
|
|
|
2023-02-07 20:04:50 +00:00
|
|
|
function handleLogout() {
|
|
|
|
dispatch(logout());
|
|
|
|
navigate("/");
|
|
|
|
}
|
2023-01-27 21:10:14 +00:00
|
|
|
|
2023-02-07 20:04:50 +00:00
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<div className="settings-nav">
|
|
|
|
<div className="settings-row" onClick={() => navigate("profile")}>
|
|
|
|
<div className="mr10">
|
|
|
|
<Profile />
|
|
|
|
</div>
|
2023-02-08 21:10:26 +00:00
|
|
|
<span>
|
|
|
|
<FormattedMessage {...messages.Profile} />
|
|
|
|
</span>
|
2023-02-07 20:04:50 +00:00
|
|
|
<div className="align-end">
|
|
|
|
<ArrowFront />
|
|
|
|
</div>
|
2023-01-20 17:07:14 +00:00
|
|
|
</div>
|
2023-02-07 20:04:50 +00:00
|
|
|
<div className="settings-row" onClick={() => navigate("relays")}>
|
|
|
|
<div className="mr10">
|
|
|
|
<Relay />
|
|
|
|
</div>
|
2023-02-08 21:10:26 +00:00
|
|
|
<FormattedMessage {...messages.Relays} />
|
2023-02-07 20:04:50 +00:00
|
|
|
<div className="align-end">
|
|
|
|
<ArrowFront />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div className="settings-row" onClick={() => navigate("preferences")}>
|
|
|
|
<div className="mr10">
|
|
|
|
<Gear />
|
|
|
|
</div>
|
2023-02-08 21:10:26 +00:00
|
|
|
<FormattedMessage {...messages.Preferences} />
|
2023-02-07 20:04:50 +00:00
|
|
|
<div className="align-end">
|
|
|
|
<ArrowFront />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div className="settings-row" onClick={() => navigate("/donate")}>
|
|
|
|
<div className="mr10">
|
|
|
|
<Heart />
|
|
|
|
</div>
|
2023-02-09 12:57:52 +00:00
|
|
|
<FormattedMessage {...messages.Donate} />
|
2023-02-07 20:04:50 +00:00
|
|
|
<div className="align-end">
|
|
|
|
<ArrowFront />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div className="settings-row" onClick={handleLogout}>
|
|
|
|
<div className="mr10">
|
|
|
|
<Logout />
|
|
|
|
</div>
|
2023-02-08 21:10:26 +00:00
|
|
|
<FormattedMessage {...messages.LogOut} />
|
2023-02-07 20:04:50 +00:00
|
|
|
<div className="align-end">
|
|
|
|
<ArrowFront />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
};
|
2023-01-20 17:07:14 +00:00
|
|
|
|
2023-02-05 22:44:31 +00:00
|
|
|
export default SettingsIndex;
|