Mostly rewritten here, lets see about deployment tomorrow
This commit is contained in:
parent
7c4aefe5fc
commit
d35236c073
11 changed files with 287 additions and 2 deletions
37
src/components/contactCard.astro
Normal file
37
src/components/contactCard.astro
Normal file
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
export interface Props {
|
||||
site: string;
|
||||
link: string;
|
||||
}
|
||||
|
||||
const { link, site } = Astro.props;
|
||||
---
|
||||
|
||||
<a href={link} target="_blank" rel="noopener noreferrer">
|
||||
<article class="contact do-hover">
|
||||
<h2>{site}</h2>
|
||||
</article>
|
||||
</a>
|
||||
|
||||
<style>
|
||||
article>h2 {
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
line-height: normal;
|
||||
}
|
||||
article {
|
||||
background-color: rgb(27, 27, 27);
|
||||
border-color: #1e1e1e;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
transition: transform var(--speed) var(--ease);
|
||||
height: 128px;
|
||||
width: 128px;
|
||||
line-height: 128px;
|
||||
}
|
||||
a:hover {
|
||||
transform: scale(var(--hover-scale));
|
||||
}
|
||||
</style>
|
56
src/components/taCard.astro
Normal file
56
src/components/taCard.astro
Normal file
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
export interface Props {
|
||||
title: string;
|
||||
link: string;
|
||||
image: string;
|
||||
}
|
||||
|
||||
const { image, link, title } = Astro.props;
|
||||
|
||||
const icon: string = `background: url('ta_icons/${image}.png')`
|
||||
---
|
||||
<a href={link} target="_blank" rel="noopener noreferrer">
|
||||
<article>
|
||||
<div style={icon}>
|
||||
<h2>{title}</h2>
|
||||
</div>
|
||||
</article>
|
||||
</a>
|
||||
|
||||
<style>
|
||||
article {
|
||||
background-color: rgb(27, 27, 27);
|
||||
border-color: #1e1e1e;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
transition: transform var(--speed) var(--ease);
|
||||
height: auto;
|
||||
width: auto;
|
||||
line-height: 128px;
|
||||
}
|
||||
article:hover {
|
||||
transform: scale(var(--hover-scale));
|
||||
}
|
||||
article > div {
|
||||
width: 128px;
|
||||
height: 128px;
|
||||
object-fit: cover;
|
||||
object-position: 0% 0%;
|
||||
}
|
||||
|
||||
article:hover h2 {
|
||||
color: white;
|
||||
background-color: #1e1e1e;
|
||||
font-size: 18px;
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
line-height: normal;
|
||||
width: 90%;
|
||||
border-radius: 5px;
|
||||
opacity: 90%;
|
||||
}
|
||||
|
||||
article h2 {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
|
@ -4,6 +4,7 @@ export interface Props {
|
|||
}
|
||||
|
||||
const { 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.";
|
||||
---
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
@ -13,6 +14,13 @@ const { title } = Astro.props;
|
|||
<meta name="viewport" content="width=device-width" />
|
||||
<link rel="icon" type="image/ico" href="/favicon.ico" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<meta property="og:title" content="Firq TA Reference" />
|
||||
<meta property="og:url" content="https://firq.gitpages.neshura-server.net/firq-ta-reference/" />
|
||||
<meta name="description" content={description}/>
|
||||
<meta property="og:description" content={description}/>
|
||||
<meta property="og:image" content="https://firq.gitpages.neshura-server.net/firq-ta-reference/assets/link_192.png" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:locale" content="en_US" />
|
||||
<title>{title}</title>
|
||||
</head>
|
||||
<body>
|
||||
|
|
37
src/layouts/contactSection.astro
Normal file
37
src/layouts/contactSection.astro
Normal file
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
export interface Props {
|
||||
title: string;
|
||||
}
|
||||
|
||||
const { title } = Astro.props;
|
||||
---
|
||||
<section>
|
||||
<h1>{title}</h1>
|
||||
<div>
|
||||
<slot />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<style>
|
||||
h1 {
|
||||
color: white;
|
||||
margin: 0.5rem 0px;
|
||||
padding: 0.25rem 0.75rem;
|
||||
width: max-content;
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
div {
|
||||
row-gap: 1em;
|
||||
column-gap: 1em;
|
||||
justify-content: center;
|
||||
align-self: center;
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
padding: 1em;
|
||||
}
|
||||
@media (min-width: 512px) {
|
||||
div {
|
||||
justify-content: left;
|
||||
}
|
||||
}
|
||||
</style>
|
56
src/layouts/customFooter.astro
Normal file
56
src/layouts/customFooter.astro
Normal file
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
|
||||
---
|
||||
|
||||
<footer>
|
||||
<div>Disclaimer:
|
||||
“Fate/Grand Order” is a trademark of Notes Co., Ltd. | Game Assets © Aniplex Inc. used under fair
|
||||
use. | View <a class="linker" href="https://fate-go.us" target="_blank" rel="noopener noreferrer">the
|
||||
official website</a> for
|
||||
more
|
||||
information
|
||||
</div>
|
||||
<div>
|
||||
Thanks to <a href=" https://atlasacademy.io/" target="_blank" rel="noopener noreferrer">Atlas Academy</a> for
|
||||
providing the images.
|
||||
</div>
|
||||
<div>
|
||||
Thanks to <a href="https://mitsunee.com" target="_blank" rel="noopener noreferrer">Mitsunee</a> for the support when building this site.
|
||||
Check out <a href="https://fgo.mitsunee.com" target="_blank" rel="noopener noreferrer">FGO Timers here</a>
|
||||
<div class="sticky-image-wrapper">
|
||||
<img src="lurker.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
Thanks to <a href="https://twitter.com/its_Anthony_J" target="_blank" rel="noopener noreferrer">AnthonyJ</a> for providing me with the custom Shishou favicon.
|
||||
<div class="sticky-image-wrapper">
|
||||
<img src="padoru.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<style>
|
||||
footer {
|
||||
color: white
|
||||
}
|
||||
footer > div > a {
|
||||
color: white
|
||||
}
|
||||
.sticky-image-wrapper {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
right: 50%;
|
||||
}
|
||||
:hover>.sticky-image-wrapper>img {
|
||||
transform: translate(-50%, -100px);
|
||||
}
|
||||
.sticky-image-wrapper>img {
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: -100px;
|
||||
height: 64px;
|
||||
width: 64px;
|
||||
transition: transform 1s ease-in-out;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
</style>
|
41
src/layouts/taSection.astro
Normal file
41
src/layouts/taSection.astro
Normal file
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
export interface Props {
|
||||
title: string;
|
||||
}
|
||||
|
||||
const { title } = Astro.props;
|
||||
---
|
||||
<div>
|
||||
<h1>{title}</h1>
|
||||
<h2>The full list of my completed TAs can be found on my Youtube channel. This is only a small selection of the most notable TAs</h2>
|
||||
<div class="container ta-container">
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
div > div {
|
||||
row-gap: 1.5em;
|
||||
column-gap: 1.5em;
|
||||
justify-content: center;
|
||||
align-self: center;
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
padding: 1em;
|
||||
}
|
||||
h1 {
|
||||
color: white;
|
||||
margin: 0.5rem 0px;
|
||||
padding: 0.25rem 0.75rem;
|
||||
width: max-content;
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
h2 {
|
||||
color: white;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
margin: 5;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
|
@ -1,11 +1,20 @@
|
|||
---
|
||||
import Layout from '../layouts/Layout.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 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 cedata from '../../static/_cedata.json'
|
||||
import tadata from '../../static/_tadata.json'
|
||||
import contactdata from '../../static/_contactdata.json'
|
||||
|
||||
import servantdata from '../../static/servantdata.json'
|
||||
import cedata from '../../static/cedata.json'
|
||||
---
|
||||
|
||||
<Layout title="Firq TA on Astro">
|
||||
|
@ -15,6 +24,13 @@ import cedata from '../../static/cedata.json'
|
|||
<BaseSection title="CE Offering">
|
||||
{cedata.map((item) => (<CeCard {...item}/>))}
|
||||
</BaseSection>
|
||||
<TaSection title="Completed TAs">
|
||||
{tadata.map((item) => (<TaCard {...item}/>))}
|
||||
</TaSection>
|
||||
<ContactSection title="Contact me">
|
||||
{contactdata.map((item) => (<ContactCard {...item}/>))}
|
||||
</ContactSection>
|
||||
<CustomFooter />
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
|
|
22
static/_contactdata.json
Normal file
22
static/_contactdata.json
Normal file
|
@ -0,0 +1,22 @@
|
|||
[
|
||||
{
|
||||
"site": "Youtube: @Firq_",
|
||||
"link": "https://www.youtube.com/@Firq_"
|
||||
},
|
||||
{
|
||||
"site": "Discord: Firq#4242",
|
||||
"link": "https://discord.gg"
|
||||
},
|
||||
{
|
||||
"site": "Twitter: Firq_ow",
|
||||
"link": "https://twitter.com/firq_ow"
|
||||
},
|
||||
{
|
||||
"site": "Reddit: u/Firq_ow",
|
||||
"link": "https://www.reddit.com/user/firq_ow"
|
||||
},
|
||||
{
|
||||
"site": "Support Setup on Rayshift",
|
||||
"link": "https://rayshift.io/na/firq"
|
||||
}
|
||||
]
|
12
static/_tadata.json
Normal file
12
static/_tadata.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
[
|
||||
{
|
||||
"title": "DB 7T (No Duplicates)",
|
||||
"link": "https://www.youtube.com/watch?v=d1ftVeitR6c",
|
||||
"image": "db"
|
||||
},
|
||||
{
|
||||
"title": "Kingprotea 1T",
|
||||
"link": "https://www.youtube.com/watch?v=m3SATSOfpt4",
|
||||
"image": "kingprotea"
|
||||
}
|
||||
]
|
Loading…
Reference in a new issue