Skip to content

Commit

Permalink
Merge pull request #322 from EpicsDAO/improve-doc
Browse files Browse the repository at this point in the history
add Epics Links
  • Loading branch information
KishiTheMechanic authored Oct 21, 2024
2 parents 880f36e + 5321b6e commit 74a6c25
Show file tree
Hide file tree
Showing 13 changed files with 495 additions and 4 deletions.
24 changes: 24 additions & 0 deletions website/solv-epics-dev/messages/en/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,30 @@
"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"
},
"ProductsSkeetRow": {
"title": "Skeet: Edge-Native Web Framework",
"body": "Skeet maximizes developer productivity by enabling instant implementation of ideas and fast improvement cycles. From backend to frontend, it provides an environment where you can quickly test and deploy. Edge-native applications scale globally from the moment they are deployed, with requests handled swiftly by the nearest edge server. Additionally, Web3 compatibility is easily achieved by simply attaching an adapter.",
"button1": "Skeet",
"button2": "Community"
},
"ProductsBuidlersCollectiveRow": {
"title": "Buidlers Collective Solana NFT",
"body": "Buidlers Collective is an NFT collection designed to support sustainable open-source development. By staking this NFT on the Epics platform, you can earn $EPCT token rewards, while an equal amount is donated to the staked open-source project. We are committed to building a sustainable environment for the future of open-source, pioneering a new form of social contribution through No-Loss Donation, where staking rewards are donated without losing the principal.",
"button1": "Buidlers Collective",
"button2": "Community"
},
"DAOsEpicsRow": {
"title": "Epics DAO",
"body": "Epics DAO is a platform that supports sustainable open-source development through a competitive NFT trading card game. By combining the fun of gaming with social contribution, it promotes the growth of open-source software through tokenomics and gamification. Collect cards, compete, and contribute to the future of open-source development.",
"button1": "Epics DAO",
"button2": "Community"
},
"DAOsValidatorsRow": {
"title": "Validators DAO",
"body": "Validators DAO is a project focused on decentralizing and enhancing the security of the Solana network. To maintain Solana's high performance and overall health, increasing the number of validators and decentralizing staking is essential. The open-source tool 'solv' simplifies validator operations, while the community fosters active knowledge sharing among validators. Additionally, Validators Solutions offers automated operation solutions, creating an environment where anyone can easily participate as a validator.",
"button1": "Validators DAO",
"button2": "Community"
}
}
}
24 changes: 24 additions & 0 deletions website/solv-epics-dev/messages/ja/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,30 @@
"body": "主に $elSOL ホルダー、Validators Solutions を利用しているバリデーター、Epics DAO の NFT 及びトークン ($EPCT) ホルダーを対象とした $VLD トークンのエアドロップが予定されています。詳しくは Validators DAO の公式 Discord をご確認ください。",
"button1": "最新情報を入手",
"button2": "Get elSOL"
},
"ProductsSkeetRow": {
"title": "Skeet: Edge-Native Web Framework",
"body": "Skeetは、開発者の生産性を最大限に引き上げ、アイデアの即時実行と迅速な改善サイクルを実現します。バックエンドからフロントエンドまで、試したいことをすぐに試せる環境が整っており、本番へのデプロイもスムーズです。エッジネイティブなアプリケーションは、デプロイ直後からグローバルにスケールし、最寄りのエッジサーバーでリクエストを高速処理します。さらに、Web3対応もアダプターを追加するだけで簡単に実装可能です。",
"button1": "Skeet",
"button2": "コミュニティ"
},
"ProductsBuidlersCollectiveRow": {
"title": "Buidlers Collective Solana NFT",
"body": "Buidlers Collective は、オープンソース開発を持続可能にするために設計された NFT コレクションです。この NFT を Epics プラットフォーム上でステークすることで、$EPCT トークン報酬を獲得できるだけでなく、同額がステーク先のオープンソースプロジェクトに寄付されます。私たちは、オープンソースの未来を支える持続可能な開発環境の構築に貢献し、No-Loss Donation (元本を失わずにステーキング報酬を寄付する) という新しい形の社会貢献を実現しています。",
"button1": "Buidlers Collective",
"button2": "コミュニティ"
},
"DAOsEpicsRow": {
"title": "Epics DAO",
"body": "Epics DAOは、対戦型NFTトレーディングカードゲームを通じて、持続可能なオープンソース開発を支援するプラットフォームです。ゲームの楽しさと社会貢献を組み合わせ、トークンエコノミクスとゲーミフィケーションにより、オープンソースソフトウェアの発展を促進します。カードを集め、対戦しながら、オープンソースの未来に貢献しましょう。",
"button1": "Epics DAO",
"button2": "コミュニティ"
},
"DAOsValidatorsRow": {
"title": "Validators DAO",
"body": "Validators DAOは、Solanaネットワークの分散化とセキュリティ強化を目的としたプロジェクトです。Solanaの高い処理性能と健全性を維持するためには、バリデータの増加とステーキングの分散が不可欠です。オープンソースツール「solv」により、バリデータの運用を簡略化し、コミュニティ内ではバリデータ同士の活発な情報交換が行われています。さらに、Validators Solutionsの自動運用ソリューションにより、誰もが容易にバリデータとして参加できる環境を整備しています。",
"button1": "Validators DAO",
"button2": "コミュニティ"
}
}
}
8 changes: 8 additions & 0 deletions website/solv-epics-dev/src/assets/img.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ import AdaptiveSolutionsImg from '@/assets/img/merit/AdaptiveSolutions.png'
import EasyStartValidatorImg from '@/assets/img/merit/EasyStartValidator.png'
import QualityOperationsImg from '@/assets/img/merit/QualityOperations.png'
import VLDAirdropImg from '@/assets/img/icon/rows/VLDAirdrop.png'
import SkeetProductImg from '@/assets/img/products/Skeet.jpg'
import BuidlersCollectiveImg from '@/assets/img/products/BuidlersCollective.jpg'
import EpicsDAOImg from '@/assets/img/daos/EpicsDAO.jpg'
import ValidatorsDAOImg from '@/assets/img/daos/ValidatorsDAO.jpg'

