fix: owner address

This commit is contained in:
DIYgod 2022-08-06 18:43:31 +01:00
parent 51a139099a
commit 5ea3e3465d
No known key found for this signature in database
GPG Key ID: D159328F47A80DCA
3 changed files with 22 additions and 40 deletions

View File

@ -9,15 +9,6 @@ export const SiteFooter: React.FC<{
site?: Profile
page?: Note
}> = ({ site, page }) => {
const { address } = useAccount()
const [addressIn, setAddressIn] = useState("")
useEffect(() => {
if (address) {
setAddressIn(address)
}
}, [address])
return (
<footer className="text-zinc-500 border-t">
<div className="max-w-screen-md mx-auto px-5 py-10 text-xs">
@ -48,7 +39,7 @@ export const SiteFooter: React.FC<{
<li className="mt-2">
<div className="font-bold">Author Address</div>
<div>
<a target="_blank" rel="noreferrer" className="inline-block mr-4 break-all" href={`https://scan.crossbell.io/address/${addressIn}`} key={addressIn}>{addressIn}</a>
<a target="_blank" rel="noreferrer" className="inline-block mr-4 break-all" href={`https://scan.crossbell.io/address/${site?.metadata?.owner}`} key={site?.metadata?.owner}>{site?.metadata?.owner}</a>
</div>
</li>
</ul>

View File

@ -11,7 +11,7 @@ import { DashboardIcon } from "../icons/DashboardIcon"
import { Avatar } from "../ui/Avatar"
import { Button } from "../ui/Button"
import { UniLink } from "../ui/UniLink"
import { Profile } from "unidata.js"
import { Profile } from "~/lib/types"
import { ConnectButton } from "../common/ConnectButton"
import { useAccount } from "wagmi"
import unidata from "~/lib/unidata"
@ -51,33 +51,28 @@ const HeaderLink: React.FC<{ link: HeaderLinkType }> = ({ link }) => {
}
export const SiteHeader: React.FC<{
siteName: string | undefined
description: string | undefined | null
icon: string | null | undefined
navigation?: HeaderLinkType[]
site?: string | undefined
}> = ({ siteName, description, icon, navigation, site }) => {
site?: Profile | undefined
}> = ({ site }) => {
const { address } = useAccount()
const subscribeToSite = useSubscribeToSite()
const unsubscribeFromSite = useUnsubscribeFromSite()
const { openConnectModal } = useConnectModal()
const [followProgress, setFollowProgress] = useState<boolean>(false)
const router = useRouter()
const handleClickSubscribe = async () => {
if (!address) {
setFollowProgress(true)
openConnectModal?.()
} else if (site) {
} else if (site?.username) {
if (subscription.data) {
unsubscribeFromSite.mutate({
userId: address,
siteId: site,
siteId: site.username,
})
} else {
subscribeToSite.mutate({
userId: address,
siteId: site,
siteId: site.username,
})
}
}
@ -85,39 +80,39 @@ export const SiteHeader: React.FC<{
const subscription = useGetSubscription({
userId: address || '',
siteId: site || '',
siteId: site?.username || '',
})
useEffect(() => {
if (followProgress && address && subscription.isSuccess && !subscription.data && site) {
if (followProgress && address && subscription.isSuccess && !subscription.data && site?.username) {
subscribeToSite.mutate({
userId: address,
siteId: site,
siteId: site.username,
})
setFollowProgress(false)
}
}, [followProgress, address, subscription.isSuccess, subscription.data, site, subscribeToSite])
}, [followProgress, address, subscription.isSuccess, subscription.data, site?.username, subscribeToSite])
const leftLinks: HeaderLinkType[] = [
{ label: "Home", url: "/" },
...(navigation || []),
...(site?.navigation || []),
]
const moreMenuItems = [
{
text: "View on Crossbell.io",
icon: <CrossbellIcon />,
url: `https://crossbell.kindjeff.com/@${site}`,
url: `https://crossbell.kindjeff.com/@${site?.username}`,
},
{
text: "View on RSS3",
icon: <RSS3Icon />,
url: `https://rss3.io/result?search=${address}`,
url: `https://rss3.io/result?search=${site?.metadata?.owner}`,
},
{
text: "View on blockchain explorer",
icon: <BlockchainIcon />,
url: `https://scan.crossbell.io/address/${address}/transactions`,
url: `https://scan.crossbell.io/address/${site?.metadata?.owner}/transactions`,
},
]
@ -126,17 +121,17 @@ export const SiteHeader: React.FC<{
<div className="px-5 max-w-screen-md mx-auto">
<div className="flex py-10">
<div className="flex space-x-6 items-center">
{icon && (
{site?.avatars?.[0] && (
<Avatar
images={[getUserContentsUrl(icon)]}
images={[getUserContentsUrl(site?.avatars?.[0])]}
size={100}
name={siteName}
name={site?.name}
/>
)}
<div>
<div className="text-2xl font-bold">{siteName}</div>
{description && (
<div className="text-gray-500 text-sm">{description}</div>
<div className="text-2xl font-bold">{site?.name}</div>
{site?.bio && (
<div className="text-gray-500 text-sm">{site?.bio}</div>
)}
<div className="mt-3 text-sm">
{subscription.data ?

View File

@ -45,11 +45,7 @@ export const SiteLayout: React.FC<SiteLayoutProps> = ({
image={getUserContentsUrl(site?.avatars?.[0])}
/>
<SiteHeader
navigation={site?.navigation || []}
siteName={site?.name}
description={site?.bio}
icon={site?.avatars?.[0]}
site={site?.username}
site={site}
/>
<style>{ site?.css }</style>
<div className={clsx(`max-w-screen-md mx-auto px-5 pb-12`, `pt-12`)}>