diff --git a/src/components/site/PostFooter.tsx b/src/components/site/PostFooter.tsx
index 5a6452ae..9886bfa6 100644
--- a/src/components/site/PostFooter.tsx
+++ b/src/components/site/PostFooter.tsx
@@ -20,6 +20,8 @@ import { DuplicateIcon } from "@heroicons/react/solid"
import { Comment } from "~/components/common/Comment"
import { UniLink } from "~/components/ui/UniLink"
import { Modal } from "~/components/ui/Modal"
+import { Avatar } from "../ui/Avatar"
+import { BlockchainIcon } from "~/components/icons/BlockchainIcon"
export const PostFooter: React.FC<{
page?: Note
@@ -36,22 +38,8 @@ export const PostFooter: React.FC<{
const router = useRouter()
let [isLikeOpen, setIsLikeOpen] = useState(false)
let [isMintOpen, setIsMintOpen] = useState(false)
-
- function closeLikeModal() {
- setIsLikeOpen(false)
- }
-
- function openLikeModal() {
- setIsLikeOpen(true)
- }
-
- function closeMintModal() {
- setIsMintOpen(false)
- }
-
- function openMintModal() {
- setIsMintOpen(true)
- }
+ let [isLikeListOpen, setIsLikeListOpen] = useState(false)
+ let [isMintListOpen, setIsMintListOpen] = useState(false)
const likes = useGetLikes({
pageId: page?.id,
@@ -77,7 +65,7 @@ export const PostFooter: React.FC<{
router.push(`${SITE_URL}/dashboard/new-site`)
} else if (page?.id) {
if (isLike.data?.count) {
- openLikeModal()
+ setIsLikeOpen(true)
} else {
likePage.mutate({
address,
@@ -95,7 +83,7 @@ export const PostFooter: React.FC<{
router.push(`${SITE_URL}/dashboard/new-site`)
} else if (page?.id) {
if (isMint.data?.count) {
- openMintModal()
+ setIsMintOpen(true)
} else {
mintPage.mutate({
address,
@@ -155,10 +143,10 @@ export const PostFooter: React.FC<{
return (
<>
-
+
+
+
@@ -200,14 +232,14 @@ export const PostFooter: React.FC<{
-
@@ -221,11 +253,93 @@ export const PostFooter: React.FC<{
-
+ setIsMintOpen(false)}>
Got it, thanks!
+
+
+ {likes.data?.list?.map((like: any, index) => (
+ -
+
+
+ {like.fromCharacter?.metadata?.content?.name}
+
+ @{like.fromCharacter?.handle}
+
+
+
+
+
+
+ ))}
+
+
+ setIsLikeListOpen(false)}>
+ Close
+
+
+
+
+
+ {mints.data?.list?.map((mint: any, index) => (
+ -
+
+
+ {mint.character?.metadata?.content?.name}
+
+ @{mint.character?.handle}
+
+
+
+
+
+
+ ))}
+
+
+ setIsMintListOpen(false)}>
+ Close
+
+
+
>
diff --git a/src/components/ui/Avatar.tsx b/src/components/ui/Avatar.tsx
index 03a1c453..72ad4d21 100644
--- a/src/components/ui/Avatar.tsx
+++ b/src/components/ui/Avatar.tsx
@@ -21,7 +21,8 @@ export const Avatar: React.FC<
const image = useMemo(() => {
for (const image of images) {
- if (image) return image
+ if (image)
+ return image.replace("ipfs://", "https://gateway.ipfs.io/ipfs/")
}
}, [images])
@@ -51,7 +52,7 @@ export const Avatar: React.FC<
{/* eslint-disable-next-line @next/next/no-img-element */}
-
+
)
}
diff --git a/src/models/page.model.ts b/src/models/page.model.ts
index 6e1774df..c9899963 100644
--- a/src/models/page.model.ts
+++ b/src/models/page.model.ts
@@ -342,7 +342,6 @@ export async function getLikes({ pageId }: { pageId: string }) {
pageId.split("-")[1],
{
linkType: "like",
- limit: 0,
},
)
}
@@ -381,13 +380,19 @@ export async function mintPage({
}
export async function getMints({ pageId }: { pageId: string }) {
- return indexer.getMintedNotesOfNote(
+ const data = await indexer.getMintedNotesOfNote(
pageId.split("-")[0],
pageId.split("-")[1],
- {
- limit: 0,
- },
)
+
+ await Promise.all(
+ data.list.map(async (item: any) => {
+ const owner = item.owner
+ item.character = await indexer.getPrimaryCharacter(owner)
+ }),
+ )
+
+ return data
}
export async function checkMint({
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 5a3404cc..ea495783 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -77,7 +77,7 @@ export default function Home({ region }: { region: string | null }) {
},
icon:
,
title: "Rich Interactions",
- text: "Users can follow, comment, like, and collect your blog and posts, all on the blockchain of course.",
+ text: "Users can follow, comment, like, and mint your blog and posts, all on the blockchain of course.",
},
{
screenshot: {
@@ -105,9 +105,8 @@ export default function Home({ region }: { region: string | null }) {
"Only Controlled by Yourself",
"Open Source",
"Self-hosting",
- "Like Interaction",
- "Comment Interaction",
- "Following Interaction",
+ "Like Posts",
+ "Comment Posts",
"Custom Domain",
"Custom CSS",
"Navigation",