@@ -40,16 +40,16 @@ import {
40
40
parseStoryDates ,
41
41
} from "./_components/utils"
42
42
43
+ import { routing } from "@/i18n/routing"
43
44
import { fetch10YearEvents } from "@/lib/api/fetch10YearEvents"
44
45
import { fetch10YearStories } from "@/lib/api/fetch10YearStories"
45
46
import { fetchTorchHolders } from "@/lib/api/fetchTorchHolders"
46
47
import {
47
- getCurrentHolderAddress ,
48
+ getCurrentHolder ,
48
49
getHolderEvents ,
49
50
getTransferEvents ,
50
51
isAddressFiltered ,
51
52
isTorchBurned ,
52
- TorchHolderEvent ,
53
53
} from "@/lib/torch"
54
54
import TenYearLogo from "@/public/images/10-year-anniversary/10-year-logo.png"
55
55
@@ -92,6 +92,8 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => {
92
92
const adoptionCards = await getAdoptionCards ( )
93
93
94
94
// Torch NFT data fetching logic
95
+ const transferEvents = await getTransferEvents ( )
96
+
95
97
const torchHolderMap : Record < string , ( typeof allTorchHolders ) [ 0 ] > =
96
98
allTorchHolders . reduce (
97
99
( acc , holder ) => {
@@ -101,33 +103,25 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => {
101
103
{ } as Record < string , ( typeof allTorchHolders ) [ 0 ] >
102
104
)
103
105
104
- const transferEvents = await getTransferEvents ( )
105
106
const torchHoldersEvents = await getHolderEvents (
106
107
torchHolderMap ,
107
108
transferEvents
108
109
)
109
110
110
111
let isBurned = false
111
- let currentHolder : TorchHolderEvent | null = null
112
112
try {
113
113
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
122
114
} catch ( error ) {
123
- console . error ( "Error fetching torch data :" , error )
115
+ console . error ( "Error fetching torch burned status :" , error )
124
116
}
125
117
126
118
// Filter out events where the address is in the filtered list
127
119
const torchHolders = torchHoldersEvents . filter (
128
120
( holder ) => ! isAddressFiltered ( holder . address )
129
121
)
130
122
123
+ const currentHolder = getCurrentHolder ( torchHolders )
124
+
131
125
return (
132
126
< MainArticle className = "mx-auto flex w-full flex-col items-center" >
133
127
< TenYearHero locale = { locale } />
@@ -491,6 +485,12 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => {
491
485
)
492
486
}
493
487
488
+ export async function generateStaticParams ( ) {
489
+ return routing . locales . map ( ( locale ) => ( {
490
+ locale,
491
+ } ) )
492
+ }
493
+
494
494
export async function generateMetadata ( {
495
495
params,
496
496
} : {
0 commit comments