Clear entropy on completion of onboarding
This commit is contained in:
parent
debc9566cc
commit
710a7dd2de
@ -1,19 +1,27 @@
|
|||||||
import { useIntl, FormattedMessage } from "react-intl";
|
import { useIntl, FormattedMessage } from "react-intl";
|
||||||
|
import { useDispatch } from "react-redux";
|
||||||
import { useNavigate, Link } from "react-router-dom";
|
import { useNavigate, Link } from "react-router-dom";
|
||||||
import { RecommendedFollows } from "Const";
|
import { RecommendedFollows } from "Const";
|
||||||
import Logo from "Element/Logo";
|
import Logo from "Element/Logo";
|
||||||
import FollowListBase from "Element/FollowListBase";
|
import FollowListBase from "Element/FollowListBase";
|
||||||
import { useMemo } from "react";
|
import { useMemo } from "react";
|
||||||
|
import { clearEntropy } from "State/Login";
|
||||||
|
|
||||||
import messages from "./messages";
|
import messages from "./messages";
|
||||||
|
|
||||||
export default function DiscoverFollows() {
|
export default function DiscoverFollows() {
|
||||||
const { formatMessage } = useIntl();
|
const { formatMessage } = useIntl();
|
||||||
|
const dispatch = useDispatch();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const sortedReccomends = useMemo(() => {
|
const sortedReccomends = useMemo(() => {
|
||||||
return RecommendedFollows.sort(() => (Math.random() >= 0.5 ? -1 : 1));
|
return RecommendedFollows.sort(() => (Math.random() >= 0.5 ? -1 : 1));
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
async function clearEntropyAndGo() {
|
||||||
|
dispatch(clearEntropy());
|
||||||
|
navigate("/");
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="main-content new-user" dir="auto">
|
<div className="main-content new-user" dir="auto">
|
||||||
<Logo />
|
<Logo />
|
||||||
@ -27,7 +35,7 @@ export default function DiscoverFollows() {
|
|||||||
<FormattedMessage {...messages.Share} values={{ link: <Link to="/">{formatMessage(messages.World)}</Link> }} />
|
<FormattedMessage {...messages.Share} values={{ link: <Link to="/">{formatMessage(messages.World)}</Link> }} />
|
||||||
</p>
|
</p>
|
||||||
<div className="next-actions continue-actions">
|
<div className="next-actions continue-actions">
|
||||||
<button type="button" onClick={() => navigate("/")}>
|
<button type="button" onClick={() => clearEntropyAndGo()}>
|
||||||
<FormattedMessage {...messages.Done} />{" "}
|
<FormattedMessage {...messages.Done} />{" "}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -333,6 +333,9 @@ const LoginSlice = createSlice({
|
|||||||
window.localStorage.setItem(PrivateKeyItem, action.payload.key);
|
window.localStorage.setItem(PrivateKeyItem, action.payload.key);
|
||||||
state.publicKey = secp.utils.bytesToHex(secp.schnorr.getPublicKey(action.payload.key));
|
state.publicKey = secp.utils.bytesToHex(secp.schnorr.getPublicKey(action.payload.key));
|
||||||
},
|
},
|
||||||
|
clearEntropy: state => {
|
||||||
|
state.generatedEntropy = undefined;
|
||||||
|
},
|
||||||
setPublicKey: (state, action: PayloadAction<HexKey>) => {
|
setPublicKey: (state, action: PayloadAction<HexKey>) => {
|
||||||
window.localStorage.setItem(PublicKeyItem, action.payload);
|
window.localStorage.setItem(PublicKeyItem, action.payload);
|
||||||
state.loggedOut = false;
|
state.loggedOut = false;
|
||||||
@ -479,6 +482,7 @@ export const {
|
|||||||
init,
|
init,
|
||||||
setPrivateKey,
|
setPrivateKey,
|
||||||
setGeneratedPrivateKey,
|
setGeneratedPrivateKey,
|
||||||
|
clearEntropy,
|
||||||
setPublicKey,
|
setPublicKey,
|
||||||
setRelays,
|
setRelays,
|
||||||
removeRelay,
|
removeRelay,
|
||||||
|
Loading…
Reference in New Issue
Block a user