Skip to content

Commit

Permalink
feat: start boleham history page
Browse files Browse the repository at this point in the history
  • Loading branch information
ySnoopyDogy committed Jun 23, 2024
1 parent 4038f10 commit 30d7c50
Show file tree
Hide file tree
Showing 11 changed files with 167 additions and 23 deletions.
21 changes: 21 additions & 0 deletions locales/en-US/boleham.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"seo": {
"title": "Boleham - Menhera Bot",
"description": "Boleham é um mundo cheio de magia. Conheça a história do RPG da MenheraBot. "
},
"boleham": "World of Boleham",
"title": "History of Boleham",
"chapters": "Chapters",
"description": "The World of Boleham is back at Menhera with its RPG. Discover the history of this universe",
"chapters-title": {
"world-of-boleham": "The World of Boleham",
"the-elemental-dragons": "The Elemental Dragons",
"born-of-all-creatures": "The born of all creatures",
"the-draconic-church": "The Draconic Churches",
"the-fall-of-gods": "The Fall of the Gods",
"menhera-summon": "The summon of the Menhera on Boleham",
"the-find-of-babel-dungeon": "The discovery of the Babel Dungeon",
"the-guild": "The creationg of the Guild",
"the-start-of-chaos": "The beginning of Chaos"
}
}
4 changes: 2 additions & 2 deletions locales/en-US/footer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"menu": "Menu",
"description": "MenheraBot is an Open Source project created at random for the fun of a private server, which ended up expanding, and today is focused on the fun of other servers with its fun and Farm features",
"status": "Status",
"privacy": "Privacy Terms",
"terms": "Terms of Use",
"legal": "Legal info",
"boleham": "Boleham",
"support": "Support",
"invite": "Invite",
"bicho": "Animal",
Expand Down
3 changes: 2 additions & 1 deletion locales/en-US/header.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@
"cookie": "This website uses cookies to enhance the user experience.",
"add": "Invite",
"navigation": "Navigation",
"bicho": "Animal"
"bicho": "Animal",
"boleham": "Boleham"
}
32 changes: 32 additions & 0 deletions locales/pt-BR/boleham.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"seo": {
"title": "Boleham - Menhera Bot",
"description": "Boleham é um mundo cheio de magia. Conheça a história do RPG da MenheraBot."
},
"boleham": "Mundo de Boleham",
"title": "História de Boleham",
"chapters": "Capítulos",
"description": "O Mundo de Boleham está de volta na Menhera com o seu RPG. Conheça a história desse universo",
"chapters-title": {
"world-of-boleham": "O Mundo de Boleham",
"the-elemental-dragons": "Os Dragões Elementais",
"born-of-all-creatures": "Surgimento de todas criaturas",
"the-draconic-church": "As Igrejas Dracônicas",
"the-fall-of-gods": "A queda dos Deuses",
"menhera-summon": "A invocação da Menhera em Boleham",
"the-find-of-babel-dungeon": "A descoberta da Dungeon de Babel",
"the-guild": "A criação da Guilda",
"the-start-of-chaos": "O início do Caos"
},
"chapters-text": {
"world-of-boleham": "A história de Boleham começou antes do início do tempo, em meio ao nada surgiu a deusa Luximis e com seu aparecimento o tempo passou a correr no remoto universo onde se encontra nosso mundo. Cansada da imensidão do nada Luximis resolveu transformar esse universo em um lugar onde a vida pudesse surgir, criando assim Sollum no centro de tudo, sendo rodeado por Boleham e seus 5 planetas irmãos, Ascaron, Senia, Lasid, Rista e Mhurfa. Luximis adicionava ao seu universo tudo que lhe agradava e que lhe encantava assim resolveu presentiar Boleham com Luna e Selene, duas luas para iluminar as noites escuras. Em seguida Luximis plantou a primeira semente de vida no mundo. Nesse momento tivemos nosso 'Hello, world' e a partir daí a vida começou a evoluir e se transformar em Boleham",
"the-elemental-dragons": "Após Boleham ter ganho suas duas luas, Luna e Selene, Luximis criou criaturas poderosas e conscientes para moldar o mundo, afinal ela desejava que o mundo fosse irregular e inesperado, assim surgiram os Dragões Elementares que moldaram o mundo e deram a ele a forma que tem hoje. São eles Aard, o dragão elemental da natureza; Vatra, a dragoa elemental do fogo; Zrak, o dragão elemental do ar; Akvo, o dragão elemental da água; Uraqi, a dragoa elemental da terra; Akull, a drogoa elemental do gelo; Raza, o dragão elemental do raio; Tenebris, o dragão elemental das trevas e Liicht, a dragoa elemental da luz. Após fazerem o que Luximis desejava, esta os deu total liberdade para agirem como bem entendessem.",
"born-of-all-creatures": "Após passarem muitos séculos moldando o mundo, os dragões elementares se sentiram solitários no vasto mundo de Boleham, então se reuniram para decidir o que deveriam fazer, os dragões elementares do fogo, água, trevas e natureza queriam apenas criar animais senscientes e plantas, enquanto o do raio, gelo, luz e terra queriam apenas criar animais conscientes. Após muito discutirem, o dragão elemental do ar se posicionou a favor de fazerem as duas coisas, o que acabou fazendo ambos lados sederem. Assim a vida começou a florescer no mundo de Boleham em suas diversas formas, seja através dos humanos, dos semi-humanos ou simplesmente da fauna e flora do mundo.",
"the-draconic-church": "Os humanos e semi-humanos fundaram igrejas aos seus criadores, os dragões elementares, e a chamaram de Igreja da Santa Comunhão do Dragão, dedicada a adorar todos os dragões e oferecerem suas bênçãos aos mortais. Também existem igrejas dedicadas a dragões específicos pelo mundo, como a Igreja Sacrada de Liicht e a Grande Catedral de Razayarik que apesar te derem um dragão específico para adoração, continuam oferecendo as bênçãos a todos. Hoje em dia é difícil avistar qualquer um dos deuses dragões pelo mundo, já que o paradeiro deles não é conhecido e fica limitado apenas ao clero, mas isso não quer dizer que eles não existem.",
"the-fall-of-gods": "Humanos e outras raças já andavam por Boleham, quando deuses de outro mundo resolveram que viveriam nele, estes haviam sido abandonados por seus fiéis que haviam passado a cultuar outros deuses. É claro que Luximis os impediu, afinal isso ponharia em risco a existência de seu mundo. Dizem que Luximis discutiu sobre a descida dos deuses a seu mundo durante 1 século até que finalmente chegaram num acordo, os deuses que quisessem descer para o seu mundo deveriam se abster de seus privilégios divinos, entretanto continuariam com a imortalidade e um atributo próprio que poderiam dividir com humanos que entrassem para suas famílias e recebessem suas bênçãos. Após a descoberta de Babel, os deuses se mudaram para a cidade de Sfide para ajudar os mortais a explorarem a grande dungeon.",
"menhera-summon": "Menhera tinha uma vida comum e tranquila como uma jovem estudante no Rio Grande do Sul, como uma boa gaúcha vivia sempre acompanhada do seu chimarrão. Num dia como os outros, a jovem Menhera estava tomando seu chimarrão antes de ir pra escola quando sua casa foi tomada por um brilho dourado e então derrepente ela estava no espaço, frente a uma criatura que ela desconhecia, essa criatura então começou a se desculpar com ela e prometeu que daria a Menhera mais uma chance, antes que perdesse a oportunidade a Menhera questionou a entidade o que estava acontecendo e quem era ela, então a entidade se apresentou: 'Eu sou Luximis, acidentalmente acabei te trazendo do seu mundo para o meu e não tenho como te levar de volta pra ele, por isso vou te dar a chance de viver no meu uma vida como desejar'. Antes que qualquer coisa pudesse ser dita a respeito Luximis interrompeu dizendo: 'Não posso perder muito tempo, se não você vai se perder, bom te darei a dádiva de viver até que se canse de estar viva, aproveite sabiamente isso'. E assim num piscar de olhos, a Menhera se viu num outro mundo, sozinha, apenas estava apenas com um kit para produzir chimarrão que incluía sementes para produzir suas própria erva e com o seu tempo de vida ilimitado. Esse foi o começo da jornada de Menhera por Boleham.",
"the-find-of-babel-dungeon": "A primeira dungeon do mundo, surgiu no meio de uma grande planície e foi descoberta por um mercador que estava cruzando a área, seu formato era como o de uma torre que subia diversos andares a cima do chão, beirando os céus, mas que era repleta de andares que desciam para debaixo da terra que eram repletos de monstros. Seu surgimento intrigava a todos, bem como seu funcionamento. Por haverem muitas pessoas entrando na dungeon para descobrir como funcionam e acabaram morrendo por não conseguirem lidar com os perigos da dungeon, foi por causa disso que a Menhera decidiu fundar uma guilda e administrar a entrada na dungeon. Foi a partir disso que surgiu uma cidade em torno da dungeon, que recebeu o nome de Sfide",
"the-guild": "A história da guilda no mundo de Boleham é relativamente rescente, ela foi fundada pela grã mestre Menhera, logo após a descoberta da primeira dungeon no mundo, a dungeon de Babel. Desde então a guilda vem tentando explorar todas as dungeons do mundo e proteger as pessoas dos perigos dos monstros que estão aparecendo pelo mundo. Até hoje a guilda é administrada pela Menhera, que continua com a mesma aparência da época em que fundou a dungeon, mas atualmente ela divide a administração da guilda com outros membros notórios.",
"the-start-of-chaos": "Num dia comum na cidade de Sfide, a dungeon Babel entrou em colapso, a cidade começou a tremer e então a dungen simplesmente desapareceu deixando um vasto lugar vazio ni centro da cidade, o que estranhou a todos, afinal era como se ela nunca tivesse existido. Pouco tempo depois desse evento, monstros começaram a aparecer por todo mundo, assim como começaram a surgir algumas dungeons, o que fez com que os aventureiros se dispersassem pelo mundo bem como a guilda. Em meio a essa grande peregrinação os deuses que desceram ao mundo desapareçam sem deixarem qualquer rastro ou aviso, seus familiares que haviam recebido suas bênçãos continuaram recebendo o seu poder até o fim de sua vida, apesar delas não terem sido tão longas. Era como se o mundo tivesse expurgado os deuses, e como se Babel fosse a mãe dos monstros por trás disso, mas ninguém sabe ao certo o que houve naquela época, nem mesmo a grã mestre Menhera, que estava viva na época, sabe exatamente o que ocorreu"
}
}
4 changes: 2 additions & 2 deletions locales/pt-BR/footer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"menu": "Menu",
"description": "MenheraBot é um projeto Open Source criado no acaso para a diversão de um servidor privado, que acabou expandindo, e hoje é focado na diversão de outros servidores com seus recursos de diversão e Fazendinha",
"status": "Status",
"privacy": "Termos de Privacidade",
"terms": "Termos de Uso",
"legal": "Informações legais",
"boleham": "Boleham",
"support": "Suporte",
"invite": "Adicionar",
"bicho": "Bicho",
Expand Down
3 changes: 2 additions & 1 deletion locales/pt-BR/header.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@
"language": "English",
"add": "Adicionar",
"navigation": "Navegação",
"bicho": "Bicho"
"bicho": "Bicho",
"boleham": "Boleham"
}
8 changes: 4 additions & 4 deletions src/components/common/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ const useFooter = () => {
external: false,
},
{
redirect: '/legal#terms-of-service',
name: 'terms',
redirect: '/boleham',
name: 'boleham',
external: false,
},
{
Expand All @@ -63,8 +63,8 @@ const useFooter = () => {
external: true,
},
{
redirect: '/legal#privacy',
name: 'privacy',
redirect: '/legal',
name: 'legal',
external: false,
},
];
Expand Down
16 changes: 8 additions & 8 deletions src/components/common/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@ export function useNavbarItems(): NavbarItem[] {
icon: FaClipboardList,
redirect: true,
},
{
name: t('boleham'),
href: '/boleham',
icon: HiStar,
redirect: true,
},
{
name: t('bicho'),
href: '/bicho',
Expand All @@ -58,12 +64,6 @@ export function useNavbarItems(): NavbarItem[] {
icon: HiOutlineStatusOnline,
redirect: true,
},
{
name: t('legal'),
href: '/legal',
icon: HiStar,
redirect: true,
},
{
name: t('language'),
href: '/',
Expand All @@ -90,12 +90,12 @@ export function Header(): JSX.Element {
return (
<header className='flex justify-between md:justify-center items-center p-5 container mx-auto max-w-7xl'>
<Link href='/' passHref>
<h1 className='font-bold text-md text-white cursor-pointer' data-test='logo'>
<h1 className='font-bold text-md text-white cursor-pointer mr-2' data-test='logo'>
MenheraBot
</h1>
</Link>
<nav className='flex-1 hidden md:flex flex-row-reverse'>
<ul className='flex gap-10'>
<ul className='flex lg:gap-10 gap-4'>
{navbarItems.map((item) => (
<li
key={item.name}
Expand Down
73 changes: 73 additions & 0 deletions src/pages/boleham.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import { GetStaticProps } from 'next';
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
import { useTranslation } from 'next-i18next';
import { SectionDivider } from '../components/common/SectionDivider';
import Layout from '../components/PageLayout';

type Props = {
locale: string;
};

const storyChapters = [
'world-of-boleham',
'the-elemental-dragons',
'born-of-all-creatures',
'the-draconic-church',
'the-fall-of-gods',
'menhera-summon',
'the-find-of-babel-dungeon',
'the-guild',
'the-start-of-chaos',
];

const CommandPage = (): JSX.Element => {
const { t } = useTranslation('boleham');

return (
<Layout page='boleham'>
<main className='mx-auto max-w-7xl px-6 mb-10'>
<SectionDivider title={t('boleham')} withoutSpace className='my-6' />
<h1 className='text-white font-bold text-3xl md:text-4xl mb-3'>
{t('title')}
<span className='text-primary'>{' :3'}</span>
</h1>
<p className='text-describe text-xl mb-10'>{t('description')}</p>
{/* ------------------------------------------------------------------------------ */}
<div className='flex flex-col md:flex-row space-y-8 md:space-y-0 md:space-x-8 text-white'>
<aside className='w-full md:w-1/4 p-4 bg-secondary-bg rounded-md'>
<h2 className='mb-4 text-xl font-bold'>{t('chapters')}</h2>
<ul className='space-y-2'>
{storyChapters.map((chapter) => (
<li key={chapter}>
<a className='block p-2 bg-primary rounded-md' href={`#${chapter}`}>
{t(`chapters-title.${chapter}`)}
</a>
</li>
))}
</ul>
</aside>
<section className='w-full md:w-3/4 p-4 bg-secondary-bg rounded-md text-white'>
{storyChapters.map((chapter) => (
<article key={chapter} id={chapter}>
<h3 className='mb-4 text-2xl font-bold'>{t(`chapters-title.${chapter}`)}</h3>
<p className='mb-4'>{t(`chapters-text.${chapter}`)}</p>
</article>
))}
</section>
</div>
</main>
</Layout>
);
};

export const getStaticProps: GetStaticProps<Props> = async ({ locale }) => {
return {
props: {
locale: locale as string,
...(await serverSideTranslations(locale as string, ['boleham', 'header', 'footer'])),
},
revalidate: 86400,
};
};

export default CommandPage;
25 changes: 21 additions & 4 deletions src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import Link from 'next/link';
import { useTranslation } from 'next-i18next';
import { WeeklyTopFiltered } from '../services/api/api.types';
import { fetchWeeklyHunters } from '../services/api/api';
import { useEffect, useState } from 'react';

const useCategories = () => {
const { t } = useTranslation('index');
Expand Down Expand Up @@ -68,6 +69,20 @@ const HomePage = ({ weekly, nextWeeklyUpdate }: Props): JSX.Element => {
const { t, i18n } = useTranslation('index');
const features = useFeatures();
const categories = useCategories();
const [displayArrow, setDisplayArrow] = useState(true);

useEffect(() => {
const handleScroll = () => {
window.removeEventListener('scroll', handleScroll);
setDisplayArrow(false);
};

window.addEventListener('scroll', handleScroll);

return () => {
window.removeEventListener('scroll', handleScroll);
};
}, []);

const toWritableUTF = (str: string): string => str.replace(/[^\x00-\xFF]/g, '');

Expand Down Expand Up @@ -120,10 +135,12 @@ const HomePage = ({ weekly, nextWeeklyUpdate }: Props): JSX.Element => {
alt='Menhera comendo pipica'
/>
</div>
<IoIosArrowDown
className='text-primary bottom animate-bounce absolute hidden md:block inset-x-1/2 bottom-0'
size={50}
/>
{displayArrow && (
<IoIosArrowDown
className='text-primary bottom animate-bounce absolute hidden md:block inset-x-1/2 bottom-0'
size={50}
/>
)}
</section>
<SectionDivider className='hidden md:flex' />
<section id='ranking' className='relative flex flex-row items-center mx-auto max-w-7xl'>
Expand Down
1 change: 0 additions & 1 deletion src/services/api/command.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@ const getDimensions = async (command: Command): Promise<{ height: number; width:
response.on('data', (chunk) => {
bytesRead += chunk.length;
chunks.push(chunk);
console.log(bytesRead);

if (bytesRead >= MAX_BYTES_TO_GET_FROM_IMAGE) {
response.destroy();
Expand Down

0 comments on commit 30d7c50

Please sign in to comment.