export {
logoHorizontal,
Expand Down Expand Up @@ -123,4 +127,8 @@ export {
EasyStartValidatorImg,
QualityOperationsImg,
VLDAirdropImg,
EpicsDAOImg,
SkeetProductImg,
BuidlersCollectiveImg,
ValidatorsDAOImg,
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 20 additions & 4 deletions website/solv-epics-dev/src/components/rows/ProductsSlideRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ import { Carousel, CarouselContent, CarouselItem } from '../ui/carousel'
import Autoplay from 'embla-carousel-autoplay'
import ProductsElsolRow from './products/ProductsElsolRow'
import ProductsErpcRow from './products/ProductsErpcRow'
// import ProductsSolvRow from './products/ProductsSolvRow'
import ProductsValidatorsSolutionsRow from './products/ProductsValidatorsSolutionsRow'
import { cn } from '@/lib/utils'
import ProductsSkeetRow from './products/ProductsSkeetRow'
import ProductsBuidlersCollectiveRow from './products/ProductsBuidlersCollectiveRow'
import DAOsValidatorsRow from './daos/DAOsValidatorsRow'
import DAOsEpicsRow from './daos/DAOsEpicsRow'

export default function ProductsSlideRow() {
return (
Expand All @@ -26,9 +29,6 @@ export default function ProductsSlideRow() {
>
{/*@ts-ignore*/}
<CarouselContent>
{/* <CarouselItem>
<ProductsSolvRow />
</CarouselItem> */}
{/*@ts-ignore*/}
<CarouselItem>
<ProductsValidatorsSolutionsRow />
Expand All @@ -41,6 +41,22 @@ export default function ProductsSlideRow() {
<CarouselItem>
<ProductsErpcRow />
</CarouselItem>
{/*@ts-ignore*/}
<CarouselItem>
<ProductsSkeetRow />
</CarouselItem>
{/*@ts-ignore*/}
<CarouselItem>
<ProductsBuidlersCollectiveRow />
</CarouselItem>
{/*@ts-ignore*/}
<CarouselItem>
<DAOsValidatorsRow />
</CarouselItem>
{/*@ts-ignore*/}
<CarouselItem>
<DAOsEpicsRow />
</CarouselItem>
</CarouselContent>
</Carousel>
</>
Expand Down
74 changes: 74 additions & 0 deletions website/solv-epics-dev/src/components/rows/daos/DAOsEpicsRow.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
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 { EpicsDAOImg } from '@/assets/img'
import {
EPICS_DAO_DISCORD_INVITE_LINK,
EPICS_DAO_WEB_LINK,
} from '@/constants/links'

export default function DAOsEpicsRow() {
const t = useTranslations()
const locale = useLocale()
return (
<>
<div className="mx-auto grid max-w-7xl items-center justify-center gap-4 px-6 py-48 sm:gap-8 sm:py-80 md:grid-cols-2 md:gap-16 lg:gap-24">
<div className="w-full md:order-last">
<Link
href={`${EPICS_DAO_WEB_LINK}${locale}`}
target="_blank"
rel="noopener noreferrer"
className="hover:opacity-80"
>
<Image
src={EpicsDAOImg}
alt="Epics DAO"
className="w-full rounded-lg shadow-lg"
unoptimized
width={256}
height={256}
/>
</Link>
</div>
<div className="grid w-full gap-4 md:order-first">
<h2
className={cn(
'py-2 text-3xl font-extrabold tracking-tighter sm:text-4xl',
mainShardGradation,
)}
>
{t('common.DAOsEpicsRow.title')}
</h2>
<p className="max-w-xl text-lg font-medium tracking-tight text-zinc-500 dark:text-zinc-300 sm:text-xl">
{t('common.DAOsEpicsRow.body')}
</p>
<div className="flex flex-wrap gap-3 pt-6">
<Link
href={`${EPICS_DAO_WEB_LINK}${locale}`}
target="_blank"
rel="noopener noreferrer"
>
<Button>{t('common.DAOsEpicsRow.button1')}</Button>
</Link>
<Link
href={`${EPICS_DAO_DISCORD_INVITE_LINK}`}
target="_blank"
rel="noopener noreferrer"
>
<Button variant="outline">
<FontAwesomeIcon icon={faDiscord} className="mr-2 h-5 w-5" />
{t('common.DAOsEpicsRow.button2')}
</Button>
</Link>
</div>
</div>
</div>
</>
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
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 Image from 'next/image'
import { ValidatorsDAOImg } from '@/assets/img'
import {
VALIDATORS_DAO_WEB_LINK,
VALIDATORS_DAO_DISCORD_INVITE_LINK,
} from '@/constants/links'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faDiscord } from '@fortawesome/free-brands-svg-icons'

export default function DAOsValidatorsRow() {
const t = useTranslations()
const locale = useLocale()
return (
<>
<div className="mx-auto grid max-w-7xl items-center justify-center gap-4 px-6 py-48 sm:gap-8 sm:py-80 md:grid-cols-2 md:gap-16 lg:gap-24">
<div className="w-full">
<Link
href={`${VALIDATORS_DAO_WEB_LINK}${locale}`}
target="_blank"
rel="noopener noreferrer"
className="hover:opacity-80"
>
<Image
src={ValidatorsDAOImg}
alt="Validators DAO"
className="w-full rounded-lg shadow-lg"
unoptimized
width={256}
height={256}
/>
</Link>
</div>
<div className="grid w-full gap-4">
<h2
className={cn(
'py-2 text-3xl font-extrabold tracking-tighter sm:text-4xl',
mainShardGradation,
)}
>
{t('common.DAOsValidatorsRow.title')}
</h2>
<p className="max-w-xl text-lg font-medium tracking-tight text-zinc-500 dark:text-zinc-300 sm:text-xl">
{t('common.DAOsValidatorsRow.body')}
</p>
<div className="flex flex-wrap gap-3 pt-6">
<Link
href={`${VALIDATORS_DAO_WEB_LINK}${locale}`}
target="_blank"
rel="noopener noreferrer"
>
<Button>{t('common.DAOsValidatorsRow.button1')}</Button>
</Link>
<Link
href={`${VALIDATORS_DAO_DISCORD_INVITE_LINK}`}
target="_blank"
rel="noopener noreferrer"
>
<Button variant="outline">
<FontAwesomeIcon icon={faDiscord} className="mr-2 h-5 w-5" />
{t('common.DAOsValidatorsRow.button2')}
</Button>
</Link>
</div>
</div>
</div>
</>
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
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 Image from 'next/image'
import { BuidlersCollectiveImg } from '@/assets/img'
import {
BUIDLERS_COLLECTIVE_WEB_LINK,
EPICS_DAO_DISCORD_INVITE_LINK,
} from '@/constants/links'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faDiscord } from '@fortawesome/free-brands-svg-icons'

export default function ProductsBuidlersCollectiveRow() {
const t = useTranslations()
const locale = useLocale()
return (
<>
<div className="mx-auto grid max-w-7xl items-center justify-center gap-4 px-6 py-48 sm:gap-8 sm:py-80 md:grid-cols-2 md:gap-16 lg:gap-24">
<div className="w-full">
<Link
href={`${BUIDLERS_COLLECTIVE_WEB_LINK}${locale}`}
target="_blank"
rel="noopener noreferrer"
className="hover:opacity-80"
>
<Image
src={BuidlersCollectiveImg}
alt="Buidlers Collective"
className="w-full rounded-lg shadow-lg"
unoptimized
width={256}
height={256}
/>
</Link>
</div>
<div className="grid w-full gap-4">
<h2
className={cn(
'py-2 text-3xl font-extrabold tracking-tighter sm:text-4xl',
mainShardGradation,
)}
>
{t('common.ProductsBuidlersCollectiveRow.title')}
</h2>
<p className="max-w-xl text-lg font-medium tracking-tight text-zinc-500 dark:text-zinc-300 sm:text-xl">
{t('common.ProductsBuidlersCollectiveRow.body')}
</p>
<div className="flex flex-wrap gap-3 pt-6">
<Link
href={`${BUIDLERS_COLLECTIVE_WEB_LINK}${locale}`}
target="_blank"
rel="noopener noreferrer"
>
<Button>
{t('common.ProductsBuidlersCollectiveRow.button1')}
</Button>
</Link>
<Link
href={`${EPICS_DAO_DISCORD_INVITE_LINK}`}
target="_blank"
rel="noopener noreferrer"
>
<Button variant="outline">
<FontAwesomeIcon icon={faDiscord} className="mr-2 h-5 w-5" />
{t('common.ProductsBuidlersCollectiveRow.button2')}
</Button>
</Link>
</div>
</div>
</div>
</>
)
}
Loading

0 comments on commit 74a6c25

Please sign in to comment.