@@ -4,25 +4,42 @@ import { Suspense } from "react";
44import { SearchArenaPools } from "@/components/search-arena-pools" ;
55import { Loader } from "@/components/ui/loader" ;
66import { ArenaPool } from "@/lib/types" ;
7+
78export const metadata : Metadata = {
89 title : "Arena Search - Banks" ,
910 description : "Search for arena banks" ,
1011} ;
1112
13+ export const dynamic = "force-dynamic" ;
14+ export const revalidate = 0 ;
15+
1216async function getBanks ( ) {
13- const arenaPoolsRes = await fetch (
14- `${ process . env . NEXT_PUBLIC_BASE_URL } /api/search/arena/pools/all` ,
15- ) ;
16- const arenaPoolsData = await arenaPoolsRes . json ( ) ;
17- const arenaPools : ArenaPool [ ] = arenaPoolsData . banks . filter (
18- ( pool : ArenaPool ) => pool . group ,
19- ) ;
17+ try {
18+ const baseUrl = process . env . NEXT_PUBLIC_BASE_URL || "http://localhost:3000" ;
19+ const arenaPoolsRes = await fetch ( `${ baseUrl } /api/search/arena/pools/all` , {
20+ next : { revalidate : 0 } ,
21+ } ) ;
22+
23+ if ( ! arenaPoolsRes . ok ) {
24+ console . error ( "Failed to fetch banks:" , arenaPoolsRes . statusText ) ;
25+ return [ ] ;
26+ }
2027
21- if ( ! arenaPoolsRes . ok || ! arenaPools ) {
28+ const arenaPoolsData = await arenaPoolsRes . json ( ) ;
29+
30+ if ( ! arenaPoolsData . banks ) {
31+ return [ ] ;
32+ }
33+
34+ const arenaPools : ArenaPool [ ] = arenaPoolsData . banks . filter (
35+ ( pool : ArenaPool ) => pool . group ,
36+ ) ;
37+
38+ return arenaPools . filter ( ( pool ) => pool . base_bank . mint . address ) ;
39+ } catch ( error ) {
40+ console . error ( "Error fetching banks:" , error ) ;
2241 return [ ] ;
2342 }
24-
25- return arenaPools . filter ( ( pool ) => pool . base_bank . mint . address ) ;
2643}
2744
2845export default async function BanksSearchPage ( ) {
0 commit comments