forked from Kieran/snort
NostrLink initialState
This commit is contained in:
parent
f47994b3ee
commit
789476c677
@ -1,5 +1,5 @@
|
||||
import { useLocation, useNavigate } from "react-router-dom";
|
||||
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
||||
import React, { useCallback, useMemo } from "react";
|
||||
import classNames from "classnames";
|
||||
import { LogoHeader } from "@/Pages/Layout/LogoHeader";
|
||||
import { rootTabItems, RootTabs } from "@/Element/Feed/RootTabs";
|
||||
@ -16,7 +16,15 @@ export function Header() {
|
||||
const navigate = useNavigate();
|
||||
const location = useLocation();
|
||||
const pageName = decodeURIComponent(location.pathname.split("/")[1]);
|
||||
const [nostrLink, setNostrLink] = useState<NostrLink | undefined>();
|
||||
|
||||
const nostrLink = useMemo(() => {
|
||||
try {
|
||||
return parseNostrLink(pageName);
|
||||
} catch (e) {
|
||||
return undefined;
|
||||
}
|
||||
}, [pageName]);
|
||||
|
||||
const { publicKey, tags } = useLogin();
|
||||
|
||||
const isRootTab = useMemo(() => {
|
||||
@ -27,14 +35,6 @@ export function Header() {
|
||||
window.scrollTo({ top: 0, behavior: "instant" });
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
try {
|
||||
setNostrLink(parseNostrLink(pageName));
|
||||
} catch (e) {
|
||||
setNostrLink(undefined);
|
||||
}
|
||||
}, [pageName]);
|
||||
|
||||
const handleBackButtonClick = () => {
|
||||
const idx = window.history.state?.idx;
|
||||
if (idx === undefined || idx > 0) {
|
||||
|
@ -12,7 +12,7 @@ export default function NostrLinkHandler() {
|
||||
const { state } = useLocation();
|
||||
const { link } = useParams();
|
||||
|
||||
const determineInitialComponent = (link) => {
|
||||
const determineInitialComponent = link => {
|
||||
const nav = tryParseNostrLink(link);
|
||||
if (nav) {
|
||||
switch (nav.type) {
|
||||
|
Loading…
Reference in New Issue
Block a user