diff --git a/messages/en/common.json b/messages/en/common.json
index d20a4b4..7ff4408 100644
--- a/messages/en/common.json
+++ b/messages/en/common.json
@@ -61,6 +61,12 @@
"body": "Fastest Transactions from Anywhere, Anytime. ERPC offers a global proxy supported by more than 300 edge servers around the world. Every time users access the network, the closest server is automatically selected, ensuring low-latency and stable connections. This guarantees fast access from any region, maximizing performance.",
"button1": "Get Started - Free",
"button2": "ERPC"
+ },
+ "VLDAirdropRow": {
+ "title": "$VLD Airdrop Coming Soon...",
+ "body": "An airdrop of $VLD tokens is planned primarily for $elSOL holders, Solana Validators using Validators Solutions, and holders of Epics DAO's NFTs and tokens ($EPCT). For more details, please check the official Discord of Validators DAO.",
+ "button1": "Learn more",
+ "button2": "Get elSOL"
}
}
}
diff --git a/messages/ja/common.json b/messages/ja/common.json
index fa1186d..f796fbf 100644
--- a/messages/ja/common.json
+++ b/messages/ja/common.json
@@ -61,6 +61,12 @@
"body": "最速のトランザクションをいつでも、どこからでも。ERPCは、世界中に配置された300以上のエッジサーバーによって支えられたグローバルプロキシを提供しています。ユーザーがアクセスするたびに、最短距離のサーバーが自動で選ばれ、低遅延で安定した接続を実現します。これにより、どの地域からでも迅速なアクセスが保証され、パフォーマンスの最大化を図ります。",
"button1": "無料でスタート",
"button2": "ERPC"
+ },
+ "VLDAirdropRow": {
+ "title": "$VLD Airdrop Coming Soon...",
+ "body": "主に $elSOL ホルダー、Validators Solutions を利用しているバリデーター、Epics DAO の NFT 及びトークン ($EPCT) ホルダーを対象とした $VLD トークンのエアドロップが予定されています。詳しくは Validators DAO の公式 Discord をご確認ください。",
+ "button1": "最新情報を入手",
+ "button2": "Get elSOL"
}
}
}
diff --git a/src/app/[locale]/(default)/blinks/page.tsx b/src/app/[locale]/(default)/blinks/page.tsx
index 4f865bd..00384c0 100644
--- a/src/app/[locale]/(default)/blinks/page.tsx
+++ b/src/app/[locale]/(default)/blinks/page.tsx
@@ -13,6 +13,7 @@ import StakingHeroRow from './StakingHeroRow'
import ElsolMetricsRow from '@/components/rows/ElsolMetricsRow'
import InstantLiquidityRow from '@/components/rows/InstantLiquidityRow'
import DirectStakingRow from './DirectStakingRow'
+import VLDAirdropRow from '@/components/rows/VLDAirdropRow'
const { generateMetadata } = getDataForPageByFilename(__filename)
export { generateMetadata }
@@ -41,6 +42,7 @@ export default function BlinksPage({ params: { locale } }: PageProps) {
+
>
diff --git a/src/assets/img.ts b/src/assets/img.ts
index 7f2d472..a9fed8a 100644
--- a/src/assets/img.ts
+++ b/src/assets/img.ts
@@ -1,5 +1,7 @@
import logoHorizontal from '@/assets/img/logo/SkeetLogoHorizontal.svg'
import logoHorizontalInvert from '@/assets/img/logo/SkeetLogoInvertHorizontal.svg'
+import ValidatorsDAOLogoHorizontal from '@/assets/img/logo/ValidatorsDAOLogoHorizontal.svg'
+import ValidatorsDAOLogoInvertHorizontal from '@/assets/img/logo/ValidatorsDAOLogoInvertHorizontal.svg'
import CloudFlareLogoHorizontal from '@/assets/img/logo/partners/CloudFlareLogoHorizontal.svg'
import CloudFlareLogoInvertHorizontal from '@/assets/img/logo/partners/CloudFlareLogoInvertHorizontal.svg'
@@ -54,10 +56,13 @@ import ValidatrosSolutionsProductImg from '@/assets/img/products/ValidatorsSolut
import ERPCProductImg from '@/assets/img/products/ERPC.jpg'
import SolanaBlinksImg from '@/assets/img/icon/solana/SolanaBlinks.webp'
+import VLDAirdropImg from '@/assets/img/icon/rows/VLDAirdrop.png'
export {
logoHorizontal,
logoHorizontalInvert,
+ ValidatorsDAOLogoHorizontal,
+ ValidatorsDAOLogoInvertHorizontal,
CloudFlareLogoHorizontal,
CloudFlareLogoInvertHorizontal,
SolanaLogoHorizontal,
@@ -105,5 +110,6 @@ export {
SolvProductImg,
ValidatrosSolutionsProductImg,
ERPCProductImg,
- SolanaBlinksImg
+ SolanaBlinksImg,
+ VLDAirdropImg
}
diff --git a/src/assets/img/icon/rows/CreditAndCrypto.png b/src/assets/img/icon/rows/CreditAndCrypto.png
new file mode 100644
index 0000000..f7ff293
Binary files /dev/null and b/src/assets/img/icon/rows/CreditAndCrypto.png differ
diff --git a/src/assets/img/icon/rows/VLDAirdrop.png b/src/assets/img/icon/rows/VLDAirdrop.png
new file mode 100644
index 0000000..4a4bb1c
Binary files /dev/null and b/src/assets/img/icon/rows/VLDAirdrop.png differ
diff --git a/src/assets/img/logo/ValidatorsDAOLogoHorizontal.svg b/src/assets/img/logo/ValidatorsDAOLogoHorizontal.svg
new file mode 100644
index 0000000..a7e2550
--- /dev/null
+++ b/src/assets/img/logo/ValidatorsDAOLogoHorizontal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/img/logo/ValidatorsDAOLogoInvertHorizontal.svg b/src/assets/img/logo/ValidatorsDAOLogoInvertHorizontal.svg
new file mode 100644
index 0000000..3ad7f56
--- /dev/null
+++ b/src/assets/img/logo/ValidatorsDAOLogoInvertHorizontal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/components/rows/VLDAirdropRow.tsx b/src/components/rows/VLDAirdropRow.tsx
new file mode 100644
index 0000000..9c0ee02
--- /dev/null
+++ b/src/components/rows/VLDAirdropRow.tsx
@@ -0,0 +1,108 @@
+'use client'
+
+import { Link } from '@/navigation'
+import { useLocale, useTranslations } from 'next-intl'
+import { Button } from '@/components/ui/button'
+import { cn } from '@/lib/utils'
+import { mainShardGradation } from '@/lib/decoration'
+import { faDiscord } from '@fortawesome/free-brands-svg-icons'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import Image from 'next/image'
+import {
+ ValidatorsDAOLogoHorizontal,
+ ValidatorsDAOLogoInvertHorizontal,
+ VLDAirdropImg
+} from '@/assets/img'
+import {
+ VALIDATORS_DAO_DISCORD_INVITE_LINK,
+ VALIDATORS_DAO_LINK
+} from '@/constants/links'
+import { useTheme } from '@/hooks/utils/useTheme'
+
+const logos = [
+ {
+ title: 'ValidatorsDAO',
+ logo: ValidatorsDAOLogoHorizontal,
+ logoInvert: ValidatorsDAOLogoInvertHorizontal,
+ href: VALIDATORS_DAO_LINK
+ }
+]
+
+export default function VLDAirdropRow() {
+ const t = useTranslations()
+ const locale = useLocale()
+ const { theme, mounted } = useTheme()
+ if (!mounted) return null
+
+ return (
+ <>
+
+
+
+ {logos.map((item) => (
+
+
+
+ ))}
+
+
+ {t('common.VLDAirdropRow.title')}
+
+
+
+ {t('common.VLDAirdropRow.body')}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ )
+}
diff --git a/src/constants/links.ts b/src/constants/links.ts
index feec98e..7b2ae43 100644
--- a/src/constants/links.ts
+++ b/src/constants/links.ts
@@ -22,3 +22,8 @@ export const VALIDATORS_BLINKS_BASE_URL =
export const SOLANA_VALIDATOR_LINK =
'https://docs.solanalabs.com/operations/requirements'
+
+export const ELSOUL_DISCORD_INVITE_LINK = 'https://discord.gg/H2HeqRq54J'
+export const EPICS_DAO_DISCORD_INVITE_LINK = 'https://discord.gg/GmHYfyRamx'
+export const VALIDATORS_DAO_DISCORD_INVITE_LINK =
+ 'https://discord.gg/C7ZQSrCkYR'