Merge pull request 'Mergin dev - new header, updated servants' (#29) from dev into main
All checks were successful
/ checking (push) Successful in 14s
/ build-site (push) Successful in 1m41s
/ release (push) Successful in 7s

Reviewed-on: #29
This commit is contained in:
Firq 2024-06-15 17:20:51 +00:00
commit f5bb4bf78e
16 changed files with 1672 additions and 884 deletions

View file

@ -22,10 +22,6 @@ jobs:
steps: steps:
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
with:
config-inline: |
[registry."docker.io"]
mirrors = ["https://docker-cache.neshweb.net"]
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
@ -44,13 +40,14 @@ jobs:
runs-on: docker runs-on: docker
steps: steps:
- name: Release New Version - name: Release New Version
uses: actions/forgejo-release@v1 uses: https://code.forgejo.org/actions/forgejo-release@v1
with: with:
direction: upload direction: upload
url: https://forgejo.neshweb.net url: https://forgejo.neshweb.net
release-dir: release release-dir: release
token: ${{ secrets.FORGEJO_TOKEN }} token: ${{ secrets.FORGEJO_TOKEN }}
tag: ${{ github.ref_name }} tag: ${{ github.ref_name }}
prerelease: true
# doesn't work atm # doesn't work atm
# unlighthouse: # unlighthouse:

View file

@ -22,10 +22,6 @@ jobs:
steps: steps:
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
with:
config-inline: |
[registry."docker.io"]
mirrors = ["https://docker-cache.neshweb.net"]
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
@ -44,7 +40,7 @@ jobs:
runs-on: docker runs-on: docker
steps: steps:
- name: Release New Version - name: Release New Version
uses: actions/forgejo-release@v1 uses: https://code.forgejo.org/actions/forgejo-release@v1
with: with:
direction: upload direction: upload
url: https://forgejo.neshweb.net url: https://forgejo.neshweb.net

View file

@ -23,6 +23,7 @@ jobs:
deploy-unlighthouse-files: deploy-unlighthouse-files:
needs: [ unlighthouse ] needs: [ unlighthouse ]
if: success()
runs-on: docker runs-on: docker
env: env:
DEPLOY_USER: ${{ secrets.DEPLOY_USER }} DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
@ -67,6 +68,7 @@ jobs:
deploy-unlighthouse-site: deploy-unlighthouse-site:
needs: [ deploy-unlighthouse-files ] needs: [ deploy-unlighthouse-files ]
if: success()
runs-on: docker runs-on: docker
env: env:
DEPLOY_USER: ${{ secrets.DEPLOY_USER }} DEPLOY_USER: ${{ secrets.DEPLOY_USER }}

2371
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
{ {
"name": "@firq/fgosite", "name": "@firq/fgosite",
"type": "module", "type": "module",
"version": "0.1.24", "version": "0.1.27",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
@ -15,7 +15,7 @@
"@astrojs/check": "^0.3.3", "@astrojs/check": "^0.3.3",
"@astrojs/mdx": "^2.0.3", "@astrojs/mdx": "^2.0.3",
"@astrojs/sitemap": "^3.0.3", "@astrojs/sitemap": "^3.0.3",
"astro": "^4.0.7", "astro": "^4.2.1",
"autoprefixer": "^10.4.16", "autoprefixer": "^10.4.16",
"iconoir": "^7.2.0", "iconoir": "^7.2.0",
"postcss-preset-env": "^9.3.0", "postcss-preset-env": "^9.3.0",

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View file

@ -1,5 +1,5 @@
--- ---
import { Image } from 'astro:assets'; import { Image } from 'astro:assets'
import type { GlobImage } from '../types/generic' import type { GlobImage } from '../types/generic'
import { plsLoadImage } from '../utils/tools' import { plsLoadImage } from '../utils/tools'
@ -12,11 +12,18 @@ export interface Props {
const { link, imageFile, origin, name } = Astro.props const { link, imageFile, origin, name } = Astro.props
const imagePath = `/src/assets/favourites/${imageFile}` const imagePath = `/src/assets/favourites/${imageFile}`
const images = import.meta.glob<GlobImage>('/src/assets/favourites/*.{png,webp}') const images = import.meta.glob<GlobImage>(
'/src/assets/favourites/*.{png,webp}'
)
const loadedImage = plsLoadImage(images, imagePath) const loadedImage = plsLoadImage(images, imagePath)
--- ---
<a href={link} target="_blank" rel="noopener noreferrer" aria-label=`${name} - new window`> <a
href={link}
target="_blank"
rel="noopener noreferrer"
aria-label=`${name} - new window`
>
<div class="heading">{name}</div> <div class="heading">{name}</div>
<Image src={loadedImage} alt={name} /> <Image src={loadedImage} alt={name} />
<h2 class="subtext"> <h2 class="subtext">
@ -38,10 +45,6 @@ const loadedImage = plsLoadImage(images, imagePath)
align-items: center; align-items: center;
} }
a:hover {
transform: scale(var(--hover-scale));
}
a { a {
border-radius: 1rem; border-radius: 1rem;
display: flex; display: flex;
@ -57,25 +60,27 @@ const loadedImage = plsLoadImage(images, imagePath)
text-align: center; text-align: center;
transition: transform var(--speed) var(--ease); transition: transform var(--speed) var(--ease);
text-decoration: none; text-decoration: none;
&:hover {
transform: scale(var(--hover-scale));
} }
a > img { img {
padding: 0px 0.25em; padding: 0px 0.25em;
width: 90%; width: 90%;
height: auto; height: auto;
} }
}
@media (min-width: 512px) { @media (min-width: 512px) {
a { a {
padding: 10px 10px; padding: 10px 10px;
width: auto; width: auto;
height: auto; height: auto;
} img {
a > img {
padding: 0px 1.5em; padding: 0px 1.5em;
width: 200px; width: 200px;
height: auto; }
} }
} }

View file

@ -0,0 +1,27 @@
---
---
<div>
<span>
I am currently working on a site to catalogue past and future TAs.<br/>
Check it out at <a href="https://fgo-ta.com">fgo-ta.com</a>
</span>
</div>
<style>
div {
display: flex;
width: 100%;
height: 5em;
background-color: var(--c-gray);
text-align: center;
align-items: center;
justify-content: center;
color: white;
font-size: 1.5em;
}
a {
color: var(--c-darkpurple);
text-decoration: none;
}
</style>

View file

@ -17,7 +17,7 @@ const description = "Error. This shouldn't happen :/"
<Image src={sadshishou} alt="Sad Shishou" /> <Image src={sadshishou} alt="Sad Shishou" />
<h2>Well ... you were not supposed to end up here.</h2> <h2>Well ... you were not supposed to end up here.</h2>
<a href="/" aria-label="Home" rel="noopener noreferrer"> <a href="/" aria-label="Home" rel="noopener noreferrer">
<i class="iconoir-fast-arrow-left"></i>Go back home &lt;&lt; Go back home
</a> </a>
</div> </div>
</BaseSection> </BaseSection>
@ -50,11 +50,11 @@ const description = "Error. This shouldn't happen :/"
text-decoration: none; text-decoration: none;
font-size: 1.5rem; font-size: 1.5rem;
font-weight: bold; font-weight: bold;
}
a:hover { &:hover {
color: var(--c-darkpurple); color: var(--c-darkpurple);
} }
}
img { img {
width: 256px; width: 256px;

View file

@ -11,6 +11,7 @@ import TaSection from '../layouts/taSection.astro'
import TaCard from '../components/taCard.astro' import TaCard from '../components/taCard.astro'
import tadata from '../../static/data/_tadata.json' import tadata from '../../static/data/_tadata.json'
import featured_data from '../../static/data/_featureddata.json' import featured_data from '../../static/data/_featureddata.json'
import FgotaHero from '../components/fgotaHero.astro'
const important_data = tadata.filter(function (el) { const important_data = tadata.filter(function (el) {
return [ return [
@ -36,6 +37,7 @@ const description = 'A collection of TAs previously completed be Firq.'
currentpage="ta-collection" currentpage="ta-collection"
descriptionOverride={description} descriptionOverride={description}
> >
<FgotaHero />
<TaSection title="Notable TAs" abovetext="My most notable TAs"> <TaSection title="Notable TAs" abovetext="My most notable TAs">
{important_data.map((item) => <TaCard {...item} />)} {important_data.map((item) => <TaCard {...item} />)}
</TaSection> </TaSection>

View file

@ -1,9 +1,19 @@
[ [
{
"name": "Scathach",
"level": "120",
"np": "5",
"skills": "10 / 10 / 10",
"ml": "10",
"servantImageFile": "scathach_03.png",
"bondceImageFile": "scathach.png",
"bond10": true
},
{ {
"name": "Skadi", "name": "Skadi",
"level": "120", "level": "120",
"np": "5", "np": "5",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "10", "ml": "10",
"servantImageFile": "skadi_03.png", "servantImageFile": "skadi_03.png",
"bondceImageFile": "skadi.png", "bondceImageFile": "skadi.png",
@ -13,7 +23,7 @@
"name": "Skadi", "name": "Skadi",
"level": "70", "level": "70",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "1", "ml": "1",
"servantImageFile": "skadi_02.png", "servantImageFile": "skadi_02.png",
"bondceImageFile": "skadi.png", "bondceImageFile": "skadi.png",
@ -23,7 +33,7 @@
"name": "Skadi", "name": "Skadi",
"level": "1", "level": "1",
"np": "1", "np": "1",
"skills": "10 / X / X ", "skills": "10 / X / X",
"ml": "1", "ml": "1",
"servantImageFile": "skadi_01.png", "servantImageFile": "skadi_01.png",
"bondceImageFile": "skadi.png", "bondceImageFile": "skadi.png",
@ -33,18 +43,18 @@
"name": "Koyanskaya of Light", "name": "Koyanskaya of Light",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "koyanlight_01.png", "servantImageFile": "koyanlight_01.png",
"bondceImageFile": "koyanlight.png", "bondceImageFile": "koyanlight.png",
"bond10": false "bond10": true
}, },
{ {
"name": "Castoria", "name": "Castoria",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "7", "ml": "10",
"servantImageFile": "castoria_02.png", "servantImageFile": "castoria_02.png",
"bondceImageFile": "castoria.png", "bondceImageFile": "castoria.png",
"bond10": true "bond10": true
@ -53,7 +63,7 @@
"name": "Castoria", "name": "Castoria",
"level": "70", "level": "70",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "1", "ml": "1",
"servantImageFile": "castoria_01.png", "servantImageFile": "castoria_01.png",
"bondceImageFile": "castoria.png", "bondceImageFile": "castoria.png",
@ -63,17 +73,17 @@
"name": "Oberon", "name": "Oberon",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "Not Unlocked", "ml": "1",
"servantImageFile": "oberon_02.png", "servantImageFile": "oberon_02.png",
"bondceImageFile": "oberon.png", "bondceImageFile": "oberon.png",
"bond10": false "bond10": true
}, },
{ {
"name": "Merlin", "name": "Merlin",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "merlin_03.png", "servantImageFile": "merlin_03.png",
"bondceImageFile": "merlin.png", "bondceImageFile": "merlin.png",
@ -83,7 +93,7 @@
"name": "Merlin", "name": "Merlin",
"level": "70", "level": "70",
"np": "1", "np": "1",
"skills": "9 / 1 / 9 ", "skills": "9 / 1 / 9",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "merlin_01.png", "servantImageFile": "merlin_01.png",
"bondceImageFile": "merlin.png", "bondceImageFile": "merlin.png",
@ -93,7 +103,7 @@
"name": "Waver", "name": "Waver",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "waver_02.png", "servantImageFile": "waver_02.png",
"bondceImageFile": "waver.png", "bondceImageFile": "waver.png",
@ -103,7 +113,7 @@
"name": "Reines", "name": "Reines",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "9", "ml": "9",
"servantImageFile": "reines_01.png", "servantImageFile": "reines_01.png",
"bondceImageFile": "reines.png", "bondceImageFile": "reines.png",
@ -113,7 +123,7 @@
"name": "Tamamo-no-Mae", "name": "Tamamo-no-Mae",
"level": "90", "level": "90",
"np": "2", "np": "2",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "tamamo_03.png", "servantImageFile": "tamamo_03.png",
"bondceImageFile": "tamamo.png", "bondceImageFile": "tamamo.png",
@ -123,7 +133,7 @@
"name": "Van Gogh", "name": "Van Gogh",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "10", "ml": "10",
"servantImageFile": "gogh_01.png", "servantImageFile": "gogh_01.png",
"bondceImageFile": "gogh.png", "bondceImageFile": "gogh.png",
@ -133,7 +143,7 @@
"name": "Miss Crane", "name": "Miss Crane",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "10 / 10 / 10 ", "skills": "10 / 10 / 10",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "crane_01.png", "servantImageFile": "crane_01.png",
"bondceImageFile": "crane.png", "bondceImageFile": "crane.png",
@ -143,8 +153,8 @@
"name": "Ashiya Douman", "name": "Ashiya Douman",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "9 / 9 / 10 ", "skills": "9 / 9 / 10",
"ml": "Not Unlocked", "ml": "10",
"servantImageFile": "douman_01.png", "servantImageFile": "douman_01.png",
"bondceImageFile": "douman.png", "bondceImageFile": "douman.png",
"bond10": false "bond10": false
@ -153,27 +163,47 @@
"name": "Himiko", "name": "Himiko",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "9 / 9 / 9 ", "skills": "9 / 9 / 9",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "himiko_03.png", "servantImageFile": "himiko_03.png",
"bondceImageFile": "himiko.png", "bondceImageFile": "himiko.png",
"bond10": false "bond10": false
}, },
{
"name": "Sherlock Holmes",
"level": "90",
"np": "1",
"skills": "9 / 10 / 9",
"ml": "Not Unlocked",
"servantImageFile": "sherlock_03.png",
"bondceImageFile": "sherlock.png",
"bond10": false
},
{ {
"name": "Nero (Bride)", "name": "Nero (Bride)",
"level": "90", "level": "90",
"np": "1", "np": "1",
"skills": "10 / 10 / 9 ", "skills": "10 / 10 / 10",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "bride_03.png", "servantImageFile": "bride_03.png",
"bondceImageFile": "bride.png", "bondceImageFile": "bride.png",
"bond10": false "bond10": false
}, },
{
"name": "Taigon Wang",
"level": "70",
"np": "1",
"skills": "10 / 9 / 10",
"ml": "Not Unlocked",
"servantImageFile": "taigong_03.png",
"bondceImageFile": "taigong.png",
"bond10": false
},
{ {
"name": "Nightingale (Santa)", "name": "Nightingale (Santa)",
"level": "80", "level": "80",
"np": "5", "np": "5",
"skills": "9 / 10 / 10 ", "skills": "9 / 10 / 9",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "santagale_01.png", "servantImageFile": "santagale_01.png",
"bondceImageFile": "santagale.png", "bondceImageFile": "santagale.png",
@ -183,7 +213,7 @@
"name": "Nightingale (Santa)", "name": "Nightingale (Santa)",
"level": "60", "level": "60",
"np": "1", "np": "1",
"skills": "1 / 10 / 10 ", "skills": "1 / 10 / 10",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "santagale_01.png", "servantImageFile": "santagale_01.png",
"bondceImageFile": "santagale.png", "bondceImageFile": "santagale.png",
@ -193,7 +223,7 @@
"name": "Elisabeth Báthory", "name": "Elisabeth Báthory",
"level": "40", "level": "40",
"np": "1", "np": "1",
"skills": "9 / 9 / X ", "skills": "9 / 9 / X",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "liz_01.png", "servantImageFile": "liz_01.png",
"bondceImageFile": "liz.png", "bondceImageFile": "liz.png",
@ -203,7 +233,7 @@
"name": "Wu Zetian", "name": "Wu Zetian",
"level": "60", "level": "60",
"np": "1", "np": "1",
"skills": "9 / 1 / 9 ", "skills": "10 / 9 / 10",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "wu_01.png", "servantImageFile": "wu_01.png",
"bondceImageFile": "wu.png", "bondceImageFile": "wu.png",
@ -213,7 +243,7 @@
"name": "Ibaraki-Douji", "name": "Ibaraki-Douji",
"level": "40", "level": "40",
"np": "1", "np": "1",
"skills": "8 / 8 / X ", "skills": "9 / 10 / X ",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "ibaraki_02.png", "servantImageFile": "ibaraki_02.png",
"bondceImageFile": "ibaraki.png", "bondceImageFile": "ibaraki.png",
@ -223,7 +253,7 @@
"name": "Calamity Jane", "name": "Calamity Jane",
"level": "60", "level": "60",
"np": "1", "np": "1",
"skills": "1 / 9 / 9 ", "skills": "1 / 9 / 9",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "jane_02.png", "servantImageFile": "jane_02.png",
"bondceImageFile": "jane.png", "bondceImageFile": "jane.png",
@ -233,7 +263,7 @@
"name": "Chiron", "name": "Chiron",
"level": "60", "level": "60",
"np": "1", "np": "1",
"skills": "1 / 9 / 9 ", "skills": "1 / 10 / 10",
"ml": "Not Unlocked", "ml": "Not Unlocked",
"servantImageFile": "chiron_01.png", "servantImageFile": "chiron_01.png",
"bondceImageFile": "chiron.png", "bondceImageFile": "chiron.png",