Redesign mostly done
|
@ -1,62 +0,0 @@
|
||||||
---
|
|
||||||
export interface Props {
|
|
||||||
title: string;
|
|
||||||
body: string;
|
|
||||||
href: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const { href, title, body } = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<li class="link-card">
|
|
||||||
<a href={href}>
|
|
||||||
<h2>
|
|
||||||
{title}
|
|
||||||
<span>→</span>
|
|
||||||
</h2>
|
|
||||||
<p>
|
|
||||||
{body}
|
|
||||||
</p>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<style>
|
|
||||||
.link-card {
|
|
||||||
list-style: none;
|
|
||||||
display: flex;
|
|
||||||
padding: 0.15rem;
|
|
||||||
background-color: white;
|
|
||||||
background-image: var(--accent-gradient);
|
|
||||||
background-size: 400%;
|
|
||||||
border-radius: 0.5rem;
|
|
||||||
background-position: 100%;
|
|
||||||
transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1);
|
|
||||||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.link-card > a {
|
|
||||||
width: 100%;
|
|
||||||
text-decoration: none;
|
|
||||||
line-height: 1.4;
|
|
||||||
padding: 1rem 1.3rem;
|
|
||||||
border-radius: 0.35rem;
|
|
||||||
color: #111;
|
|
||||||
background-color: white;
|
|
||||||
opacity: 0.8;
|
|
||||||
}
|
|
||||||
h2 {
|
|
||||||
margin: 0;
|
|
||||||
font-size: 1.25rem;
|
|
||||||
transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin-top: 0.5rem;
|
|
||||||
margin-bottom: 0;
|
|
||||||
color: #444;
|
|
||||||
}
|
|
||||||
.link-card:is(:hover, :focus-within) {
|
|
||||||
background-position: 0;
|
|
||||||
}
|
|
||||||
.link-card:is(:hover, :focus-within) h2 {
|
|
||||||
color: rgb(var(--accent));
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,28 +1,12 @@
|
||||||
---
|
---
|
||||||
export interface Props {
|
|
||||||
currentPage: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const {currentPage } = Astro.props;
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<a href="">
|
<a href="/" rel="noopener noreferrer" aria-label="Home">
|
||||||
<img src="link_192.png" alt="">
|
<img src="link_192.png" alt="">
|
||||||
</a>
|
</a>
|
||||||
<ul role="navigation">
|
<ul>
|
||||||
<li><a href="">
|
<slot />
|
||||||
<i class="iconoir-home-alt"></i>
|
|
||||||
Home
|
|
||||||
</a></li>
|
|
||||||
<li><a href="">
|
|
||||||
<i class="iconoir-book-stack"></i>
|
|
||||||
Servants
|
|
||||||
</a></li>
|
|
||||||
<li><a href="">
|
|
||||||
<i class="iconoir-database-script"></i>
|
|
||||||
Blog
|
|
||||||
</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
@ -61,23 +45,4 @@ const {currentPage } = Astro.props;
|
||||||
margin-block-end: 0px;
|
margin-block-end: 0px;
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
}
|
}
|
||||||
li {
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
text-align: left;
|
|
||||||
display: flex;
|
|
||||||
width: 200px;
|
|
||||||
}
|
|
||||||
li > a {
|
|
||||||
color: white;
|
|
||||||
text-decoration: none;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
font-size: 1.4em;
|
|
||||||
height: 100%;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
li > a:hover{
|
|
||||||
color: #551a8b;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
50
src/components/navbarEntry.astro
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
---
|
||||||
|
export interface Props {
|
||||||
|
currentPage?: string;
|
||||||
|
link: string;
|
||||||
|
text: string;
|
||||||
|
icon: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const {icon, text, link, currentPage } = Astro.props;
|
||||||
|
|
||||||
|
let currPage = "";
|
||||||
|
|
||||||
|
if (currentPage === link.replace(new RegExp('/', 'g'), "")) {
|
||||||
|
currPage = "current"
|
||||||
|
} else if (currentPage === "home" && link === "/") {
|
||||||
|
currPage = "current"
|
||||||
|
}
|
||||||
|
---
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a href={link} rel="noopener noreferrer" aria-label={text} class={currPage}>
|
||||||
|
<i class={icon}></i>
|
||||||
|
{text}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
li {
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-align: left;
|
||||||
|
display: flex;
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
li > a {
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 1.4em;
|
||||||
|
height: 100%;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
li > a:hover{
|
||||||
|
color: #551a8b;
|
||||||
|
}
|
||||||
|
.current {
|
||||||
|
color: #b86cffed;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,9 +1,14 @@
|
||||||
---
|
---
|
||||||
|
import Navbar from '../components/navbar.astro';
|
||||||
|
import NavbarEntry from '../components/navbarEntry.astro';
|
||||||
|
import navdata from '../../static/_navdata.json'
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
title: string;
|
title: string;
|
||||||
|
currentpage: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { title } = Astro.props;
|
const { currentpage, title } = Astro.props;
|
||||||
const description: string = "A reference for all esports Servants, CEs and already completed TAs that Firq can provide. Contact information available as well.";
|
const description: string = "A reference for all esports Servants, CEs and already completed TAs that Firq can provide. Contact information available as well.";
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -25,6 +30,9 @@ const description: string = "A reference for all esports Servants, CEs and alrea
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css">
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<Navbar>
|
||||||
|
{navdata.map((item) => (<NavbarEntry currentPage={currentpage} {...item}/>))}
|
||||||
|
</Navbar>
|
||||||
<slot />
|
<slot />
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -31,7 +31,8 @@
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
footer {
|
footer {
|
||||||
color: white
|
color: white;
|
||||||
|
bottom:0;
|
||||||
}
|
}
|
||||||
footer > div > a {
|
footer > div > a {
|
||||||
color: white
|
color: white
|
||||||
|
|
|
@ -1,19 +1,20 @@
|
||||||
---
|
---
|
||||||
import Layout from '../layouts/Layout.astro';
|
import Layout from '../layouts/Layout.astro';
|
||||||
import CustomFooter from '../layouts/customFooter.astro';
|
import BasicSection from '../layouts/basicSection.astro';
|
||||||
import Hometitle from '../layouts/hometitle.astro';
|
|
||||||
import NavbuttonsTitle from '../components/navbuttonsTitle.astro';
|
|
||||||
import ContactSection from '../layouts/contactSection.astro';
|
|
||||||
import contactdata from '../../static/_contactdata.json'
|
|
||||||
import ContactCard from '../components/contactCard.astro';
|
|
||||||
import AboutSection from '../layouts/aboutSection.astro';
|
|
||||||
|
|
||||||
|
import Navbar from '../components/navbar.astro';
|
||||||
|
import NavbarEntry from '../components/navbarEntry.astro';
|
||||||
|
import navdata from '../../static/_navdata.json'
|
||||||
|
|
||||||
|
import ContactSection from '../layouts/contactSection.astro';
|
||||||
|
import ContactCard from '../components/contactCard.astro';
|
||||||
|
import contactdata from '../../static/_contactdata.json'
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title="Firq FGO Site">
|
<Layout title="About" currentpage="about">
|
||||||
<AboutSection title="About">
|
<BasicSection title="About">
|
||||||
This is a small sideproject that I'm creating. It uses Astro for developing and Gitlab for providing the site.
|
This is a small sideproject that I'm creating. It uses Astro for developing and Gitlab for providing the site.
|
||||||
</AboutSection>
|
</BasicSection>
|
||||||
<ContactSection title="Contact me">
|
<ContactSection title="Contact me">
|
||||||
{contactdata.map((item) => (<ContactCard {...item}/>))}
|
{contactdata.map((item) => (<ContactCard {...item}/>))}
|
||||||
</ContactSection>
|
</ContactSection>
|
||||||
|
|
15
src/pages/blog.astro
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
import Layout from '../layouts/Layout.astro';
|
||||||
|
import BasicSection from '../layouts/basicSection.astro';
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="Blog" currentpage="blog">
|
||||||
|
<BasicSection title="Work in Progress">
|
||||||
|
Nothing to see here (yet)
|
||||||
|
</BasicSection>
|
||||||
|
|
||||||
|
</Layout>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
|
@ -1,14 +0,0 @@
|
||||||
---
|
|
||||||
import Layout from '../layouts/Layout.astro';
|
|
||||||
import Navbar from '../components/navbar.astro';
|
|
||||||
import Hero from '../components/hero.astro';
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout title="Expreimenting">
|
|
||||||
<Navbar currentPage="Home"/>
|
|
||||||
<Hero/>
|
|
||||||
</Layout>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
</style>
|
|
|
@ -1,15 +1,11 @@
|
||||||
---
|
---
|
||||||
import Layout from '../layouts/Layout.astro';
|
import Layout from '../layouts/Layout.astro';
|
||||||
import CustomFooter from '../layouts/customFooter.astro';
|
import Hero from '../components/hero.astro';
|
||||||
import Hometitle from '../layouts/hometitle.astro';
|
|
||||||
import NavbuttonsTitle from '../components/navbuttonsTitle.astro';
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title="Firq FGO Site">
|
<Layout title="Firq FGO Site" currentpage="home">
|
||||||
<Hometitle>
|
<Hero/>
|
||||||
<NavbuttonsTitle></NavbuttonsTitle>
|
|
||||||
</Hometitle>
|
|
||||||
</Layout>
|
</Layout>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
17
src/pages/index.astro.old
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
import Layout from '../layouts/Layout.astro';
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="Firq FGO Site">
|
||||||
|
<Navbar/>
|
||||||
|
<Title/>
|
||||||
|
<Divider/>
|
||||||
|
<HomeLayout>
|
||||||
|
<AboutMe/>
|
||||||
|
<Favourites/>
|
||||||
|
</HomeLayout>
|
||||||
|
</Layout>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
|
@ -1,32 +1,23 @@
|
||||||
---
|
---
|
||||||
import Layout from '../layouts/Layout.astro';
|
import Layout from '../layouts/Layout.astro';
|
||||||
import BaseSection from '../layouts/baseSection.astro';
|
import BaseSection from '../layouts/baseSection.astro';
|
||||||
import TaSection from '../layouts/taSection.astro';
|
|
||||||
import ContactSection from '../layouts/contactSection.astro';
|
|
||||||
import CustomFooter from '../layouts/customFooter.astro';
|
import CustomFooter from '../layouts/customFooter.astro';
|
||||||
|
|
||||||
import ServantCard from '../components/servantCard.astro';
|
import ServantCard from '../components/servantCard.astro';
|
||||||
import CeCard from '../components/ceCard.astro';
|
|
||||||
import TaCard from '../components/taCard.astro';
|
|
||||||
import ContactCard from '../components/contactCard.astro';
|
|
||||||
|
|
||||||
import servantdata from '../../static/_servantdata.json'
|
import servantdata from '../../static/_servantdata.json'
|
||||||
|
|
||||||
|
import CeCard from '../components/ceCard.astro';
|
||||||
import cedata from '../../static/_cedata.json'
|
import cedata from '../../static/_cedata.json'
|
||||||
import tadata from '../../static/_tadata.json'
|
|
||||||
import contactdata from '../../static/_contactdata.json'
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title="Firq TA on Astro">
|
<Layout title="Servants" currentpage="servants">
|
||||||
<BaseSection title="Servant Offering">
|
<BaseSection title="Servant Offering">
|
||||||
{servantdata.map((item) => (<ServantCard {...item}/>))}
|
{servantdata.map((item) => (<ServantCard {...item}/>))}
|
||||||
</BaseSection>
|
</BaseSection>
|
||||||
<BaseSection title="CE Offering">
|
<BaseSection title="CE Offering">
|
||||||
{cedata.map((item) => (<CeCard {...item}/>))}
|
{cedata.map((item) => (<CeCard {...item}/>))}
|
||||||
</BaseSection>
|
</BaseSection>
|
||||||
<TaSection title="Completed TAs">
|
|
||||||
{tadata.map((item) => (<TaCard {...item}/>))}
|
|
||||||
</TaSection>
|
|
||||||
<CustomFooter />
|
<CustomFooter />
|
||||||
</Layout>
|
</Layout>
|
||||||
|
|
||||||
|
|
19
src/pages/ta-collection.astro
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
import Layout from '../layouts/Layout.astro';
|
||||||
|
import CustomFooter from '../layouts/customFooter.astro';
|
||||||
|
|
||||||
|
import TaSection from '../layouts/taSection.astro';
|
||||||
|
import TaCard from '../components/taCard.astro';
|
||||||
|
import tadata from '../../static/_tadata.json'
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="TA Collection" currentpage="ta-collection">
|
||||||
|
<TaSection title="Completed TAs">
|
||||||
|
{tadata.map((item) => (<TaCard {...item}/>))}
|
||||||
|
</TaSection>
|
||||||
|
<CustomFooter />
|
||||||
|
</Layout>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
27
static/_navdata.json
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"link": "/",
|
||||||
|
"text": "Home",
|
||||||
|
"icon": "iconoir-home-alt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "/servants",
|
||||||
|
"text": "Servants",
|
||||||
|
"icon": "iconoir-database-script"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "/ta-collection",
|
||||||
|
"text": "TA Collection",
|
||||||
|
"icon": "iconoir-db"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "/blog",
|
||||||
|
"text": "Blog",
|
||||||
|
"icon": "iconoir-bookmark-book"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "/about",
|
||||||
|
"text": "About",
|
||||||
|
"icon": "iconoir-mail"
|
||||||
|
}
|
||||||
|
]
|
|
@ -28,5 +28,50 @@
|
||||||
"title": "MHXX 2T (No DMG CE)",
|
"title": "MHXX 2T (No DMG CE)",
|
||||||
"link": "https://www.youtube.com/watch?v=lz6iBZvoDuw",
|
"link": "https://www.youtube.com/watch?v=lz6iBZvoDuw",
|
||||||
"image": "mhxx"
|
"image": "mhxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Taira 3T (Lostbelt 5.5)",
|
||||||
|
"link": "https://www.youtube.com/watch?v=YtRvahqFA0Y",
|
||||||
|
"image": "taira"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Douman 3T (Lostbelt 5.5)",
|
||||||
|
"link": "https://www.youtube.com/watch?v=6cstr3vTd8Y",
|
||||||
|
"image": "douman"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Christmas 2021 Rerun CQ 5T",
|
||||||
|
"link": "https://www.youtube.com/watch?v=cpqhx9dUgTU",
|
||||||
|
"image": "santagale"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Summer 4 Rerun CQ 3T",
|
||||||
|
"link": "https://www.youtube.com/watch?v=u72o7PDBtks",
|
||||||
|
"image": "fuuma"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Fate/Requiem CQ 3T",
|
||||||
|
"link": "https://www.youtube.com/watch?v=k7vGC4kpEFg",
|
||||||
|
"image": "erice"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Kirschtaria 3T (Lostbelt 5)",
|
||||||
|
"link": "https://www.youtube.com/watch?v=k7vGC4kpEFg",
|
||||||
|
"image": "kirschtaria"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Aeaean Spring Breeze CQ 3T",
|
||||||
|
"link": "https://www.youtube.com/watch?v=uo3jI9xuVwI",
|
||||||
|
"image": "odysseus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Valentines 2022 CQ 4T",
|
||||||
|
"link": "https://www.youtube.com/watch?v=MOCMXZ17FkU",
|
||||||
|
"image": "sei"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Amazoness 2021 CQ 3T",
|
||||||
|
"link": "https://www.youtube.com/watch?v=MU_Hw2KKYRU",
|
||||||
|
"image": "penth"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
BIN
static/ta_icons/douman.webp
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
static/ta_icons/erice.webp
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
static/ta_icons/fuuma.webp
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
static/ta_icons/kirschtaria.webp
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
static/ta_icons/odysseus.webp
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
static/ta_icons/penth.webp
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
static/ta_icons/santagale.webp
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
static/ta_icons/sei.webp
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
static/ta_icons/taira.webp
Normal file
After Width: | Height: | Size: 3.7 KiB |