Skip to content

Commit

Permalink
#129: need to fix taskon quest launch
Browse files Browse the repository at this point in the history
  • Loading branch information
brklyn8900 committed Dec 8, 2024
1 parent 4071e9b commit afea5d5
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 21 deletions.
11 changes: 11 additions & 0 deletions messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -764,6 +764,17 @@
"joinQuest": "Join the Quest"
},
"taskonLaunch": {
"featured": {
"title": "TaskOn Launch",
"subtitle": "Earn rewards for participating!",
"shortDescription": "Don't miss out on the launch of the Koinos TaskOn Community. A few simple steps that help drive engagement to Koinos makes you eligible for lucrative rewards!",
"description": "Every month users can participate in the Koinos ecosystem to earn rewards in USDT, KOIN, and various project tokens.",
"keyPoints": {
"first": "Earn your share of $1,250 USDT for joining",
"second": "Check back daily for additional quests and rewards",
"third": "Refer your friends for a prestigious Discord role"
}
},
"pageTitle": "TaskOn Community Launch | Koinos",
"getStarted": "Let's Get Started!",
"questTitle": "TaskOn Community Launch Quest",
Expand Down
51 changes: 47 additions & 4 deletions pages/programs/koindx-farm.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,24 @@ import { useProgramStore } from "@/store/programStore";
import JoinTheCommunity from "@/components/sections/JoinTheCommunity"
import ProgramHeader from "@/components/sections/ProgramHeader"
import RelatedProgram from "@/components/sections/RelatedProgram"
import { useTranslations } from "next-intl";

import AOS from "aos";
import 'aos/dist/aos.css';
import { useEffect } from "react";

export default function KoinDXFarm() {
const t = useTranslations('Programs.koindxFarm');
const commonT = useTranslations('Programs.common');
const earnOnKoinosT = useTranslations('Programs.earnOnKoinos');

useEffect(() => {
AOS.init({
duration: 1000,
});
}, []);

// Get metadata from state
const program = useProgramStore((state) => state.programs.koindxFarm);
const relatedProgram = useProgramStore((state) => state.programs.earnOnKoinos);

Expand All @@ -25,22 +31,59 @@ export default function KoinDXFarm() {
headerStyle={1}
footerStyle={1}
headerCls="navbar-dark inner-page-header"
headTitle="KoinDX Farm | Koinos"
headTitle={t('pageTitle')}
>
<div className="container">
<div className="row justify-content-center">
<div className="col-lg-11 col-xl-10">
<ProgramHeader program={program} />
<ProgramHeader
program={{
...program,
featured: {
title: t('featured.title'),
subtitle: t('featured.subtitle'),
shortDescription: t('featured.shortDescription'),
description: t('featured.description'),
keyPoints: {
first: t('featured.keyPoints.first'),
second: t('featured.keyPoints.second'),
third: t('featured.keyPoints.third')
},
details: {
first: t('featured.details.first'),
second: t('featured.details.second')
}
}
}}
/>

<RelatedProgram
program={relatedProgram}
message={"By providing liquidity with your bridged assets from Earn on Koinos, you can earn both APY on USDT, ETH, and BTC as well as KOIN while earning KOINDX simultaneously!"}
message={t('relatedMessage')}
/>
<JoinTheCommunity />
</div>
</div>
</div>
</Layout >
</Layout>
</>
)
}

export async function getStaticProps({ locale }) {
try {
const messages = (await import(`../../messages/${locale}.json`)).default;

return {
props: {
messages,
locale: locale
}
};
} catch (error) {
console.error(`Failed to load messages for locale ${locale}:`, error);
return {
notFound: true
};
}
}
74 changes: 57 additions & 17 deletions pages/programs/lords-forsaken-quest.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@ import { useProgramStore } from "@/store/programStore";
import JoinTheCommunity from "@/components/sections/JoinTheCommunity"
import ProgramHeader from "@/components/sections/ProgramHeader"
import RelatedProgram from "@/components/sections/RelatedProgram"
import { useTranslations } from "next-intl";

import AOS from "aos";
import 'aos/dist/aos.css';
import { useEffect } from "react";

export default function LordsForsakenQuest() {
const t = useTranslations('Programs.lordsForsakenQuest');
const commonT = useTranslations('Programs.common');

useEffect(() => {
AOS.init({
duration: 1000,
Expand All @@ -18,46 +22,64 @@ export default function LordsForsakenQuest() {

const program = useProgramStore((state) => state.programs.lordsForsakenQuest);

const questUrl = "https://taskon.xyz/quest/6984752";

return (
<>
<Layout
headerStyle={1}
footerStyle={1}
headerCls="navbar-dark inner-page-header"
headTitle="Lord's Forsaken Quest | Koinos"
headTitle={t('pageTitle')}
>
<div className="container">
<div className="row justify-content-center">
<div className="col-lg-11 col-xl-10">
<ProgramHeader program={program} />
<ProgramHeader
program={{
...program,
featured: {
title: t('featured.title'),
subtitle: t('featured.subtitle'),
shortDescription: t('featured.shortDescription'),
description: t('featured.description'),
keyPoints: {
first: t('featured.keyPoints.first'),
second: t('featured.keyPoints.second'),
third: t('featured.keyPoints.third')
},
details: {
first: t('featured.details.first'),
second: t('featured.details.second'),
third: t('featured.details.third')
}
}
}}
/>

{/* Guide Section */}
<section id="featured-program-tutorial" className="mb-5 ct-01 content-section features-section division">
<div className="mt-5">
<div className="mt-5">
<h2 className="s-38 w-700 my-4">Let's Get Started!</h2>
<h2 className="s-38 w-700 my-4">{t('getStarted')}</h2>

{/* Steps */}
<h3 className="s-30 w-700 my-4">Lord's Forsaken Launch Quest</h3>
<p>Earn yourself a piece of the 1500 KOIN and 18000 FAITH prize pool by playing.</p>
<h3 className="s-30 w-700 my-4">{t('questTitle')}</h3>
<p>{t('description')}</p>
<ol>
<li>Follow <Link href="https://x.com/lordsforsak3n" className="underline">LordsForsak3n</Link> on X</li>
<li>Follow <Link href="https://x.com/KoinosNetwork" className="underline">KoinosNetwork</Link> on X</li>
<li>Join <Link href="https://t.me/lordsforsaken" className="underline">Lord's Forsaken on Telegram</Link></li>
<li>Join <Link href="https://telegram.koinos.io/" className="underline">Koinos Telegram</Link></li>
<li><Link href="https://lordsforsaken.com/" className="underline">Play Lord's Forsaken</Link></li>
<li>Post on <Link href="https://x.com/" className="underline">X</Link> with a screenshot of your victory -- be sure to include "Earn $FAITH by playing @lordsforsak3n on @KoinosNetwork " in the text</li>
<li>Join <Link href="https://taskon.xyz/Koinos" className="underline">Koinos on TaskOn</Link></li>
<li>{t('steps.followLords')} <Link href="https://x.com/lordsforsak3n" className="underline">LordsForsak3n</Link></li>
<li>{t('steps.followKoinos')} <Link href="https://x.com/KoinosNetwork" className="underline">KoinosNetwork</Link></li>
<li>{t('steps.joinLordsTg')} <Link href="https://t.me/lordsforsaken" className="underline">Lord's Forsaken on Telegram</Link></li>
<li>{t('steps.joinKoinosTg')} <Link href="https://telegram.koinos.io/" className="underline">Koinos Telegram</Link></li>
<li>{t('steps.playGame')} <Link href="https://lordsforsaken.com/" className="underline">Lord's Forsaken</Link></li>
<li>{t('steps.postVictory')}</li>
<li>{t('steps.joinTaskon')} <Link href="https://taskon.xyz/Koinos" className="underline">Koinos on TaskOn</Link></li>
</ol>

<Link
href={questUrl}
href={program.website}
className="btn r-04 btn--theme btn--primary text-decoration-none mt-20"
target="_blank"
>
Join the Quest
{t('joinQuest')}
</Link>

</div>
Expand All @@ -68,7 +90,25 @@ export default function LordsForsakenQuest() {
</div>
</div>
</div>
</Layout >
</Layout>
</>
)
}

export async function getStaticProps({ locale }) {
try {
const messages = (await import(`../../messages/${locale}.json`)).default;

return {
props: {
messages,
locale: locale
}
};
} catch (error) {
console.error(`Failed to load messages for locale ${locale}:`, error);
return {
notFound: true
};
}
}

0 comments on commit afea5d5

Please sign in to comment.