Profile urls, scrollbar, ProfilePage refactoring #646

Merged
mmalmi merged 10 commits from mmalmi/snort:main into main 2023-10-09 18:41:32 +00:00
Showing only changes of commit 79ef147023 - Show all commits

View File

@ -21,7 +21,7 @@ import Avatar from "Element/User/Avatar";
import Timeline from "Element/Feed/Timeline";
import Text from "Element/Text";
import SendSats from "Element/SendSats";
import Nip05, { useIsVerified } from "Element/User/Nip05";
import Nip05 from "Element/User/Nip05";
import Copy from "Element/Copy";
import ProfileImage from "Element/User/ProfileImage";
import BlockList from "Element/User/BlockList";
@ -69,7 +69,6 @@ export default function ProfilePage({ id: propId }: ProfilePageProps) {
const [modalImage, setModalImage] = useState<string>("");
const aboutText = user?.about || "";
const npub = !id?.startsWith(NostrPrefix.PublicKey) ? hexToBech32(NostrPrefix.PublicKey, id || undefined) : id;
const { isVerified } = useIsVerified(user?.pubkey || "");
mmalmi marked this conversation as resolved Outdated

We could change this hook on packages/app/src/Element/User/Nip05.tsx and make the pubkey param optional.

By doing so, we can avoid that OR operator when calling the hook.

We could change this hook on `packages/app/src/Element/User/Nip05.tsx` and make the `pubkey` param optional. By doing so, we can avoid that **OR** operator when calling the hook.

done

done
const lnurl = (() => {
try {
@ -140,23 +139,13 @@ export default function ProfilePage({ id: propId }: ProfilePageProps) {
}
useEffect(() => {
const replaceWith = (username: string) => {
const current = window.location.pathname;
const npub = hexToBech32(NostrPrefix.PublicKey, user?.pubkey);
if (current.endsWith(`/${npub}`)) {
window.history.replaceState?.(null, "", `/${username}`);
}
};
if (user?.nip05) {
if (user?.nip05 && user?.isNostrAddressValid) {
if (user.nip05.endsWith(`@${process.env.NIP05_DOMAIN}`)) {
const username = user.nip05?.replace(`@${process.env.NIP05_DOMAIN}`, "");
replaceWith(username);
} else {
// do we want this? would need to support urls with dots like /fiatjaf.com
// replaceWith(user.nip05?.replace(/^_@/, ""));
navigate(`/${username}`, { replace: true });
}
mmalmi marked this conversation as resolved
Review

you should be able to use navigate(`/${username`, { replace: true });

you should be able to use ```navigate(`/${username`, { replace: true });```
Review

perfect!

perfect!
}
}, [isVerified, user?.pubkey]);
}, [user?.isNostrAddressValid, user?.nip05]);
function username() {
return (