Skip to content

Commit 675798d

Browse files
authored
Merge pull request #15899 from ethereum/hotfix-10y
Hotfix static render 10y page
2 parents 75a7659 + ab6f2f4 commit 675798d

File tree

2 files changed

+16
-29
lines changed

2 files changed

+16
-29
lines changed

app/[locale]/10years/page.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,16 @@ import {
4040
parseStoryDates,
4141
} from "./_components/utils"
4242

43+
import { routing } from "@/i18n/routing"
4344
import { fetch10YearEvents } from "@/lib/api/fetch10YearEvents"
4445
import { fetch10YearStories } from "@/lib/api/fetch10YearStories"
4546
import { fetchTorchHolders } from "@/lib/api/fetchTorchHolders"
4647
import {
47-
getCurrentHolderAddress,
48+
getCurrentHolder,
4849
getHolderEvents,
4950
getTransferEvents,
5051
isAddressFiltered,
5152
isTorchBurned,
52-
TorchHolderEvent,
5353
} from "@/lib/torch"
5454
import TenYearLogo from "@/public/images/10-year-anniversary/10-year-logo.png"
5555

@@ -92,6 +92,8 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => {
9292
const adoptionCards = await getAdoptionCards()
9393

9494
// Torch NFT data fetching logic
95+
const transferEvents = await getTransferEvents()
96+
9597
const torchHolderMap: Record<string, (typeof allTorchHolders)[0]> =
9698
allTorchHolders.reduce(
9799
(acc, holder) => {
@@ -101,33 +103,25 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => {
101103
{} as Record<string, (typeof allTorchHolders)[0]>
102104
)
103105

104-
const transferEvents = await getTransferEvents()
105106
const torchHoldersEvents = await getHolderEvents(
106107
torchHolderMap,
107108
transferEvents
108109
)
109110

110111
let isBurned = false
111-
let currentHolder: TorchHolderEvent | null = null
112112
try {
113113
isBurned = await isTorchBurned()
114-
const currentHolderAddress = await getCurrentHolderAddress()
115-
const isFiltered = isAddressFiltered(currentHolderAddress)
116-
const currentHolderEvent = torchHoldersEvents.find(
117-
(holder) =>
118-
holder.address.toLowerCase() === currentHolderAddress.toLowerCase()
119-
)
120-
121-
currentHolder = !isFiltered ? (currentHolderEvent ?? null) : null
122114
} catch (error) {
123-
console.error("Error fetching torch data:", error)
115+
console.error("Error fetching torch burned status:", error)
124116
}
125117

126118
// Filter out events where the address is in the filtered list
127119
const torchHolders = torchHoldersEvents.filter(
128120
(holder) => !isAddressFiltered(holder.address)
129121
)
130122

123+
const currentHolder = getCurrentHolder(torchHolders)
124+
131125
return (
132126
<MainArticle className="mx-auto flex w-full flex-col items-center">
133127
<TenYearHero locale={locale} />
@@ -491,6 +485,12 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => {
491485
)
492486
}
493487

488+
export async function generateStaticParams() {
489+
return routing.locales.map((locale) => ({
490+
locale,
491+
}))
492+
}
493+
494494
export async function generateMetadata({
495495
params,
496496
}: {

src/lib/torch/index.ts

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -94,22 +94,9 @@ export const getHolderEvents = async (
9494
})
9595
}
9696

97-
export const getCurrentHolderAddress = cache(
98-
async () => {
99-
const publicClient = getPublicClient(config)
100-
101-
// If not burned, get the current holder
102-
const currentHolderAddress = (await publicClient.readContract({
103-
address: TORCH_CONTRACT_ADDRESS,
104-
abi: TORCH_ABI,
105-
functionName: "currentHolder",
106-
})) as Address
107-
108-
return currentHolderAddress
109-
},
110-
["torch-current-holder"],
111-
{ revalidate: 86400 }
112-
)
97+
export const getCurrentHolder = (holderEvents: TorchHolderEvent[]) => {
98+
return holderEvents[holderEvents.length - 1]
99+
}
113100

114101
export const isTorchBurned = cache(
115102
async () => {

0 commit comments

Comments
 (0)