snort/packages/app/src/Pages/settings/Index.tsx

65 lines
2.0 KiB
TypeScript
Raw Normal View History

2023-01-20 17:07:14 +00:00
import "./Index.css";
2023-02-08 21:10:26 +00:00
import { FormattedMessage } from "react-intl";
import { useDispatch } from "react-redux";
import { useNavigate } from "react-router-dom";
2023-03-02 17:47:15 +00:00
import Icon from "Icons/Icon";
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 = () => {
const dispatch = useDispatch();
const navigate = useNavigate();
2023-01-20 17:07:14 +00:00
function handleLogout() {
dispatch(logout());
window.location.href = "/";
}
return (
<>
<div className="settings-nav">
<div className="settings-row" onClick={() => navigate("profile")}>
2023-03-02 17:47:15 +00:00
<Icon name="profile" className="mr10" />
2023-02-08 21:10:26 +00:00
<span>
<FormattedMessage {...messages.Profile} />
</span>
<div className="align-end">
2023-03-02 17:47:15 +00:00
<Icon name="arrowFront" />
</div>
2023-01-20 17:07:14 +00:00
</div>
<div className="settings-row" onClick={() => navigate("relays")}>
2023-03-02 17:47:15 +00:00
<Icon name="relay" className="mr10" />
2023-02-08 21:10:26 +00:00
<FormattedMessage {...messages.Relays} />
<div className="align-end">
2023-03-02 17:47:15 +00:00
<Icon name="arrowFront" />
</div>
</div>
<div className="settings-row" onClick={() => navigate("preferences")}>
2023-03-02 17:47:15 +00:00
<Icon name="gear" className="mr10" />
2023-02-08 21:10:26 +00:00
<FormattedMessage {...messages.Preferences} />
<div className="align-end">
2023-03-02 17:47:15 +00:00
<Icon name="arrowFront" />
</div>
</div>
<div className="settings-row" onClick={() => navigate("/donate")}>
2023-03-02 17:47:15 +00:00
<Icon name="heart" className="mr10" />
2023-02-09 12:57:52 +00:00
<FormattedMessage {...messages.Donate} />
<div className="align-end">
2023-03-02 17:47:15 +00:00
<Icon name="arrowFront" />
</div>
</div>
<div className="settings-row" onClick={handleLogout}>
2023-03-02 17:47:15 +00:00
<Icon name="logout" className="mr10" />
2023-02-08 21:10:26 +00:00
<FormattedMessage {...messages.LogOut} />
<div className="align-end">
2023-03-02 17:47:15 +00:00
<Icon name="arrowFront" />
</div>
</div>
</div>
</>
);
};
2023-01-20 17:07:14 +00:00
2023-02-05 22:44:31 +00:00
export default SettingsIndex;