mirror of
https://github.com/UiO-Gaming/uiogaming.no.git
synced 2026-11-05 13:56:47 +01:00
temporarily remove english translation
the site would not build due to some weird issue I have yet to figure out. temporarily removing all english translations fixes it however. I am probably migrating the site away from gatsby anyway so a temp fix is fine
This commit is contained in:
24 files changed
+1424
-1728
No files matched your search
+1
-27
@@ -21,33 +21,7 @@ module.exports = {
|
||||
path: `${__dirname}/src/images`,
|
||||
},
|
||||
},
|
||||
{
|
||||
resolve: `gatsby-source-filesystem`,
|
||||
options: {
|
||||
path: `${__dirname}/src/locales`,
|
||||
name: `locale`,
|
||||
},
|
||||
},
|
||||
{
|
||||
resolve: `gatsby-plugin-react-i18next`,
|
||||
options: {
|
||||
localeJsonSourceName: `locale`, // name given to `gatsby-source-filesystem` plugin.
|
||||
languages: [`en`, `no`],
|
||||
defaultLanguage: `no`,
|
||||
siteUrl: `https://uiogaming.no`,
|
||||
// if you are using trailingSlash gatsby config include it here, as well (the default is 'always')
|
||||
trailingSlash: "always",
|
||||
// you can pass any i18next options
|
||||
i18nextOptions: {
|
||||
interpolation: {
|
||||
escapeValue: false, // not needed for react as it escapes by default
|
||||
},
|
||||
keySeparator: false,
|
||||
nsSeparator: false,
|
||||
},
|
||||
pages: [],
|
||||
},
|
||||
},
|
||||
// Removed locale and i18n plugins
|
||||
`gatsby-transformer-sharp`,
|
||||
`gatsby-plugin-sharp`,
|
||||
{
|
||||
|
||||
@@ -11,21 +11,16 @@
|
||||
"gatsby-plugin-image": "^3.14.0",
|
||||
"gatsby-plugin-manifest": "^5.14.0",
|
||||
"gatsby-plugin-react-helmet": "^6.14.0",
|
||||
"gatsby-plugin-react-i18next": "^3.0.1",
|
||||
"gatsby-plugin-sharp": "^5.14.0",
|
||||
"gatsby-source-filesystem": "^5.14.0",
|
||||
"gatsby-source-sanity": "^7.9.1",
|
||||
"gatsby-transformer-sharp": "^5.14.0",
|
||||
"i18next": "^23.16.4",
|
||||
"i18next-browser-languagedetector": "^8.0.0",
|
||||
"i18next-http-backend": "^2.6.2",
|
||||
"path": "^0.12.7",
|
||||
"path-browserify": "^1.0.1",
|
||||
"prop-types": "^15.8.1",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-i18next": "^15.1.1",
|
||||
"react-icons": "^5.3.0",
|
||||
"react-pannellum": "^0.2.16"
|
||||
},
|
||||
|
||||
@@ -4,18 +4,15 @@ import * as styles from "./back.module.css"
|
||||
import { graphql } from "gatsby"
|
||||
|
||||
import { FaArrowLeft } from "react-icons/fa"
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
const Back = () => {
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<button
|
||||
className={`${styles.container} ${styles.button}`}
|
||||
onClick={() => window.history.back()}
|
||||
>
|
||||
<FaArrowLeft />
|
||||
<p>{t("back")}</p>
|
||||
<p>Tilbake</p>
|
||||
</button>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
import * as React from "react"
|
||||
import * as styles from "./languageSelector.module.css"
|
||||
|
||||
import { NO, GB } from "country-flag-icons/react/3x2"
|
||||
import { useTranslation, useI18next } from "gatsby-plugin-react-i18next"
|
||||
|
||||
const LanguageSelector = () => {
|
||||
const { languages, changeLanguage } = useI18next()
|
||||
const { t, i18n } = useTranslation()
|
||||
|
||||
if (i18n.language === "no") {
|
||||
return (
|
||||
<a
|
||||
className={styles.button}
|
||||
href="#"
|
||||
onClick={e => {
|
||||
e.preventDefault()
|
||||
changeLanguage("en")
|
||||
}}
|
||||
>
|
||||
<GB className={styles.flag} title={t("altText.flag")} />
|
||||
English
|
||||
</a>
|
||||
)
|
||||
} else {
|
||||
return (
|
||||
<a
|
||||
className={styles.button}
|
||||
href="#"
|
||||
onClick={e => {
|
||||
e.preventDefault()
|
||||
changeLanguage("no")
|
||||
}}
|
||||
>
|
||||
<NO className={styles.flag} title={t("altText.flag")} />
|
||||
Norsk
|
||||
</a>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default LanguageSelector
|
||||
@@ -1,24 +0,0 @@
|
||||
.button {
|
||||
display: flex;
|
||||
gap: 0.25rem;
|
||||
|
||||
position: fixed;
|
||||
top: 0.5rem;
|
||||
right: 0.5rem;
|
||||
z-index: 0;
|
||||
|
||||
background: pink;
|
||||
color: black;
|
||||
border: 1px solid black;
|
||||
font-size: 1.1rem;
|
||||
border-radius: 0.5rem;
|
||||
padding-inline: 0.5em;
|
||||
}
|
||||
.button:hover {
|
||||
background: #ff7b7b;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.flag {
|
||||
width: 1.2rem;
|
||||
}
|
||||
@@ -1,11 +1,7 @@
|
||||
import * as React from "react"
|
||||
import * as styles from "./memberButton.module.css"
|
||||
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
const MemberButton = () => {
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<a
|
||||
href="https://innmelding.uiogaming.no"
|
||||
@@ -13,7 +9,7 @@ const MemberButton = () => {
|
||||
rel="noreferrer"
|
||||
className={styles.button}
|
||||
>
|
||||
{t("join")}
|
||||
Bli medlem
|
||||
</a>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,38 +1,32 @@
|
||||
import * as React from "react"
|
||||
import * as styles from "./otherButton.module.css"
|
||||
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
import { useState } from 'react';
|
||||
import { useState } from "react"
|
||||
|
||||
const OtherButton = () => {
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
const toggleDropdown = () => setIsOpen(!isOpen);
|
||||
const { t, i18n } = useTranslation();
|
||||
|
||||
const statutesUrl =
|
||||
i18n.language === "en"
|
||||
? "https://statutes.uiogaming.no"
|
||||
: "https://vedtekter.uiogaming.no"
|
||||
const [isOpen, setIsOpen] = useState(false)
|
||||
const toggleDropdown = () => setIsOpen(!isOpen)
|
||||
|
||||
const links = [
|
||||
{ url: statutesUrl, label: t("footer.statutes") },
|
||||
{ url: "https://klage.uiogaming.no", label: t("footer.complaints") },
|
||||
{ url: "https://github.com/UiO-Gaming/dokumenter", label: t("documents") }
|
||||
{ url: "https://vedtekter.uiogaming.no", label: "Vedtekter" },
|
||||
{ url: "https://klage.uiogaming.no", label: "Klage" },
|
||||
{ url: "https://github.com/UiO-Gaming/dokumenter", label: "Dokumenter" },
|
||||
]
|
||||
|
||||
return (
|
||||
<div>
|
||||
<button onClick={toggleDropdown} className={styles.button}>
|
||||
{t("other")} <span className={isOpen ? styles.arrowUp : styles.arrowDown}></span>
|
||||
Annet{" "}
|
||||
<span className={isOpen ? styles.arrowUp : styles.arrowDown}></span>
|
||||
</button>
|
||||
{isOpen && (
|
||||
<div className={styles.dropdown}>
|
||||
{links.map((link, index) => (
|
||||
<button
|
||||
key={index}
|
||||
onClick={() => window.open(link.url, '_blank')}
|
||||
onClick={() => window.open(link.url, "_blank")}
|
||||
className={styles.dropdownButton}
|
||||
style={{ marginTop: index === 0 ? '8px' : '4px' }}
|
||||
style={{ marginTop: index === 0 ? "8px" : "4px" }}
|
||||
>
|
||||
{link.label}
|
||||
</button>
|
||||
@@ -40,7 +34,7 @@ const OtherButton = () => {
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
)
|
||||
}
|
||||
|
||||
export default OtherButton;
|
||||
export default OtherButton
|
||||
@@ -3,7 +3,6 @@ import * as styles from "./about.module.css"
|
||||
|
||||
import { graphql, useStaticQuery } from "gatsby"
|
||||
import { GatsbyImage } from "gatsby-plugin-image"
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
import DiscordButton from "../items/discordButton"
|
||||
import MemberButton from "../items/memberButton"
|
||||
@@ -24,26 +23,31 @@ const About = () => {
|
||||
}
|
||||
`)
|
||||
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<section>
|
||||
<div className={styles.container}>
|
||||
<div className="no-mobile">
|
||||
<GatsbyImage
|
||||
image={data.aboutImage.childImageSharp.gatsbyImageData}
|
||||
alt={t("altText.about")}
|
||||
alt="To medlemmer spiller sammen"
|
||||
/>
|
||||
<p className="photo-credit">
|
||||
{t("photo")}: 장태민, Studentenes Fotoklubb
|
||||
</p>
|
||||
<p className="photo-credit">Foto: 장태민, Studentenes Fotoklubb</p>
|
||||
</div>
|
||||
<div>
|
||||
<h2 className="left-section-header">{t("about.title")}</h2>
|
||||
<h2 className="left-section-header">Hvem er vi?</h2>
|
||||
<div>
|
||||
<p>{t("about.text")}</p>
|
||||
<p>
|
||||
UiO Gaming er en forening med hovedfokus på å danne et
|
||||
inkluderende fellesskap rundt videospill og e-sport. Hos oss er
|
||||
det enkelt å skaffe seg venner, ettersom alle har felles
|
||||
interesser. Vi arrangerer ukentlige spillkvelder og fysiske
|
||||
sosiale arrangementer, som for eksempel brettspillkvelder og
|
||||
sosiale sammenkomster. Vår hovedkanal er en aktiv Discord-server
|
||||
hvor man kan møte nye folk med felles interesser og game med andre
|
||||
studenter.
|
||||
</p>
|
||||
<div className={styles.joinSection}>
|
||||
<h3>{t("about.interested")}</h3>
|
||||
<h3>Interessert?</h3>
|
||||
<div className={styles.buttons}>
|
||||
<MemberButton />
|
||||
<DiscordButton />
|
||||
|
||||
@@ -3,10 +3,8 @@ import * as styles from "./boardMembers.module.css"
|
||||
|
||||
import { graphql, useStaticQuery } from "gatsby"
|
||||
import { GatsbyImage } from "gatsby-plugin-image"
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
const BoardMembers = () => {
|
||||
const { t, i18n } = useTranslation();
|
||||
const data = useStaticQuery(graphql`
|
||||
query {
|
||||
allSanityAuthor(
|
||||
@@ -40,7 +38,7 @@ const BoardMembers = () => {
|
||||
|
||||
return (
|
||||
<section>
|
||||
<h2>{t("boardMembers.title")}</h2>
|
||||
<h2>Styret</h2>
|
||||
<div className={styles.container}>
|
||||
{data.allSanityAuthor.edges.map(({ node: member }) => (
|
||||
<article key={member._id} className={styles.card}>
|
||||
@@ -51,21 +49,21 @@ const BoardMembers = () => {
|
||||
<GatsbyImage
|
||||
image={member.image.asset.gatsbyImageData}
|
||||
className="circular"
|
||||
alt={`${t("altText.boardMember")}, ` + member.name}
|
||||
alt={`Bilde av styremedlem, ` + member.name}
|
||||
/>
|
||||
</div>
|
||||
<div className={styles.info}>
|
||||
<h3>{member.name}</h3>
|
||||
<p>{member.role[i18n.language]}</p>
|
||||
<p>{member.role.no}</p>
|
||||
</div>
|
||||
</div>
|
||||
<p>{member.bio[i18n.language]}</p>
|
||||
<p>{member.bio.no}</p>
|
||||
<div className={styles.footer}>
|
||||
<p className="text-center">
|
||||
{member.contactInfo ? (
|
||||
member.contactInfo
|
||||
) : (
|
||||
<i>{t("boardMembers.noContact")}</i>
|
||||
<i>Ingen kontaktinfo</i>
|
||||
)}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import * as React from "react"
|
||||
import * as styles from "./contact.module.css"
|
||||
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
import {
|
||||
FaYoutube,
|
||||
FaTwitch,
|
||||
@@ -11,20 +9,18 @@ import {
|
||||
FaDiscord,
|
||||
FaAt,
|
||||
FaInstagram,
|
||||
FaTiktok
|
||||
FaTiktok,
|
||||
} from "react-icons/fa"
|
||||
|
||||
const Contact = () => {
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<section>
|
||||
<h2 className="section-center-header">{t("contact.title")}</h2>
|
||||
<h2 className="section-center-header">Finn oss</h2>
|
||||
<div className={styles.container}>
|
||||
<div className={styles.item}>
|
||||
<FaAt />
|
||||
<a href="mailto:styret@uiogaming.no" target="_blank" rel="noreferrer">
|
||||
{t("contact.email")}
|
||||
E-post
|
||||
</a>
|
||||
</div>
|
||||
<div className={styles.item}>
|
||||
|
||||
@@ -3,7 +3,7 @@ import * as styles from "./events.module.css"
|
||||
|
||||
import { graphql, useStaticQuery } from "gatsby"
|
||||
import { GatsbyImage } from "gatsby-plugin-image"
|
||||
import { Link, useTranslation } from "gatsby-plugin-react-i18next"
|
||||
import { Link } from "gatsby"
|
||||
|
||||
import { FaMapMarkerAlt, FaCalendarAlt } from "react-icons/fa"
|
||||
|
||||
@@ -36,8 +36,6 @@ const Events = () => {
|
||||
}
|
||||
`)
|
||||
|
||||
const { t, i18n } = useTranslation()
|
||||
|
||||
const currentDate = new Date()
|
||||
const filteredEvents = data.allSanityEvent.edges
|
||||
.filter(({ node: event }) => {
|
||||
@@ -59,7 +57,7 @@ const Events = () => {
|
||||
<div className={styles.metadata}>
|
||||
<FaCalendarAlt />
|
||||
<p>
|
||||
{new Date(event.date).toLocaleString(i18n.language, {
|
||||
{new Date(event.date).toLocaleString("no", {
|
||||
weekday: "long",
|
||||
month: "long",
|
||||
year: "numeric",
|
||||
@@ -77,9 +75,7 @@ const Events = () => {
|
||||
) : (
|
||||
<>
|
||||
{event.description.substring(0, 120)}...{" "}
|
||||
<span className={styles.readMore}>
|
||||
{t("events.readMore")}
|
||||
</span>
|
||||
<span className={styles.readMore}>Les mer</span>
|
||||
</>
|
||||
)}
|
||||
</p>
|
||||
@@ -87,31 +83,22 @@ const Events = () => {
|
||||
</Link>
|
||||
))
|
||||
} else {
|
||||
return (
|
||||
<h3 className={styles.noEvents}>
|
||||
{t("events.noEvents")}
|
||||
<br />
|
||||
<br />
|
||||
(っ˘̩╭╮˘̩)っ
|
||||
</h3>
|
||||
)
|
||||
return <h3 className={styles.noEvents}>Ingen kommende arrangementer</h3>
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<section className={styles.stretch}>
|
||||
<div className={styles.container}>
|
||||
<h2 className={styles.sectionHeader}>{t("events.title")}</h2>
|
||||
<h2 className={styles.sectionHeader}>Hva skjer?</h2>
|
||||
<div className={styles.events}>{mapEvents(filteredEvents)}</div>
|
||||
<div className={"no-mobile " + styles.image}>
|
||||
<GatsbyImage
|
||||
image={data.eventImage.childImageSharp.gatsbyImageData}
|
||||
alt={t("altText.events")}
|
||||
alt="Medlemmer spiller brettspill"
|
||||
/>
|
||||
<div>
|
||||
<p className="photo-credit">
|
||||
{t("photo")}: 장태민, Studentenes Fotoklubb
|
||||
</p>
|
||||
<p className="photo-credit">Foto: 장태민, Studentenes Fotoklubb</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,6 @@ import * as styles from "./footer.module.css"
|
||||
|
||||
import { graphql, useStaticQuery } from "gatsby"
|
||||
import { GatsbyImage } from "gatsby-plugin-image"
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
const Footer = () => {
|
||||
const data = useStaticQuery(graphql`
|
||||
@@ -20,13 +19,6 @@ const Footer = () => {
|
||||
}
|
||||
`)
|
||||
|
||||
const { t, i18n } = useTranslation()
|
||||
|
||||
const statutesUrl =
|
||||
i18n.language === "en"
|
||||
? "https://statutes.uiogaming.no"
|
||||
: "https://vedtekter.uiogaming.no"
|
||||
|
||||
return (
|
||||
<footer>
|
||||
<div className={styles.footer}>
|
||||
@@ -39,18 +31,18 @@ const Footer = () => {
|
||||
<div className={styles.links}>
|
||||
<ul className="remove-bullets">
|
||||
<li>
|
||||
<a href={statutesUrl} rel="noreferrer">
|
||||
{t("footer.statutes")}
|
||||
<a href="https://vedtekter.uiogaming.no" rel="noreferrer">
|
||||
Vedtekter
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://innmelding.uiogaming.no" rel="noreferrer">
|
||||
{t("join")}
|
||||
Bli medlem
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://klage.uiogaming.no" rel="noreferrer">
|
||||
{t("footer.complaints")}
|
||||
Klage
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
@@ -58,19 +50,19 @@ const Footer = () => {
|
||||
href="https://github.com/UiO-Gaming/uiogaming.no/"
|
||||
rel="noreferrer"
|
||||
>
|
||||
{t("footer.sourcecode")}
|
||||
Kildekode
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://admin.uiogaming.no" rel="noreferrer">
|
||||
{t("footer.admin")}
|
||||
Adminområdet
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div className={styles.orgInfo}>
|
||||
<p>{t("footer.orgnum")}: 925 719 153</p>
|
||||
<p>Org.Nr.: 925 719 153</p>
|
||||
<address>Slemdalsveien 15, 0369 Oslo</address>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,6 @@ import * as styles from "./header.module.css"
|
||||
|
||||
import { graphql, useStaticQuery } from "gatsby"
|
||||
import { GatsbyImage } from "gatsby-plugin-image"
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
const Header = () => {
|
||||
const data = useStaticQuery(graphql`
|
||||
@@ -20,16 +19,16 @@ const Header = () => {
|
||||
}
|
||||
`)
|
||||
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<header id="hjem" className={styles.container}>
|
||||
<GatsbyImage
|
||||
image={data.placeholder.childImageSharp.gatsbyImageData}
|
||||
alt="UiO Gaming logo"
|
||||
/>
|
||||
|
||||
<p>{t("header.text")}</p>
|
||||
<p>
|
||||
En hobbyforening som ønsker å skape et sosialt miljø rundt gaming og
|
||||
e-sport på UiO
|
||||
</p>
|
||||
</header>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -2,27 +2,31 @@ import * as React from "react"
|
||||
import * as styles from "./office.module.css"
|
||||
|
||||
import ReactPannellum from "react-pannellum"
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
const config = {
|
||||
autoLoad: true,
|
||||
}
|
||||
|
||||
const Office = () => {
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<section>
|
||||
<h2>{t("office.title")}</h2>
|
||||
<h2>Kontoret</h2>
|
||||
<div className={styles.container}>
|
||||
<p>{t("office.text")}</p>
|
||||
<p>{t("office.tip")}</p>
|
||||
<p>
|
||||
Vi har et foreningskontor på Chateau Neuf der man kan bruke utstyret
|
||||
vårt og henge med andre medlemmer! Vi har blant annet alle de nyeste
|
||||
konsollene, 6 gaming-PCer samt et bredt utvalg av brettspill.
|
||||
</p>
|
||||
<p>
|
||||
Tips: Du kan kikke rundt i kontoret ved å klikke og dra på bildet
|
||||
nedenfor 👀
|
||||
</p>
|
||||
<ReactPannellum
|
||||
id="1"
|
||||
sceneId="office"
|
||||
config={config}
|
||||
imageSource="/3D_office_2024_11_03.jpg"
|
||||
style={{ width: "100%", aspectRatio: "1 / 1", background: "#000000" }} // yes, apparantly applying a css class to the component doesn't work
|
||||
style={{ width: "100%", aspectRatio: "1 / 1", background: "#000000" }}
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -3,7 +3,6 @@ import * as React from "react"
|
||||
import PropTypes from "prop-types"
|
||||
import { Helmet } from "react-helmet"
|
||||
import { useStaticQuery, graphql } from "gatsby"
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
function Seo({ description, lang, meta, imageURL, title, author }) {
|
||||
const { site } = useStaticQuery(graphql`
|
||||
@@ -19,11 +18,8 @@ function Seo({ description, lang, meta, imageURL, title, author }) {
|
||||
}
|
||||
`)
|
||||
|
||||
const { t } = useTranslation()
|
||||
|
||||
const metaAuthor = author || site.siteMetadata.author
|
||||
const metaDescription =
|
||||
description || t("header.text", site.siteMetadata.description)
|
||||
const metaDescription = description || site.siteMetadata.description
|
||||
const defaultTitle = site.siteMetadata?.title
|
||||
|
||||
const jsonLd = {
|
||||
@@ -39,7 +35,8 @@ function Seo({ description, lang, meta, imageURL, title, author }) {
|
||||
"https://github.com/UiO-Gaming",
|
||||
],
|
||||
name: site.siteMetadata.title,
|
||||
description: t("longDescription"),
|
||||
description:
|
||||
"UiO Gaming har som formål å fremme gaming, e-sport, brettspill og andre spillrelaterte interesser/kulturer ved UiO. I tillegg ønsker vi å skape et sosialt miljø som legger til rette for all aktivitet rundt spill. Foreningen har som mål å arrangere spillkvelder, turneringer, LAN og andre spillrelaterte aktiviteter åpne for alle som er interesserte.",
|
||||
email: "styret@uiogaming.no",
|
||||
address: {
|
||||
"@type": "PostalAddress",
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"title": "404: Page not found",
|
||||
"text": "Our journey ended here. Please don't leave us",
|
||||
"back": "Back to safe grounds"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"altText.about": "2 members playing games together",
|
||||
"altText.events": "Members playing board games",
|
||||
"altText.boardMember": "Picture of board member",
|
||||
"altText.flag": "Flag of Norway"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"back": "Back",
|
||||
"join": "Become a member",
|
||||
"other": "Other",
|
||||
"photo": "Photo"
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"header.text": "A student organisation that aims to create an inclusive environment around gaming and e-sports for the students at UiO",
|
||||
"about.title": "Who are we?",
|
||||
"about.text": "UiO Gaming is a student organisation with a primary focus on creating an inclusive environment around gaming and e-sports. We wish to establish a community where it’s easy to make new friends and cultivate your gaming interests. Each week we host both casual and more intense gamenights, as well as physical events such as board game nights and other social gatherings. Our main channel is a Discord server where you can meet new people with common interests and play games with other students.",
|
||||
"about.interested": "Interested?",
|
||||
"events.title": "Upcoming events",
|
||||
"events.readMore": "Read more",
|
||||
"events.noEvents": "No upcoming events",
|
||||
"office.title": "The office",
|
||||
"office.text": "We have an office at Chateau Neuf where you can use our gear and hang out with other members! We've got all the latest and greatest consoles, 6 high-end PCs as well as a plethora of board games.",
|
||||
"office.tip": "Tip: You can look around the office by clicking and dragging the image below 👀",
|
||||
"boardMembers.title": "The Board",
|
||||
"boardMembers.noContact": "No contact info",
|
||||
"contact.title": "Contact us",
|
||||
"contact.email": "E-mail",
|
||||
"footer.statutes": "Statutes",
|
||||
"footer.complaints": "File complaint",
|
||||
"footer.sourcecode": "Source code",
|
||||
"footer.admin": "Admin page",
|
||||
"footer.orgnum": "Org. no",
|
||||
"documents": "Documents"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"longDescription": "UiO Gaming’s purpose is to promote gaming, e-sports, board games and other gaming-related interests/cultures at UiO. In addition, we wish to create a social environment that facilitates all forms of activity around games. The association aims to organize game nights, tournaments, LAN and other gaming-related activities open to anyone who is interested.",
|
||||
"location": "Location",
|
||||
"time": "Time"
|
||||
}
|
||||
+5
-23
@@ -2,27 +2,25 @@ import * as React from "react"
|
||||
import * as styles from "./404.module.css"
|
||||
|
||||
import { graphql } from "gatsby"
|
||||
import { Link, useTranslation } from "gatsby-plugin-react-i18next"
|
||||
import { Link } from "gatsby"
|
||||
|
||||
import Layout from "../components/layout"
|
||||
import Seo from "../components/seo"
|
||||
|
||||
const NotFoundPage = () => {
|
||||
const { t, i18n } = useTranslation()
|
||||
|
||||
return (
|
||||
<Layout>
|
||||
<Seo title="404: Not found" description="Uh oh :(" lang={i18n.language} />
|
||||
<Seo title="404: Ikke funnet" description="Uh oh :(" lang="no" />
|
||||
<div className={styles.container}>
|
||||
<h1 className={styles.centeredText}>{t("title")}</h1>
|
||||
<h1 className={styles.centeredText}>404: Siden ble ikke funnet</h1>
|
||||
<p className={styles.centeredText}>
|
||||
{t("text")}{" "}
|
||||
Reisen vår endte her. Vennligst ikke forlat oss
|
||||
<span role="img" aria-label="eyes">
|
||||
👀
|
||||
</span>
|
||||
</p>
|
||||
<Link to="/" className={`${styles.centeredText} ${styles.homeLink}`}>
|
||||
{t("back")}
|
||||
Tilbake til trygg grunn
|
||||
</Link>
|
||||
</div>
|
||||
</Layout>
|
||||
@@ -30,19 +28,3 @@ const NotFoundPage = () => {
|
||||
}
|
||||
|
||||
export default NotFoundPage
|
||||
|
||||
export const query = graphql`
|
||||
query ($language: String!) {
|
||||
locales: allLocale(
|
||||
filter: { ns: { in: ["404", "seo"] }, language: { eq: $language } }
|
||||
) {
|
||||
edges {
|
||||
node {
|
||||
ns
|
||||
data
|
||||
language
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
+6
-19
@@ -2,14 +2,14 @@ import * as React from "react"
|
||||
import * as styles from "./eventPost.module.css"
|
||||
|
||||
import { graphql } from "gatsby"
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
// Removed: import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
|
||||
import Seo from "../components/seo"
|
||||
import Back from "../components/items/back"
|
||||
import { FaMapMarkerAlt, FaCalendarAlt } from "react-icons/fa"
|
||||
|
||||
export const query = graphql`
|
||||
query ($id: String, $language: String!) {
|
||||
query ($id: String) {
|
||||
sanityEvent(_id: { eq: $id }) {
|
||||
title
|
||||
location
|
||||
@@ -19,24 +19,11 @@ export const query = graphql`
|
||||
}
|
||||
description
|
||||
}
|
||||
locales: allLocale(
|
||||
filter: { ns: { in: ["common", "seo"] }, language: { eq: $language } }
|
||||
) {
|
||||
edges {
|
||||
node {
|
||||
ns
|
||||
data
|
||||
language
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
const Event = ({ data }) => {
|
||||
const { t, i18n } = useTranslation()
|
||||
|
||||
const time = new Date(data.sanityEvent.date).toLocaleString(i18n.language, {
|
||||
const time = new Date(data.sanityEvent.date).toLocaleString("no", {
|
||||
weekday: "long",
|
||||
month: "long",
|
||||
year: "numeric",
|
||||
@@ -50,8 +37,8 @@ const Event = ({ data }) => {
|
||||
<>
|
||||
<Seo
|
||||
title={data.sanityEvent.title}
|
||||
description={`${t("time")}: ${time}\n${t("location")}: ${data.sanityEvent.location}\n\n${data.sanityEvent.description}`}
|
||||
lang={i18n.language}
|
||||
description={`Tid: ${time}\nSted: ${data.sanityEvent.location}\n\n${data.sanityEvent.description}`}
|
||||
lang="no"
|
||||
/>
|
||||
<div className={styles.container}>
|
||||
<Back />
|
||||
@@ -64,7 +51,7 @@ const Event = ({ data }) => {
|
||||
<div className={styles.metadata}>
|
||||
<FaCalendarAlt />
|
||||
<p>
|
||||
{new Date(data.sanityEvent.date).toLocaleString(i18n.language, {
|
||||
{new Date(data.sanityEvent.date).toLocaleString("no", {
|
||||
weekday: "long",
|
||||
month: "long",
|
||||
year: "numeric",
|
||||
|
||||
+1
-24
@@ -1,11 +1,9 @@
|
||||
import * as React from "react"
|
||||
import { graphql } from "gatsby"
|
||||
import { useTranslation } from "gatsby-plugin-react-i18next"
|
||||
import "../index.css"
|
||||
|
||||
import Layout from "../components/layout"
|
||||
import Seo from "../components/seo"
|
||||
import LanguageSelector from "../components/items/languageSelector"
|
||||
|
||||
import Header from "../components/sections/header"
|
||||
import About from "../components/sections/about"
|
||||
@@ -16,11 +14,10 @@ import Contact from "../components/sections/contact"
|
||||
import Footer from "../components/sections/footer"
|
||||
|
||||
const IndexPage = () => {
|
||||
const { t, i18n } = useTranslation()
|
||||
return (
|
||||
<>
|
||||
<Layout>
|
||||
<Seo lang={i18n.language} />
|
||||
<Seo lang="no" />
|
||||
<Header />
|
||||
<About />
|
||||
<Events />
|
||||
@@ -29,28 +26,8 @@ const IndexPage = () => {
|
||||
<Contact />
|
||||
<Footer />
|
||||
</Layout>
|
||||
<LanguageSelector />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default IndexPage
|
||||
|
||||
export const query = graphql`
|
||||
query ($language: String!) {
|
||||
locales: allLocale(
|
||||
filter: {
|
||||
ns: { in: ["common", "index", "altText", "seo"] }
|
||||
language: { eq: $language }
|
||||
}
|
||||
) {
|
||||
edges {
|
||||
node {
|
||||
ns
|
||||
data
|
||||
language
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
Reference in new issue
Block a user