Added links to homepage

This commit is contained in:
Ludoviko 2021-07-23 19:35:41 +01:00
parent ec742b15db
commit 1ee4053c4c
No known key found for this signature in database
GPG key ID: 1E66DEA3F5D623D1
10 changed files with 156 additions and 10 deletions

12
locales/en.json Normal file
View file

@ -0,0 +1,12 @@
{
"common": {
"welcome": "Welcome to Vänner Bäst.",
"desc": "A Young Royals fan website with links to different discussion spaces.",
"watch": {
"title": "Watch",
"desc": "Watch the series on Netflix"
},
"discord": "Join our community Discord server to discuss all things Young Royals",
"reddit": "Join the community subreddit to discuss Young Royals"
}
}

12
locales/es.json Normal file
View file

@ -0,0 +1,12 @@
{
"common": {
"welcome": "Bienvid@ a Vänner Bäst.",
"desc": "Un sitio web de fans de Young Royals con enlaces a diferentes espacios de discusión.",
"watch": {
"title": "Ver",
"desc": "Ver la serie en Netflix"
},
"discord": "Únase a nuestro servidor de Discord de la comunidad para discutir sobre Young Royals",
"reddit": "Únase al subreddit de la comunidad para discutir sobre Young Royals"
}
}

6
next-i18next.config.js Normal file
View file

@ -0,0 +1,6 @@
module.exports = {
i18n: {
defaultLocale: 'en',
locales: ['en', 'es'],
},
};

View file

@ -1,5 +1,7 @@
const { i18n } = require('./next-i18next.config');
module.exports = {
i18n,
reactStrictMode: true,
async redirects() {
return [
@ -7,6 +9,16 @@ module.exports = {
source: '/discord',
destination: 'https://discord.gg/ugxv4ZrVjC',
permanent: true
},
{
source: '/reddit',
destination: 'https://www.reddit.com/r/YoungRoyals/',
permanent: true
},
{
source: '/watch',
destination: 'https://www.netflix.com/gb/title/81210762?s=i&trkid=13747225&vlang=en&clip=81459758',
permanent: true
}
]
}

View file

@ -10,6 +10,7 @@
},
"dependencies": {
"next": "11.0.1",
"next-intl": "^1.4.4",
"react": "17.0.2",
"react-dom": "17.0.2"
},

View file

