Skip to content

Commit

Permalink
bug: fix publication slug usage
Browse files Browse the repository at this point in the history
  • Loading branch information
juliopavila committed May 27, 2024
1 parent 0a7bd8e commit b519c3d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ const PublicationProvider = ({ children }: PublicationProviderProps) => {
undefined,
)
const [removePublicationImage, setRemovePublicationImage] = useState<boolean>(false)

const getPublicationId = async (publicationSlug: string) => {
if (!isConnected && publicationSlug.includes(".eth" || ".lens")) {
return open()
Expand Down
22 changes: 18 additions & 4 deletions packages/app/src/services/publications/hooks/useArticles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { useCallback, useEffect, useState } from "react"
import { useQuery } from "urql"
import { useNotification } from "@/hooks/useNotification"
import { Article } from "@/models/publication"
import { useArticleContext } from "@/services/publications/contexts"
import { useArticleContext, usePublicationContext } from "@/services/publications/contexts"
import { GET_ARTICLES_QUERY, GET_ARTICLE_QUERY } from "@/services/publications/queries"
import { useWalletContext } from "@/connectors/WalletProvider"
import { TransactionResult, TransactionStatus, useExecuteTransaction } from "@/hooks/useContract"
Expand Down Expand Up @@ -32,7 +32,9 @@ const useArticles = () => {
const openNotification = useNotification()
const { encodeIpfsHash, remotePin } = useIPFSContext()
const { saveArticle, setArticles } = useArticleContext()
const { publicationSlug } = useParams<{ publicationSlug: string }>()
const { getPublicationId } = usePublicationContext()
const { publicationSlug: pSlug } = useParams<{ publicationSlug: string }>()
const [publicationSlug, setPublicationSlug] = useState<string>("")
const [data, setData] = useState<Article[] | undefined>(undefined)
const { signer } = useWalletContext()
const [txLoading, setTxLoading] = useState({
Expand All @@ -52,6 +54,16 @@ const useArticles = () => {
Action.ARTICLE,
)

useEffect(() => {
if (pSlug) {
const fetchPublicationId = async () => {
const publicationId = await getPublicationId(pSlug as string)
setPublicationSlug(publicationId ?? pSlug)
}
fetchPublicationId()
}
}, [pSlug, getPublicationId])

const { isIndexed: newArticleIndexed } = useMonitorTransaction(
GET_ARTICLE_QUERY,
{
Expand Down Expand Up @@ -163,15 +175,17 @@ const useArticles = () => {
}

const createNewArticle = async (publicationId: string, fields: ArticleFormSchema) => {
const body = await generateArticleBody(publicationId, fields, encodeIpfsHash, !!isDirectlyOnChain)
const pId = (await getPublicationId(publicationId)) ?? publicationId
const body = await generateArticleBody(pId, fields, encodeIpfsHash, !!isDirectlyOnChain)
console.log("body", body)
handleTransaction({ ...body.articleBody, imgHashes: body.imgHashes }, "create", (result) => {
result.transactionIdTabulaFormat && setNewArticleId(result.transactionIdTabulaFormat)
})
}

const updateArticle = async (publicationId: string, fields: UpdateArticleFormSchema) => {
const body = await generateUpdateArticleBody(publicationId, fields, encodeIpfsHash, !!isDirectlyOnChain)
const pId = (await getPublicationId(publicationId)) ?? publicationId
const body = await generateUpdateArticleBody(pId, fields, encodeIpfsHash, !!isDirectlyOnChain)
handleTransaction({ ...body.articleBody, imgHashes: body.imgHashes }, "update", () => {
setArticleIdToUpdate(fields.id)
setLastUpdated(parseInt(fields.lastUpdated ?? ""))
Expand Down

0 comments on commit b519c3d

Please sign in to comment.