diff --git a/components/mainmenu.module.css b/components/mainmenu.module.css
deleted file mode 100644
index 85d3b03..0000000
--- a/components/mainmenu.module.css
+++ /dev/null
@@ -1,73 +0,0 @@
-.menu {
- border: 1px solid black;
- height: 100%;
- width: 100%;
- display: grid;
- justify-items: center;
- padding: 2rem;
- overflow-y: auto;
- max-height: 100vh;
- scrollbar-width: none;
- grid-row-gap: 0.5em;
-}
-
-.menuLogo {
- display: grid;
- place-items: center;
- cursor: pointer;
-}
-
-.menuLogo > h2 {
- margin-top: 0;
-}
-
-.menuLogo > img {
- width: 50%;
- height: auto;
- place-self: start center;
-}
-
-.menu > hr {
- height: 0;
- width: 100%;
- border: none;
- border-top: 0.3rem dotted black;
- margin: 2rem;
-}
-
-.menuOption {
- justify-self: start;
- display: grid;
- grid-template-areas: 'img title' '. subtitle';
- grid-template-columns: auto 1fr;
- align-items: center;
- grid-column-gap: 1em;
- cursor: pointer;
- padding: 0.4em 1em;
- width: 100%;
-}
-
-.menuOption:hover {
- background-color: var(--color-main-base);
- border-radius: 1em;
-}
-
-.menuOption > * {
- margin: 0;
-}
-
-.menuOption > img {
- width: 1.2em;
- height: auto;
- grid-area: img;
-}
-
-.menuOption > h3 {
- grid-area: title;
- font-size: 150%;
- font-weight: 600;
-}
-
-.menuOption > p {
- grid-area: subtitle;
-}
\ No newline at end of file
diff --git a/components/mainmenu.tsx b/components/mainmenu.tsx
index 08ff103..7eac8c5 100644
--- a/components/mainmenu.tsx
+++ b/components/mainmenu.tsx
@@ -1,75 +1,67 @@
import Link from 'next/link'
-import styles from './mainmenu.module.css'
+import styles from '../styles/mainmenu.module.css'
+import { useRouter } from 'next/router'
export default function MainMenu() {
+
+ const router = useRouter();
+
+ function generateMenuOption(url: string, icon: string, title: string, subtitle?: string) {
+ const classActive = router.asPath === url ? styles.active : null;
+ return (
+
+
-
+
Accord's Library
Change language
-
+
-
-
-
-
Library
-
Browse all physical and digital media
+ {generateMenuOption("/library", "/icons/book-solid.svg", "Library", "Browse all physical and digital media")}
+ {generateMenuOption("/hubs", "/icons/hubs.svg", "Hubs", "Explore all content of a specific game/series")}
+ {generateMenuOption("/chronology", "/icons/timeline-solid.svg", "Chronology", "Follow all events in chronological order")}
+
+
+
+ {generateMenuOption("/archive", "/icons/box-archive-solid.svg", "Archive")}
+ {generateMenuOption("/news", "/icons/newspaper-solid.svg", "News")}
+ {generateMenuOption("/gallery", "/icons/images-solid.svg", "Gallery")}
+ {generateMenuOption("/about-us", "/icons/circle-info-solid.svg", "About us")}
+
+
+
+
+
This website’s content is made available under CC-BY-SA unless otherwise noted.
+
+
+
+
Accord’s Library is not affiliated with or endorsed by SQUARE ENIX CO. LTD. All game assets and promotional materials belongs to © SQUARE ENIX CO. LTD.
+
+
+
-
-
-
-
-
-
Hubs
-
Explore all content of a specific game/series
-
-
-
-
-
-
-
Chronology
-
Follow all events in chronological order
-
-
-
-
-
-
-
-
-
Archive
-
-
-
-
-
-
-
News
-
-
-
-
-
-
-
Gallery
-
-
-
-
-
-
-
About us
-
-
-
+
)
}
\ No newline at end of file
diff --git a/components/menu.tsx b/components/menu.tsx
new file mode 100644
index 0000000..974b32b
--- /dev/null
+++ b/components/menu.tsx
@@ -0,0 +1,16 @@
+import MainMenu from './mainmenu'
+import SubMenu from './submenu'
+import styles from '../styles/menu.module.css'
+
+export default function Menu() {
+ return (
+
+
+
+
+ )
+}
+
+
+
+
diff --git a/components/submenu.tsx b/components/submenu.tsx
new file mode 100644
index 0000000..191eae0
--- /dev/null
+++ b/components/submenu.tsx
@@ -0,0 +1,10 @@
+import Link from 'next/link'
+import styles from '../styles/submenu.module.css'
+
+export default function MainMenu() {
+ return (
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/pages/chronology/index.tsx b/pages/chronology/index.tsx
new file mode 100644
index 0000000..6c6bce6
--- /dev/null
+++ b/pages/chronology/index.tsx
@@ -0,0 +1,20 @@
+import type { NextPage } from 'next'
+import Head from 'next/head'
+import Menu from '../../components/menu'
+
+const Chronology: NextPage = () => {
+ return (
+ <>
+
+
Library
+
+
+
+
+
+
+ >
+ )
+}
+
+export default Chronology
diff --git a/pages/index.tsx b/pages/index.tsx
index 440b2a9..14867e3 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -1,26 +1,19 @@
import type { NextPage } from 'next'
import Head from 'next/head'
-import styles from '../styles/Home.module.css'
-import MainMenu from '../components/mainmenu'
+import Menu from '../components/menu'
const Home: NextPage = () => {
return (
-
+ <>
-
Create Next App
+
Accord’s Library - Discover • Analyse • Translate • Archive
-
-
-
-
-
-
-
-
-
+
+
+ >
)
}
diff --git a/pages/library.tsx b/pages/library.tsx
index 471eede..4fd938d 100644
--- a/pages/library.tsx
+++ b/pages/library.tsx
@@ -1,26 +1,19 @@
import type { NextPage } from 'next'
import Head from 'next/head'
-import styles from '../styles/Home.module.css'
-import MainMenu from '../components/mainmenu'
+import Menu from '../components/menu'
const Home: NextPage = () => {
return (
-
+ <>
Library
-
+
-
-
-
-
-
-
-
+ >
)
}
diff --git a/public/icons/accords.svg b/public/icons/accords.svg
new file mode 100644
index 0000000..f0cea5f
--- /dev/null
+++ b/public/icons/accords.svg
@@ -0,0 +1,138 @@
+
+
+
+
+
+Created by potrace 1.16, written by Peter Selinger 2001-2019
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/archive.png b/public/icons/archive.png
deleted file mode 100644
index de4c0a2..0000000
Binary files a/public/icons/archive.png and /dev/null differ
diff --git a/public/icons/books.png b/public/icons/books.png
deleted file mode 100644
index 6405e4c..0000000
Binary files a/public/icons/books.png and /dev/null differ
diff --git a/public/icons/box-archive-solid.svg b/public/icons/box-archive-solid.svg
new file mode 100644
index 0000000..0c0ad85
--- /dev/null
+++ b/public/icons/box-archive-solid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/chronology.png b/public/icons/chronology.png
deleted file mode 100644
index a7c8838..0000000
Binary files a/public/icons/chronology.png and /dev/null differ
diff --git a/public/icons/circle-info-solid.svg b/public/icons/circle-info-solid.svg
new file mode 100644
index 0000000..544ac66
--- /dev/null
+++ b/public/icons/circle-info-solid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/comment.png b/public/icons/comment.png
deleted file mode 100644
index e69de29..0000000
diff --git a/public/icons/creative-commons-brands.svg b/public/icons/creative-commons-brands.svg
new file mode 100644
index 0000000..0ab1e8e
--- /dev/null
+++ b/public/icons/creative-commons-brands.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/creative-commons-by-brands.svg b/public/icons/creative-commons-by-brands.svg
new file mode 100644
index 0000000..6995901
--- /dev/null
+++ b/public/icons/creative-commons-by-brands.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/creative-commons-sa-brands.svg b/public/icons/creative-commons-sa-brands.svg
new file mode 100644
index 0000000..229c271
--- /dev/null
+++ b/public/icons/creative-commons-sa-brands.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/discord-brands.svg b/public/icons/discord-brands.svg
new file mode 100644
index 0000000..c5ec927
--- /dev/null
+++ b/public/icons/discord-brands.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/gallery.png b/public/icons/gallery.png
deleted file mode 100644
index 5163819..0000000
Binary files a/public/icons/gallery.png and /dev/null differ
diff --git a/public/icons/github-brands.svg b/public/icons/github-brands.svg
new file mode 100644
index 0000000..4e057ba
--- /dev/null
+++ b/public/icons/github-brands.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/hubs.svg b/public/icons/hubs.svg
new file mode 100644
index 0000000..bc6fcf8
--- /dev/null
+++ b/public/icons/hubs.svg
@@ -0,0 +1,32 @@
+
+
+
+
+
diff --git a/public/icons/images-solid.svg b/public/icons/images-solid.svg
new file mode 100644
index 0000000..a23cdc6
--- /dev/null
+++ b/public/icons/images-solid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/info.png b/public/icons/info.png
deleted file mode 100644
index 83a940e..0000000
Binary files a/public/icons/info.png and /dev/null differ
diff --git a/public/icons/news.png b/public/icons/news.png
deleted file mode 100644
index b70d9d1..0000000
Binary files a/public/icons/news.png and /dev/null differ
diff --git a/public/icons/newspaper-solid.svg b/public/icons/newspaper-solid.svg
new file mode 100644
index 0000000..89ab7ad
--- /dev/null
+++ b/public/icons/newspaper-solid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/timeline-solid.svg b/public/icons/timeline-solid.svg
new file mode 100644
index 0000000..6177ac2
--- /dev/null
+++ b/public/icons/timeline-solid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/timeline.png b/public/icons/timeline.png
deleted file mode 100644
index e69de29..0000000
diff --git a/public/icons/toggle-off.png b/public/icons/toggle-off.png
deleted file mode 100644
index e69de29..0000000
diff --git a/public/icons/toggle-on.png b/public/icons/toggle-on.png
deleted file mode 100644
index a5152fd..0000000
Binary files a/public/icons/toggle-on.png and /dev/null differ
diff --git a/public/icons/translation.png b/public/icons/translation.png
deleted file mode 100644
index b70d9d1..0000000
Binary files a/public/icons/translation.png and /dev/null differ
diff --git a/styles/globals.css b/styles/globals.css
index c007c98..6c2d558 100644
--- a/styles/globals.css
+++ b/styles/globals.css
@@ -1,35 +1,57 @@
+@import url('https://fonts.googleapis.com/css2?family=Vollkorn:wght@400;500;600;700;800;900&display=swap');
+
+@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
+
+
:root {
--color-main-light: #ffedd8;
--color-main-base: #e6ccb2;
--color-main-dark: #9c6644;
--color-main-black: #1B1811;
+ --filter-color-main-dark: invert(44%) sepia(29%) saturate(806%) hue-rotate(340deg) brightness(91%) contrast(85%);
}
html,
body {
padding: 0;
margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
- Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
background-color: var(--color-main-light);
+ color: var(--color-main-black);
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family: "Vollkorn";
+ font-weight: 700;
}
a {
color: inherit;
- text-decoration: none;
+ text-decoration: underline dotted var(--color-main-dark);
+ transition: .1s color;
+ text-underline-offset: 0.15em;
+}
+
+a:hover {
+ color: var(--color-main-dark);
}
* {
box-sizing: border-box;
+ font-family: "Zen Maru Gothic";
+ font-weight: 500;
}
button {
+ display: grid;
+ place-content: center;
+ place-items: center;
border: .1rem solid var(--color-main-dark);
color: var(--color-main-dark);
background: var(--color-main-light);
border-radius: 100vmax;
padding: 0.4em 1em;
cursor: pointer;
+ transition: .1s color, .1s background-color;
}
button:hover {
diff --git a/styles/mainmenu.module.css b/styles/mainmenu.module.css
new file mode 100644
index 0000000..10650db
--- /dev/null
+++ b/styles/mainmenu.module.css
@@ -0,0 +1,122 @@
+.menu {
+ border-right: 1px solid black;
+ height: 100%;
+ width: 100%;
+ display: grid;
+ justify-items: center;
+ padding: 2rem;
+ overflow-y: auto;
+ max-height: 100vh;
+ grid-row-gap: 0.5em;
+ place-content: start;
+ scrollbar-width: none;
+}
+
+.menu::-webkit-scrollbar {
+ display: none;
+}
+
+.menu > hr {
+ height: 0;
+ width: 100%;
+ border: none;
+ border-top: 0.3rem dotted black;
+ margin: 2rem;
+}
+
+.menuLogo {
+ display: grid;
+ place-items: center;
+ cursor: pointer;
+}
+
+.menuLogo > h2 {
+ margin-top: 1rem;
+}
+
+.menuLogo > img {
+ width: 50%;
+ height: auto;
+ place-self: start center;
+}
+
+.menuOption {
+ justify-self: start;
+ display: grid;
+ grid-template-areas: 'img title' '. subtitle';
+ grid-template-columns: auto 1fr;
+ align-items: center;
+ border-radius: 1em;
+ grid-column-gap: 1em;
+ cursor: pointer;
+ padding: 0.6em 1.2em;
+ width: 100%;
+ transition: .1s background-color;
+}
+
+.menuOption:hover, .menuOption.active {
+ background-color: var(--color-main-base);
+}
+
+.menuOption > * {
+ margin: 0;
+}
+
+.menuOption > img {
+ width: 1.2em;
+ height: auto;
+ grid-area: img;
+}
+
+.menuOption > h3 {
+ grid-area: title;
+ font-size: 150%;
+}
+
+.menuOption > p {
+ grid-area: subtitle;
+}
+
+.menuFooter {
+ text-align: center;
+}
+
+.menuFooterCC {
+ margin-top: 1rem;
+ margin-bottom: 2rem;
+ display: grid;
+ height: 1rem;
+ grid-auto-flow: column;
+ place-content: center;
+ grid-gap: .2rem;
+}
+
+.menuFooterCC img {
+ height: 1.5rem;
+ width: auto;
+}
+
+.menuFooterCC:hover img {
+ filter: var(--filter-color-main-dark);
+}
+
+
+.menuFooterSocials {
+ margin-top: 3rem;
+ margin-bottom: 1rem;
+ display: grid;
+ height: 1rem;
+ grid-auto-flow: column;
+ place-content: center;
+ grid-gap: 2rem;
+}
+
+.menuFooterSocials img {
+ height: 2rem;
+ width: auto;
+ transition: .1s filter;
+}
+
+.menuFooterSocials img:hover {
+ filter: var(--filter-color-main-dark);
+}
\ No newline at end of file
diff --git a/styles/Home.module.css b/styles/menu.module.css
similarity index 56%
rename from styles/Home.module.css
rename to styles/menu.module.css
index e6722bb..6d8b7a6 100644
--- a/styles/Home.module.css
+++ b/styles/menu.module.css
@@ -1,6 +1,6 @@
.container {
display: grid;
- grid-template-columns: 20rem 1fr 5fr;
+ grid-template-columns: 20rem 20rem 1fr;
min-height: 100vh;
}
diff --git a/styles/submenu.module.css b/styles/submenu.module.css
new file mode 100644
index 0000000..a7e2c20
--- /dev/null
+++ b/styles/submenu.module.css
@@ -0,0 +1,13 @@
+.menu {
+ border-right: 1px solid black;
+ height: 100%;
+ width: 100%;
+ display: grid;
+ justify-items: center;
+ padding: 2rem;
+ overflow-y: auto;
+ max-height: 100vh;
+ grid-row-gap: 0.5em;
+ place-content: start;
+ scrollbar-width: none;
+ }
\ No newline at end of file