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) => ( + + Background + + ))} +
+

+ {t('common.VLDAirdropRow.title')} +

+ +

+ {t('common.VLDAirdropRow.body')} +

+
+ + + + + + +
+
+ +
+ VLD Airdrop +
+
+ + ) +} 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'