@ -1,7 +1,10 @@
import '../styles/globals.css'
import type { AppProps } from 'next/app'
import {NextIntlProvider} from 'next-intl';
function MyApp({ Component, pageProps }: AppProps) {
return <Component {...pageProps} />
function _App({ Component, pageProps }: AppProps) {
return <NextIntlProvider messages={pageProps.messages}>
<Component {...pageProps} />
</NextIntlProvider>
}
export default MyApp
export default _App

View file

@ -1,24 +1,55 @@
import Head from 'next/head'
import Image from 'next/image'
import Link from 'next/link'
import styles from '../styles/Home.module.css'
import { useRouter } from 'next/router'
import { useTranslations } from 'next-intl'
import { GetStaticPropsContext, InferGetStaticPropsType } from 'next'
export function getStaticProps({locale}: GetStaticPropsContext) {
return {
props: {
// You can get the messages from anywhere you like, but the recommended
// pattern is to put them in JSON files separated by language and read
// the desired one based on the `locale` received from Next.js.
messages: require(`../locales/${locale}.json`),
}
};
}
export default function Home() {
const router = useRouter()
const t = useTranslations('common')
return (
<div className={styles.container}>
<Head>
<title>Vanner Bast | Friends Best</title>
<title>Vänner Bäst | Friends Best</title>
<meta name="description" content="Generated by create next app" />
<link rel="icon" href="/favicon.ico" />
</Head>
<main className={styles.main}>
<h1 className={styles.title}>
Welcome to Vanner Bast.
{t('welcome')}
</h1>
<h2>
This website is currently WIP.
</h2>
<p className={styles.description}>
{t('desc')}
</p>
<div className={styles.grid}>
<a href="/watch" className={styles.card}>
<h2>{t('watch.title')} &rarr;</h2>
<p>{t('watch.desc')} </p>
</a>
<a href="/discord" className={styles.card}>
<h2>Discord &rarr;</h2>
<p>{t('discord')}</p>
</a>
<a href="/reddit" className={styles.card}>
<h2>Reddit &rarr;</h2>
<p>{t('reddit')}</p>
</a>
</div>
</main>
<footer className={styles.footer}><Link href="https://ludoviko.ch">Created by: Ludoviko</Link></footer>
</div>
)
}

View file

@ -26,11 +26,16 @@
align-items: center;
}
.footer a:hover {
color: #0070f3;
}
.footer a {
display: flex;
justify-content: center;
align-items: center;
flex-grow: 1;
color: #eaeaea;
}
.title a {
@ -53,6 +58,7 @@
.title,
.description {
text-align: center;
color: #eaeaea
}
.description {
@ -90,10 +96,15 @@
width: 45%;
}
.card:link,
.card:visited {
color: #eaeaea
}
.card:hover,
.card:focus,
.card:active {
color: #0070f3;
color: #0070f3 !important;
border-color: #0070f3;
}

View file

@ -1,5 +1,6 @@
html,
body {
background-color: #2b2b2b;
padding: 0;
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,

View file

@ -69,6 +69,35 @@
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
"@formatjs/ecma402-abstract@1.9.4":
version "1.9.4"
resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.4.tgz#797ae6c407fb5a0d09023a60c86f19aca1958c5e"
integrity sha512-ePJXI7tWC9PBxQxS7jtbkCLGVmpC8MH8n9Yjmg8dsh9wXK9svu7nAbq76Oiu5Zb+5GVkLkeTVerlSvHCbNImlA==
dependencies:
tslib "^2.1.0"
"@formatjs/fast-memoize@1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-1.1.1.tgz#3006b58aca1e39a98aca213356b42da5d173f26b"
integrity sha512-mIqBr5uigIlx13eZTOPSEh2buDiy3BCdMYUtewICREQjbb4xarDiVWoXSnrERM7NanZ+0TAHNXSqDe6HpEFQUg==
"@formatjs/icu-messageformat-parser@2.0.7":
version "2.0.7"
resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.7.tgz#326efc14d9409cdbf1b7d3f42e0eed273c95c663"
integrity sha512-gduYfh/YdBTmb1XzLueNaofiGZVMrkaDg0RSa0GNztKWs4QXIRS+28cjcuWNpV0q5S8aiLMkP7SHQpZKnPCHLw==
dependencies:
"@formatjs/ecma402-abstract" "1.9.4"
"@formatjs/icu-skeleton-parser" "1.2.8"
tslib "^2.1.0"
"@formatjs/icu-skeleton-parser@1.2.8":
version "1.2.8"
resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.8.tgz#ddf6c1f7274244b71237fad49a67dd97e81f5c0a"
integrity sha512-KLSSAA7Q2Uv7msij8saaOE5rpsHK/2WkfS3737JnDyVTFOYe8l2OarIBUoTC5gi1BnCgiN/1icZlqXwyUX6obA==
dependencies:
"@formatjs/ecma402-abstract" "1.9.4"
tslib "^2.1.0"
"@hapi/accept@5.0.2":
version "5.0.2"
resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.2.tgz#ab7043b037e68b722f93f376afb05e85c0699523"
@ -1555,6 +1584,15 @@ internal-slot@^1.0.3:
has "^1.0.3"
side-channel "^1.0.4"
intl-messageformat@^9.3.18:
version "9.8.0"
resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-9.8.0.tgz#a032cac18039929d8ea3f9dffe38f7207f7545be"
integrity sha512-di+/42/tyU+N0vwbnIRrgdpAIqlg4m3zYzjS0No7i9KljjclhF1HagcmLKYPo+6YisThzhA2h1mRNQdwtEAqCA==
dependencies:
"@formatjs/fast-memoize" "1.1.1"
"@formatjs/icu-messageformat-parser" "2.0.7"
tslib "^2.1.0"
is-arguments@^1.0.4:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9"
@ -1942,6 +1980,13 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
next-intl@^1.4.4:
version "1.4.4"
resolved "https://registry.yarnpkg.com/next-intl/-/next-intl-1.4.4.tgz#a149ddd44a05e86ecf85f4aef81bb9663016fc52"
integrity sha512-X0qieBrmFpQ6kMNl35OfZGnUXsqsQ6CusrgOLTxb1ud/EnagJibjr3v+7NinYEgTMapFvWHXKf8CWZZyW13Ntw==
dependencies:
use-intl "^1.4.4"
next@11.0.1:
version "11.0.1"
resolved "https://registry.yarnpkg.com/next/-/next-11.0.1.tgz#b8e3914d153aaf7143cb98c09bcd3c8230eeb17a"
@ -2981,6 +3026,11 @@ tslib@^1.8.1:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
@ -3050,6 +3100,13 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
use-intl@^1.4.4:
version "1.4.4"
resolved "https://registry.yarnpkg.com/use-intl/-/use-intl-1.4.4.tgz#03f5f24614e836849fff1eb01fe7ef4c0275f180"
integrity sha512-4WoGybFYMVTq301DqmUSRoTMYSVe4Kd62+uJ8+gV2P6HitWmp89CLCz0mawFpGJRgEkRACO4IBpbe4lcfFmrQw==
dependencies:
intl-messageformat "^9.3.18"
use-subscription@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1"