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 { 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 classNames from "classnames";
|
||||||
import { LogoHeader } from "@/Pages/Layout/LogoHeader";
|
import { LogoHeader } from "@/Pages/Layout/LogoHeader";
|
||||||
import { rootTabItems, RootTabs } from "@/Element/Feed/RootTabs";
|
import { rootTabItems, RootTabs } from "@/Element/Feed/RootTabs";
|
||||||
@ -16,7 +16,15 @@ export function Header() {
|
|||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
const pageName = decodeURIComponent(location.pathname.split("/")[1]);
|
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 { publicKey, tags } = useLogin();
|
||||||
|
|
||||||
const isRootTab = useMemo(() => {
|
const isRootTab = useMemo(() => {
|
||||||
@ -27,14 +35,6 @@ export function Header() {
|
|||||||
window.scrollTo({ top: 0, behavior: "instant" });
|
window.scrollTo({ top: 0, behavior: "instant" });
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
try {
|
|
||||||
setNostrLink(parseNostrLink(pageName));
|
|
||||||
} catch (e) {
|
|
||||||
setNostrLink(undefined);
|
|
||||||
}
|
|
||||||
}, [pageName]);
|
|
||||||
|
|
||||||
const handleBackButtonClick = () => {
|
const handleBackButtonClick = () => {
|
||||||
const idx = window.history.state?.idx;
|
const idx = window.history.state?.idx;
|
||||||
if (idx === undefined || idx > 0) {
|
if (idx === undefined || idx > 0) {
|
||||||
|
@ -12,7 +12,7 @@ export default function NostrLinkHandler() {
|
|||||||
const { state } = useLocation();
|
const { state } = useLocation();
|
||||||
const { link } = useParams();
|
const { link } = useParams();
|
||||||
|
|
||||||
const determineInitialComponent = (link) => {
|
const determineInitialComponent = link => {
|
||||||
const nav = tryParseNostrLink(link);
|
const nav = tryParseNostrLink(link);
|
||||||
if (nav) {
|
if (nav) {
|
||||||
switch (nav.type) {
|
switch (nav.type) {
|
||||||
|
Loading…
Reference in New Issue
Block a user