File tree Expand file tree Collapse file tree 6 files changed +64
-4
lines changed
Expand file tree Collapse file tree 6 files changed +64
-4
lines changed Original file line number Diff line number Diff line change 3535 "@solana/web3.js" : " ^1.95.4" ,
3636 "@tanstack/react-query" : " ^5.59.20" ,
3737 "@vercel/analytics" : " ^1.5.0" ,
38+ "@vercel/edge-config" : " ^1.4.0" ,
3839 "@vercel/functions" : " ^1.5.0" ,
3940 "bignumber.js" : " ^9.1.2" ,
4041 "buffer" : " ^6.0.3" ,
Original file line number Diff line number Diff line change @@ -8,8 +8,8 @@ export function ErrorBoundary({ children }: PropsWithChildren<unknown>) {
88
99function SupportLink ( ) {
1010 return (
11- < a href = { links . discord } target = "_blank" rel = "noopener noreferrer" className = "mt-5 text-sm" >
12- For support, join the < span className = "underline underline-offset-2" > Hyperlane Discord </ span > { ' ' }
11+ < a href = { links . support } target = "_blank" rel = "noopener noreferrer" className = "mt-5 text-sm" >
12+ For support, join the < span className = "underline underline-offset-2" > Discussion in GitHub </ span > { ' ' }
1313 </ a >
1414 ) ;
1515}
Original file line number Diff line number Diff line change @@ -3,5 +3,5 @@ export const links = {
33 explorer : 'https://explorer.hyperlane.xyz' ,
44 support : 'https://github.com/BootNodeDev/intents-framework/discussions/89' ,
55 github : 'https://github.com/BootNodeDev/intents-framework' ,
6- docs : 'https://github.com/BootNodeDev/intents-framework#open-intents-framework' ,
6+ docs : 'https://github.com/BootNodeDev/intents-framework#open-intents-framework' ,
77} ;
Original file line number Diff line number Diff line change 1+ import { get } from '@vercel/edge-config' ;
12import { geolocation } from '@vercel/functions' ;
23import { NextRequest , NextResponse } from 'next/server' ;
34
@@ -44,7 +45,8 @@ const BLOCKED_REGIONS = [
4445 } ,
4546] ;
4647
47- export function middleware ( req : NextRequest ) {
48+ export async function middleware ( req : NextRequest ) {
49+ // country restriction
4850 const { country, region } = geolocation ( req ) ;
4951
5052 if ( country && BLOCKED_COUNTRIES . includes ( country ) ) {
@@ -59,5 +61,15 @@ export function middleware(req: NextRequest) {
5961 return NextResponse . redirect ( new URL ( '/blocked' , req . url ) ) ;
6062 }
6163
64+ // maintenance mode
65+ const isInMaintenanceMode = await get < boolean > ( 'isInMaintenanceMode' ) ;
66+
67+ if ( isInMaintenanceMode ) {
68+ req . nextUrl . pathname = '/maintenance' ;
69+
70+ return NextResponse . rewrite ( req . nextUrl ) ;
71+ }
72+
73+ // default
6274 return NextResponse . next ( ) ;
6375}
Original file line number Diff line number Diff line change 1+ import type { NextPage } from 'next' ;
2+ import { useRouter } from 'next/router' ;
3+
4+ const Home : NextPage = ( ) => {
5+ const { reload } = useRouter ( ) ;
6+ return (
7+ < div className = "space-y-3 pt-4" >
8+ < div className = "relative" >
9+ < div className = "rounded-lg bg-white p-8 text-center shadow-md" >
10+ < h1 className = "mb-4 text-3xl" > We'll be back soon!</ h1 >
11+ < p className = "mb-6 text-lg" > We are currently undergoing scheduled maintenance.</ p >
12+ < p className = "mb-6 text-lg" > Please refresh the page or check back later.</ p >
13+ < button
14+ className = "cursor-pointer rounded bg-blue-500 px-6 py-3 text-base text-white hover:bg-blue-700"
15+ onClick = { reload }
16+ >
17+ Refresh
18+ </ button >
19+ </ div > { ' ' }
20+ </ div >
21+ </ div >
22+ ) ;
23+ } ;
24+
25+ export default Home ;
Original file line number Diff line number Diff line change @@ -4056,6 +4056,7 @@ __metadata:
40564056 "@typescript-eslint/eslint-plugin": "npm:^8.13.0"
40574057 "@typescript-eslint/parser": "npm:^8.13.0"
40584058 "@vercel/analytics": "npm:^1.5.0"
4059+ "@vercel/edge-config": "npm:^1.4.0"
40594060 "@vercel/functions": "npm:^1.5.0"
40604061 autoprefixer: "npm:^10.4.20"
40614062 bignumber.js: "npm:^9.1.2"
@@ -10045,6 +10046,27 @@ __metadata:
1004510046 languageName: node
1004610047 linkType: hard
1004710048
10049+ "@vercel/edge-config-fs@npm:0.1.0":
10050+ version: 0.1.0
10051+ resolution: "@vercel/edge-config-fs@npm:0.1.0"
10052+ checksum: 10/4eb27927a1c6a9d77cee4457424e208c3ff7f01e1cd0249b133804d12fd7099bd1aed6a9d9574b122d3bd59289b294a913b4df05bb69aca6091c8a020cbc2121
10053+ languageName: node
10054+ linkType: hard
10055+
10056+ "@vercel/edge-config@npm:^1.4.0":
10057+ version: 1.4.0
10058+ resolution: "@vercel/edge-config@npm:1.4.0"
10059+ dependencies:
10060+ "@vercel/edge-config-fs": "npm:0.1.0"
10061+ peerDependencies:
10062+ "@opentelemetry/api": ^1.7.0
10063+ peerDependenciesMeta:
10064+ "@opentelemetry/api":
10065+ optional: true
10066+ checksum: 10/669c34db94bedd41c7b8efc05781f5a7fee2920e1c625228d15c27648eb1d5d15a66b20778ec56105cd08837d29eb40537806ff7b73aac497c1deebaa71a2796
10067+ languageName: node
10068+ linkType: hard
10069+
1004810070"@vercel/functions@npm:^1.5.0":
1004910071 version: 1.5.0
1005010072 resolution: "@vercel/functions@npm:1.5.0"
You can’t perform that action at this time.
0 commit comments