Compare commits

..

No commits in common. "main" and "0.2.2-pre.14" have entirely different histories.

81 changed files with 406 additions and 1230 deletions

View file

@ -69,7 +69,7 @@ jobs:
needs: [ build-site ] needs: [ build-site ]
if: success() if: success()
runs-on: docker runs-on: docker
container: forgejo.neshweb.net/firq/dockge-cli:0.1.2 container: forgejo.neshweb.net/firq/dockge-cli:0.1.1-c.2
steps: steps:
- name: Configure Dockge CLI - name: Configure Dockge CLI
run: | run: |
@ -80,18 +80,3 @@ jobs:
dockge status fgo-ta-com-preview dockge status fgo-ta-com-preview
dockge update fgo-ta-com-preview dockge update fgo-ta-com-preview
dockge status fgo-ta-com-preview dockge status fgo-ta-com-preview
run-unlighthouse:
needs: [ build-site ]
if: success()
runs-on: docker
steps:
- name: Launch workflow
run: |
payload="{\"ref\": \"${GITHUB_REF_NAME}\", \"inputs\": { \"containertag\": \"${GITHUB_REF_NAME}\" }}"
curl -X "POST" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: token ${GITHUB_TOKEN}" \
-d "${payload}" \
"${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/actions/workflows/unlighthouse.yml/dispatches" -v

View file

@ -63,19 +63,3 @@ jobs:
release-dir: release release-dir: release
token: ${{ secrets.FORGEJO_TOKEN }} token: ${{ secrets.FORGEJO_TOKEN }}
tag: ${{ github.ref_name }} tag: ${{ github.ref_name }}
auto-deploy-dockge:
needs: [ build-site ]
if: success()
runs-on: docker
container: forgejo.neshweb.net/firq/dockge-cli:0.1.2
steps:
- name: Configure Dockge CLI
run: |
dockge host '${{ vars.DOCKGE_HOST }}'
dockge login --user '${{ secrets.DOCKGE_USER }}' --password '${{ secrets.DOCKGE_CREDENTIAL }}'
- name: Check status and redeploy
run: |
dockge status fgo-ta-com
dockge update fgo-ta-com
dockge status fgo-ta-com

View file

@ -1,36 +1,17 @@
name: Run unlighthouse-tests [Downstream pipeline]
run-name: Run unlighthouse-tests [Downstream pipeline] for version ${{ inputs.containertag }}
on: on:
workflow_dispatch: push:
inputs: tags:
containertag: - '[0-9]+\.[0-9]+\.[0-9]+-ulh\.[0-9]+'
description: "Tag of the container to test"
default: "preview"
type: "string"
jobs: jobs:
unlighthouse: unlighthouse:
runs-on: docker runs-on: docker
container: container: forgejo.neshweb.net/ci-docker-images/unlighthouse:0.2.1
image: forgejo.neshweb.net/ci-docker-images/unlighthouse:0.3.0
services:
website:
image: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ inputs.containertag }}
options: >-
--workdir /
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: https://code.forgejo.org/actions/checkout@v3 uses: https://code.forgejo.org/actions/checkout@v3
- name: Check availability
run: |
while [ "$(curl -o /dev/null -s -w '%{http_code}' http://localhost:8081/)" -ne 200 ];
do echo "Waiting...";
sleep 5;
done;
- name: Run unlighthouse - name: Run unlighthouse
run: unlighthouse-ci --site "http://localhost:8081/" run: unlighthouse-ci --site "https://preview.fgo-ta.com/" --disable-dynamic-sampling
- name: Replace URLs
run: find ./unlighthouse-reports -type f | xargs sed -i "s|http://localhost:8081|https://preview.fgo-ta.com|g";
- name: Prepare artifacts - name: Prepare artifacts
run: cp serve.json unlighthouse-reports run: cp serve.json unlighthouse-reports
- name: Upload reports - name: Upload reports
@ -38,54 +19,79 @@ jobs:
with: with:
name: unlighthouse-reports name: unlighthouse-reports
path: unlighthouse-reports/ path: unlighthouse-reports/
- name: Upload Dockerfile
uses: actions/upload-artifact@v3
with:
name: dockerfile
path: Dockerfile.reports
build-site: deploy-unlighthouse-files:
needs: [ unlighthouse ] needs: [ unlighthouse ]
if: success() if: success()
runs-on: dind runs-on: docker
env:
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
steps: steps:
- name: Downloading static site artifacts - name: Install and update ssh + rsync
uses: actions/download-artifact@v3 run: |
with: which rsync || ( apt update -y && apt install rsync -y)
name: dockerfile which ssh-agent || ( apt update -y && apt install openssh-client -y)
- name: Downloading static site artifacts - name: Downloading static site artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: unlighthouse-reports name: unlighthouse-reports
path: reports path: public
- name: Set up Docker Buildx - name: Install SSH Key
uses: docker/setup-buildx-action@v3 uses: https://github.com/shimataro/ssh-key-action@v2
- name: Log into Docker Package Registry
uses: docker/login-action@v3
with: with:
registry: forgejo.neshweb.net key: ${{ secrets.SSH_PRIVATE_KEY }}
username: ${{ secrets.FORGEJO_USERNAME }} known_hosts: unnecessary
password: ${{ secrets.FORGEJO_TOKEN }} - name: Adding Known Hosts
- name: Build and push to Docker Package Registry run: ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts
uses: docker/build-push-action@v5 - name: Stop screen session, delete old files
uses: https://github.com/appleboy/ssh-action@master
with: with:
context: . host: ${{ env.DEPLOY_HOST }}
file: Dockerfile.reports username: ${{ env.DEPLOY_USER }}
push: true key: ${{ secrets.SSH_PRIVATE_KEY }}
tags: forgejo.neshweb.net/firq/fgo-ta-com-website-unlighthouse:latest script: |
screen -X -S fgo_ta_com-unlighthouse kill
rm -r -f fgo_ta_com/unlighthouse/*
- name: Copy files using rsync
run: rsync -az --stats public/* ${{ env.DEPLOY_USER }}@${{ env.DEPLOY_HOST }}:~/fgo_ta_com/unlighthouse
- name: Check files on deploy target
uses: https://github.com/appleboy/ssh-action@master
with:
host: ${{ env.DEPLOY_HOST }}
username: ${{ env.DEPLOY_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd fgo_ta_com
find unlighthouse -maxdepth 1 -printf "%p\n"
auto-deploy-dockge: deploy-unlighthouse-site:
needs: [ build-site ] needs: [ deploy-unlighthouse-files ]
if: success() if: success()
runs-on: docker runs-on: docker
container: forgejo.neshweb.net/firq/dockge-cli:0.1.2 env:
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
steps: steps:
- name: Configure Dockge CLI - name: Install and update ssh + rsync
run: | run: |
dockge host '${{ vars.DOCKGE_HOST }}' which rsync || ( apt update -y && apt install rsync -y)
dockge login --user '${{ secrets.DOCKGE_USER }}' --password '${{ secrets.DOCKGE_CREDENTIAL }}' which ssh-agent || ( apt update -y && apt install openssh-client -y)
- name: Check status and redeploy - name: Install SSH Key
run: | uses: https://github.com/shimataro/ssh-key-action@v2
dockge status fgo-ta-com-unlighthouse with:
dockge update fgo-ta-com-unlighthouse key: ${{ secrets.SSH_PRIVATE_KEY }}
dockge status fgo-ta-com-unlighthouse known_hosts: unnecessary
- name: Adding Known Hosts
run: ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts
- name: Start new screen session
uses: https://github.com/appleboy/ssh-action@master
with:
host: ${{ env.DEPLOY_HOST }}
username: ${{ env.DEPLOY_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
PATH="$HOME/.local/bin:$PATH"
screen -ls | grep 'fgo_ta_com-unlighthouse' | awk '{print $1}' | xargs -I % -t screen -X -S % quit
cd fgo_ta_com
screen -S fgo_ta_com-unlighthouse -dm serve unlighthouse/ -p ${{ secrets.UNLIGHTHOUSE_DEPLOY_PORT }}

View file

@ -1,6 +0,0 @@
FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime
ADD reports /public
EXPOSE 8081
CMD serve public/ -p 8081

View file

@ -1,12 +1,12 @@
import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap'; import sitemap from '@astrojs/sitemap';
import metaTags from "astro-meta-tags"; import metaTags from "astro-meta-tags";
import { defineConfig } from 'astro/config';
export default defineConfig({ export default defineConfig({
sitemap: true, sitemap: true,
base: '/', base: '/',
outDir: 'dist', outDir: 'dist',
publicDir: 'public', publicDir: 'static',
site: 'https://fgo-ta.com/', site: 'https://fgo-ta.com/',
integrations: [sitemap(), metaTags()], integrations: [sitemap(), metaTags()],
trailingSlash: "never" trailingSlash: "never"

781
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
{ {
"name": "fgo-ta-com-website", "name": "fgo-ta-com-website",
"type": "module", "type": "module",
"version": "0.2.2-pre.22", "version": "0.2.2-pre.14",
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
"start": "astro dev", "start": "astro dev",
@ -11,10 +11,10 @@
}, },
"dependencies": { "dependencies": {
"@astro-community/astro-embed-youtube": "^0.5.2", "@astro-community/astro-embed-youtube": "^0.5.2",
"@astrojs/check": "^0.9.3", "@astrojs/check": "^0.8.1",
"@astrojs/sitemap": "^3.1.6", "@astrojs/sitemap": "^3.1.6",
"@fontsource/work-sans": "^5.0.18", "@fontsource/work-sans": "^5.0.18",
"astro": "^4.14.3", "astro": "^4.12.2",
"astro-meta-tags": "^0.3.0", "astro-meta-tags": "^0.3.0",
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
"iconoir": "^7.7.0", "iconoir": "^7.7.0",

View file

@ -12,15 +12,6 @@
} }
] ]
}, },
{
"source": "**/*.woff2",
"headers": [
{
"key": "Cache-Control",
"value": "no-cache"
}
]
},
{ {
"source": "404.html", "source": "404.html",
"headers": [ "headers": [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

View file

@ -11,20 +11,12 @@ export interface Props {
const { maintext, subtext, fadeout, baseurl, returnbutton } = Astro.props const { maintext, subtext, fadeout, baseurl, returnbutton } = Astro.props
const displayFadeout = fadeout ? "": "display: none" const displayFadeout = fadeout ? "": "display: none"
const displayBackButton = returnbutton ? "": "display: none" const displayBackButton = returnbutton ? "": "display: none"
let text
if (baseurl) {
text = baseurl?.split("/").pop()
text = text?.replace("-", " ").replace("-", ".")
text = text?.includes('eq 20') ? text?.replace("eq", "EQ") : text
}
--- ---
<div class="wrap"> <div class="wrap">
<div class="head">{maintext}</div> <div class="head">{maintext}</div>
<div class="sub">{subtext}</div> <div class="sub">{subtext}</div>
<a href=`/${baseurl}` style={displayBackButton}>&lt&lt Back to {text}</a> <a href=`/${baseurl}` style={displayBackButton}>&lt&lt Back to {baseurl}</a>
<div class="fade" style={displayFadeout}></div> <div class="fade" style={displayFadeout}></div>
</div> </div>
@ -70,16 +62,14 @@ if (baseurl) {
.head { .head {
hyphens: auto; hyphens: auto;
padding-top: 2rem; padding-top: 2rem;
font-size: 3rem; font-size: 2rem;
font-weight: 800; font-weight: 800;
font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial, font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial,
sans-serif; sans-serif;
} }
.sub { .sub {
padding-left: 0.5rem; font-size: 0.75rem;
padding-right: 0.5rem;
font-size: 1rem;
font-weight: 600; font-weight: 600;
font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial, font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial,
sans-serif; sans-serif;
@ -100,19 +90,19 @@ if (baseurl) {
@media (min-width: 620px) { @media (min-width: 620px) {
.head { .head {
hyphens: none; hyphens: none;
font-size: 3rem;
}
.sub {
font-size: 0.75rem;
}
}
@media (min-width: 1000px) {
.head {
font-size: 4rem; font-size: 4rem;
} }
.sub { .sub {
font-size: 1rem; font-size: 1rem;
} }
} }
@media (min-width: 1000px) {
.head {
font-size: 6rem;
}
.sub {
font-size: 1rem;
}
}
</style> </style>

View file

@ -45,8 +45,6 @@ const display = fadeout ? "": "display: none"
} }
.sub { .sub {
padding-left: 0.5rem;
padding-right: 0.5rem;
font-size: 1.5rem; font-size: 1.5rem;
font-weight: 800; font-weight: 800;
font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial, font-family: 'Work Sans', 'Helvetica Neue', Helvetica, Helvetica, Arial,

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/changes.schema.json",
"info": { "info": {
"title": "Appends and Level 120", "title": "Appends and Level 120",
"releaseDate": "2022-05-23", "releaseDate": "2022-05-23",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/changes.schema.json",
"info": { "info": {
"title": "Castoria", "title": "Castoria",
"releaseDate": "2022-07-04", "releaseDate": "2022-07-04",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/changes.schema.json",
"info": { "info": {
"title": "Koyanskaya of Light", "title": "Koyanskaya of Light",
"releaseDate": "2023-07-03", "releaseDate": "2023-07-03",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/changes.schema.json",
"info": { "info": {
"title": "Oberon", "title": "Oberon",
"releaseDate": "2023-07-10", "releaseDate": "2023-07-10",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/changes.schema.json",
"info": { "info": {
"title": "Scathach-Skadi", "title": "Scathach-Skadi",
"releaseDate": "2020-07-06", "releaseDate": "2020-07-06",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/changes.schema.json",
"info": { "info": {
"title": "Scathach-Skadi (Ruler)", "title": "Scathach-Skadi (Ruler)",
"releaseDate": "2024-07-24", "releaseDate": "2024-07-24",

View file

@ -53,6 +53,5 @@ export const collections = {
taInfoData: taData, taInfoData: taData,
teslafest: taData, teslafest: taData,
groups: groupDescription, groups: groupDescription,
teslafestgroups: groupDescription,
changes: changes, changes: changes,
} }

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/groups.schema.json",
"info": { "info": {
"title": "Lostbelt 6.5 - Traum", "title": "Lostbelt 6.5 - Traum",
"releaseDate": "2024-05-13", "releaseDate": "2024-05-13",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/groups.schema.json",
"info": { "info": {
"title": "Lostbelt 6 - Avalon le Fae", "title": "Lostbelt 6 - Avalon le Fae",
"releaseDate": "2023-06-06", "releaseDate": "2023-06-06",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/taInfoData.schema.json",
"info": { "info": {
"title": "Arctic Summer World", "title": "Arctic Summer World",
"releaseDate": "2024-07-24", "releaseDate": "2024-07-24",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/taInfoData.schema.json",
"info": { "info": {
"title": "Beast IV:L", "title": "Beast IV:L",
"releaseDate": "2023-12-26", "releaseDate": "2023-12-26",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/taInfoData.schema.json",
"info": { "info": {
"title": "Case Files Rerun 2024", "title": "Case Files Rerun 2024",
"releaseDate": "2024-01-10", "releaseDate": "2024-01-10",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/taInfoData.schema.json",
"info": { "info": {
"title": "Devilish Bodhisattva", "title": "Devilish Bodhisattva",
"releaseDate": "2019-04-23", "releaseDate": "2019-04-23",

View file

@ -1,49 +0,0 @@
{
"$schema": "../../../../.astro/collections/taInfoData.schema.json",
"info": {
"title": "Kiyohime",
"releaseDate": "2024-05-13",
"shortdescription": "Help, there is an angry dragon snek that wants to burn me for slightly lying to her",
"releaseNumber": 2
},
"quests": [
{
"questTitle": "Kiyohime",
"description": "",
"data": [
{
"title": "S.Karna Karna Arjuna Junao 5T",
"link": "https://youtu.be/f039x5OIl6E",
"date": "2024-05-18",
"servant": "247",
"turns": "5T",
"runner": "Akise"
},
{
"title": "Baobhan Arash Habetrot 5T",
"link": "https://www.youtube.com/watch?v=a7V5W8MkxO8",
"date": "2024-05-31",
"servant": "311",
"turns": "5T",
"runner": "Mikazuki"
},
{
"title": "Cindereli Habenya Douman Arash 5T",
"link": "https://www.youtube.com/watch?v=7Z0Fn8tBV4E",
"date": "2024-05-14",
"servant": "326",
"turns": "5T",
"runner": "Loki"
},
{
"title": "Daikokuten 5T",
"link": "https://www.youtube.com/watch?v=Q7v_joSJmNg",
"date": "2024-05-20",
"servant": "340",
"turns": "5T",
"runner": "TokuHer0"
}
]
}
]
}

View file

@ -1,153 +0,0 @@
{
"$schema": "../../../../.astro/collections/taInfoData.schema.json",
"info": {
"title": "Kriemhild",
"releaseDate": "2024-05-13",
"shortdescription": "Trying to get Kriemhild acting sane when she's a Berserker and pitted against her husband - Challenge Impossible",
"releaseNumber": 3
},
"quests": [
{
"questTitle": "Kriemhild",
"description": "",
"data": [
{
"title": "Nero Bride 3T (FLO)",
"link": "https://www.youtube.com/watch?v=iEOhDVhIKkw",
"date": "2024-05-22",
"servant": "90",
"turns": "3T",
"runner": "Lutrec"
},
{
"title": "Saber Diarmuid 3T",
"link": "https://www.youtube.com/watch?v=aBBY-smKj2I",
"date": "2024-05-27",
"servant": "223",
"turns": "3T",
"runner": "Volcanicz"
},
{
"title": "Muramasa 3T",
"link": "https://www.youtube.com/watch?v=Wejdo62W9Ng",
"date": "2024-05-16",
"servant": "302",
"turns": "3T",
"runner": "Loki"
},
{
"title": "Artoria 3T (FLO)",
"link": "https://www.youtube.com/watch?v=qkZji1N7oLs",
"date": "2024-05-25",
"servant": "2",
"turns": "3T",
"runner": "Fu Windsword"
},
{
"title": "Siegfried 3T (NPC)",
"link": "https://www.youtube.com/watch?v=BSPUS2kQyeE",
"date": "2024-05-20",
"servant": "6",
"turns": "3T",
"runner": "TokuHer0"
},
{
"title": "Jeanne Summer 3T",
"link": "https://www.youtube.com/watch?v=_1GgmzU8SJI",
"date": "2024-05-18",
"servant": "216",
"turns": "3T",
"runner": "im poketar"
},
{
"title": "Emiya 3T",
"link": "https://www.youtube.com/watch?v=hEuWchiPUcM",
"date": "2024-05-18",
"servant": "11",
"turns": "3T",
"runner": "Volcanicz"
},
{
"title": "Melusine 3T (Solo)",
"link": "https://www.youtube.com/watch?v=pH7iLqMKamE",
"date": "2024-05-16",
"servant": "312_st",
"turns": "3T",
"runner": "Felt"
},
{
"title": "Kagetora 3T (FLO)",
"link": "https://www.youtube.com/watch?v=j_S20-UZbqo",
"date": "2024-05-22",
"servant": "252",
"turns": "3T",
"runner": "Volcanicz"
},
{
"title": "Cindereli 3T",
"link": "https://www.youtube.com/watch?v=H_mUuNrZE0I",
"date": "2024-05-16",
"servant": "326",
"turns": "3T",
"runner": "Loki"
},
{
"title": "Rider Ishtar 3T",
"link": "https://www.youtube.com/watch?v=9jHuxjH6puw",
"date": "2024-05-19",
"servant": "182",
"turns": "3T",
"runner": "Volcanicz"
},
{
"title": "Cu Caster 3T (FLO)",
"link": "https://www.youtube.com/watch?v=N9ZZ-nuePmA",
"date": "2024-05-22",
"servant": "38",
"turns": "3T",
"runner": "Akise"
},
{
"title": "Skadi 3T",
"link": "https://www.youtube.com/watch?v=YrvWmFTgMUE",
"date": "2024-05-17",
"servant": "215",
"turns": "3T",
"runner": "Firq"
},
{
"title": "Merlin 3T",
"link": "https://www.youtube.com/watch?v=kPtC0P-XHag",
"date": "2024-05-20",
"servant": "150",
"turns": "3T",
"runner": "Ise(Kai)"
},
{
"title": "Morgan 3T",
"link": "https://www.youtube.com/watch?v=hJyf-FFRQUw",
"date": "2024-05-15",
"servant": "309",
"turns": "3T",
"runner": "Loki"
},
{
"title": "Astrea 3T (Lvl. 2)",
"link": "https://www.youtube.com/watch?v=EPZUkzN9ySQ",
"date": "2024-05-19",
"servant": "242",
"turns": "3T",
"runner": "Alastair Hale"
},
{
"title": "Summer BB 3T (4man)",
"link": "https://www.youtube.com/watch?v=k7btt-Vti2I",
"date": "2024-05-21",
"servant": "220",
"turns": "3T",
"runner": "Volcanicz"
}
]
}
]
}

View file

@ -1,81 +0,0 @@
{
"$schema": "../../../../.astro/collections/taInfoData.schema.json",
"info": {
"title": "Moriarty",
"releaseDate": "2024-05-13",
"shortdescription": "The epic showdown at the Reichenbach Falls - A worthy finale against the Big Bad Evil of this Lostbelt",
"releaseNumber": 4
},
"quests": [
{
"questTitle": "Moriarty",
"description": "",
"data": [
{
"title": "Nero Bride 4T",
"link": "https://www.youtube.com/watch?v=wWM5yvCeiIA",
"date": "2024-05-25",
"servant": "90",
"turns": "4T",
"runner": "Lutrec"
},
{
"title": "Morgan 4T",
"link": "https://www.youtube.com/watch?v=42pTDuQwsQg",
"date": "2024-05-16",
"servant": "309",
"turns": "4T",
"runner": "Loki"
},
{
"title": "Arjuna Alter 4T (FLO)",
"link": "https://www.youtube.com/watch?v=egmZQvRseX8",
"date": "2024-05-23",
"servant": "247",
"turns": "4T",
"runner": "Akise"
},
{
"title": "Da Vinci Ruler 4T",
"link": "https://www.youtube.com/watch?v=LUFHZXy0F14",
"date": "2024-05-27",
"servant": "320",
"turns": "4T",
"runner": "Lutrec"
},
{
"title": "Taira 4T",
"link": "https://www.youtube.com/watch?v=qU_9PFh04Og",
"date": "2024-05-19",
"servant": "303",
"turns": "4T",
"runner": "Patrick Bandeira"
},
{
"title": "Taira 4T (Solo)",
"link": "https://www.youtube.com/watch?v=PaTeIqKSdVA",
"date": "2024-05-16",
"servant": "303",
"turns": "4T",
"runner": "Felt"
},
{
"title": "Bazett 3T",
"link": "https://www.youtube.com/watch?v=_7vDBCqLlhU",
"date": "2024-05-21",
"servant": "336",
"turns": "3T",
"runner": "TokuHer0"
},
{
"title": "Kiara 4T",
"link": "https://www.youtube.com/watch?v=gEa8VJOy2Eg",
"date": "2024-05-19",
"servant": "167",
"turns": "4T",
"runner": "im poketar"
}
]
}
]
}

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/taInfoData.schema.json",
"info": { "info": {
"title": "Zhang Jue", "title": "Zhang Jue",
"releaseDate": "2024-05-13", "releaseDate": "2024-05-13",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/taInfoData.schema.json",
"info": { "info": {
"title": "Albion", "title": "Albion",
"releaseDate": "2023-07-10", "releaseDate": "2023-07-10",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/taInfoData.schema.json",
"info": { "info": {
"title": "Cernunnos", "title": "Cernunnos",
"releaseDate": "2023-07-10", "releaseDate": "2023-07-10",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/taInfoData.schema.json",
"info": { "info": {
"title": "Queen Morgan", "title": "Queen Morgan",
"releaseDate": "2023-06-20", "releaseDate": "2023-06-20",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Lightning in Gilgilgamesh", "title": "Lightning in Gilgilgamesh",
"releaseDate": "2024-03-23", "releaseDate": "2024-03-23",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Grand Finale - The Golden Metropolis Returns", "title": "Grand Finale - The Golden Metropolis Returns",
"releaseDate": "2024-03-18", "releaseDate": "2024-03-18",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Flame Gate", "title": "Flame Gate",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Welcome to Jaguar Country", "title": "Welcome to Jaguar Country",
"releaseDate": "2024-03-16", "releaseDate": "2024-03-16",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Moolah's Pawn Shop", "title": "Moolah's Pawn Shop",
"releaseDate": "2024-03-17", "releaseDate": "2024-03-17",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Rice Ball Franchise Shop No. 1", "title": "Rice Ball Franchise Shop No. 1",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Skyscraper Monster", "title": "Skyscraper Monster",
"releaseDate": "2024-03-16", "releaseDate": "2024-03-16",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Sweets Universe", "title": "Sweets Universe",
"releaseDate": "2024-03-17", "releaseDate": "2024-03-17",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "BE-Witched (Curse)", "title": "BE-Witched (Curse)",
"releaseDate": "2024-03-19", "releaseDate": "2024-03-19",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Main Event - Final Match", "title": "Main Event - Final Match",
"releaseDate": "2024-03-19", "releaseDate": "2024-03-19",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Capture the Clown!", "title": "Capture the Clown!",
"releaseDate": "2024-03-20", "releaseDate": "2024-03-20",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Legend of the Crimson Hero - HD Remastered", "title": "Legend of the Crimson Hero - HD Remastered",
"releaseDate": "2024-03-21", "releaseDate": "2024-03-21",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Finale - The Eternal City Triumphus", "title": "Finale - The Eternal City Triumphus",
"releaseDate": "2024-03-22", "releaseDate": "2024-03-22",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "The Lovely Gorgon Sisters", "title": "The Lovely Gorgon Sisters",
"releaseDate": "2024-03-20", "releaseDate": "2024-03-20",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "The Green Comet", "title": "The Green Comet",
"releaseDate": "2024-03-21", "releaseDate": "2024-03-21",

View file

@ -1,14 +1,13 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Singularity Gets Restored until You Reach Home", "title": "Giga Coil - Singularity Gets Restored until You Reach Home",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",
"shortdescription": "An interesting, multi-stage quest with plenty of interesting twists", "shortdescription": "An interesting, multi-stage quest with plenty of interesting twists",
"releaseNumber": 2 "releaseNumber": 2
}, },
"quests": [ "quests": [
{ {
"questTitle": "Singularity Gets Restored until You Reach Home", "questTitle": "Giga Coil - Singularity Gets Restored until You Reach Home",
"description": "An interesting, multi-stage quest with plenty of interesting twists ... What do you mean 12 Guts stacks is bad quest design????", "description": "An interesting, multi-stage quest with plenty of interesting twists ... What do you mean 12 Guts stacks is bad quest design????",
"data": [ "data": [
{ {

View file

@ -1,14 +1,13 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Child from the Netherworld", "title": "Giga Coil - Child from the Netherworld",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",
"shortdescription": "Can Erice stop the racers this time?", "shortdescription": "Can Erice stop the racers this time?",
"releaseNumber": 5 "releaseNumber": 5
}, },
"quests": [ "quests": [
{ {
"questTitle": "Child from the Netherworld", "questTitle": "Giga Coil - Child from the Netherworld",
"description": "Can Erice stop the racers this time? Well, she might just if she has more and more ghosts in stock. A real throwback to the Fate/Requiem Collab Event.", "description": "Can Erice stop the racers this time? Well, she might just if she has more and more ghosts in stock. A real throwback to the Fate/Requiem Collab Event.",
"data": [ "data": [
{ {

View file

@ -1,14 +1,13 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Raging Billows! Kakare Shibata!", "title": "Giga Coil - Raging Billows! Kakare Shibata!",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",
"shortdescription": "Stacking defences and damage cut - what an interesting strategy", "shortdescription": "Stacking defences and damage cut - what an interesting strategy",
"releaseNumber": 6 "releaseNumber": 6
}, },
"quests": [ "quests": [
{ {
"questTitle": "Raging Billows! Kakare Shibata!", "questTitle": "Giga Coil - Raging Billows! Kakare Shibata!",
"description": "Stacking defences and damage cut - what an interesting strategy ... Let's see how it works out against the racers", "description": "Stacking defences and damage cut - what an interesting strategy ... Let's see how it works out against the racers",
"data": [ "data": [
{ {

View file

@ -1,14 +1,13 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Galaxy Guardian", "title": "Giga Coil - Galaxy Guardian",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",
"shortdescription": "The one to keep the Galaxy in order - will her two forms be enough against the racers?", "shortdescription": "The one to keep the Galaxy in order - will her two forms be enough against the racers?",
"releaseNumber": 3 "releaseNumber": 3
}, },
"quests": [ "quests": [
{ {
"questTitle": "Galaxy Guardian", "questTitle": "Giga Coil - Galaxy Guardian",
"description": "The one to keep the Galaxy in order - will her two forms be enough against the racers?", "description": "The one to keep the Galaxy in order - will her two forms be enough against the racers?",
"data": [ "data": [
{ {

View file

@ -1,14 +1,13 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Western Ninja Arts Book", "title": "Giga Coil - Western Ninja Arts Book",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",
"shortdescription": "Can Fuuma, his clones and his arsenal of debuffs stop the racers?", "shortdescription": "Can Fuuma, his clones and his arsenal of debuffs stop the racers?",
"releaseNumber": 1 "releaseNumber": 1
}, },
"quests": [ "quests": [
{ {
"questTitle": "Western Ninja Arts Book", "questTitle": "Giga Coil - Western Ninja Arts Book",
"description": "Can Fuuma, his clones and his arsenal of debuffs stop the racers? One of the most obnoxious quests in the history of Challenge Quests - and this time, with a harder cap on party cost.", "description": "Can Fuuma, his clones and his arsenal of debuffs stop the racers? One of the most obnoxious quests in the history of Challenge Quests - and this time, with a harder cap on party cost.",
"data": [ "data": [
{ {

View file

@ -1,14 +1,13 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "True Love", "title": "Giga Coil - True Love",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",
"shortdescription": "Somehow, Orion can now transform - is he a Transformer then?", "shortdescription": "Somehow, Orion can now transform - is he a Transformer then?",
"releaseNumber": 4 "releaseNumber": 4
}, },
"quests": [ "quests": [
{ {
"questTitle": "True Love", "questTitle": "Giga Coil - True Love",
"description": "Somehow, Orion can now transform - is he a Transformer then? But to be fair, he really fits in with all the other pigs.", "description": "Somehow, Orion can now transform - is he a Transformer then? But to be fair, he really fits in with all the other pigs.",
"data": [ "data": [
{ {

View file

@ -1,14 +1,13 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Five Star Idol", "title": "Giga Coil - Five Star Idol",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",
"shortdescription": "A total of 10 HP Bars and some interesting field effects - what will happen on this stage?", "shortdescription": "A total of 10 HP Bars and some interesting field effects - what will happen on this stage?",
"releaseNumber": 7 "releaseNumber": 7
}, },
"quests": [ "quests": [
{ {
"questTitle": "Five Star Idol", "questTitle": "Giga Coil - Five Star Idol",
"description": "A total of 10 HP Bars and some interesting field effects - what will happen on this stage? Will the racers idol prevail? Let's enjoy the show and see ...", "description": "A total of 10 HP Bars and some interesting field effects - what will happen on this stage? Will the racers idol prevail? Let's enjoy the show and see ...",
"data": [ "data": [
{ {

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Until That Person's Defeated", "title": "Until That Person's Defeated",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "March of the Holy Reindeer", "title": "March of the Holy Reindeer",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Crime and Punishment - Gray Mustache Must Die", "title": "Crime and Punishment - Gray Mustache Must Die",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Super My Home Daddy", "title": "Super My Home Daddy",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Heart Pounding! The Grand Decisive Swimsuit Battle!", "title": "Heart Pounding! The Grand Decisive Swimsuit Battle!",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "The Librarian's Job", "title": "The Librarian's Job",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",

View file

@ -1,5 +1,4 @@
{ {
"$schema": "../../../../.astro/collections/teslafest.schema.json",
"info": { "info": {
"title": "Rematch at Reichenbach Falls", "title": "Rematch at Reichenbach Falls",
"releaseDate": "2024-03-15", "releaseDate": "2024-03-15",

View file

@ -1,10 +0,0 @@
{
"$schema": "../../../.astro/collections/teslafestgroups.schema.json",
"info": {
"title": "Exhibition Quests 2020",
"releaseDate": "2024-03-15",
"shortdescription": "The return of the 2020 Nerofest Exhibition Quests - time to go for round 2",
"releaseNumber": 1,
"type": "group"
}
}

View file

@ -1,10 +0,0 @@
{
"$schema": "../../../.astro/collections/teslafestgroups.schema.json",
"info": {
"title": "Exhibition Quests 2021",
"releaseDate": "2024-03-15",
"shortdescription": "The return of the 2021 Ishtarfest Exhibition Quests - time to run those again",
"releaseNumber": 2,
"type": "group"
}
}

View file

@ -1,10 +0,0 @@
{
"$schema": "../../../.astro/collections/teslafestgroups.schema.json",
"info": {
"title": "Giga Coil",
"releaseDate": "2024-03-15",
"shortdescription": "The second collection of old Challenge Quests that requires strategic of servants - let's go again",
"releaseNumber": 4,
"type": "group"
}
}

View file

@ -1,10 +0,0 @@
{
"$schema": "../../../.astro/collections/teslafestgroups.schema.json",
"info": {
"title": "Mega Coil",
"releaseDate": "2024-03-15",
"shortdescription": "A collection of old Challenge Quests that requires strategic use of a full servant roster - be prepared",
"releaseNumber": 3,
"type": "group"
}
}

View file

@ -1,7 +1,7 @@
--- ---
import Navbar from '../components/navbar.astro' import Navbar from '../components/navbar.astro'
import NavbarEntry from '../components/navbarEntry.astro' import NavbarEntry from '../components/navbarEntry.astro'
import navdata from '../data/_navdata.json' import navdata from '../../static/data/_navdata.json'
import embed from '../assets/embed.png' import embed from '../assets/embed.png'
import home from 'iconoir/icons/home.svg' import home from 'iconoir/icons/home.svg'
import database from 'iconoir/icons/database.svg' import database from 'iconoir/icons/database.svg'
@ -9,9 +9,6 @@ import databasestar from 'iconoir/icons/database-star.svg'
import mail from 'iconoir/icons/mail.svg' import mail from 'iconoir/icons/mail.svg'
import type { IconsLookup } from '../types/generic' import type { IconsLookup } from '../types/generic'
import workSans800 from '@fontsource/work-sans/files/work-sans-latin-800-normal.woff2?url';
import workSans600 from '@fontsource/work-sans/files/work-sans-latin-600-normal.woff2?url';
export interface Props { export interface Props {
title: string title: string
currentpage: string currentpage: string
@ -64,8 +61,6 @@ const mapped_navdata = navdata.map((item) => ({
<!-- Disable DarkReader, as site is already in dark mode --> <!-- Disable DarkReader, as site is already in dark mode -->
<meta name="darkreader-lock" content="this site only has darkmode"> <meta name="darkreader-lock" content="this site only has darkmode">
<!-- Links --> <!-- Links -->
<link rel="preload" as="font" type="font/woff2" href={workSans600} crossorigin="anonymous" />
<link rel="preload" as="font" type="font/woff2" href={workSans800} crossorigin="anonymous" />
<link rel="icon" type="image/ico" href="/favicon.ico" /> <link rel="icon" type="image/ico" href="/favicon.ico" />
<link rel="sitemap" href="/sitemap-index.xml" /> <link rel="sitemap" href="/sitemap-index.xml" />
<link href="https://mastodon.neshweb.net/@Firq" rel="me" /> <link href="https://mastodon.neshweb.net/@Firq" rel="me" />

View file

@ -1,17 +1,15 @@
--- ---
export interface Props { export interface Props {
title: string title: string
hidetitle?: boolean
description: string description: string
} }
const { title, hidetitle, description } = Astro.props const { title, description } = Astro.props
const override = hidetitle ? "display: None" : ""
--- ---
<div class="base"> <div class="base">
<h1 style={override}>{title}</h1> <h1>{title}</h1>
<h2 style={override}>{description}</h2> <h2>{description}</h2>
<div> <div>
<slot /> <slot />
</div> </div>

View file

@ -17,7 +17,6 @@ const { collection, collectionKey, baseurl } = Astro.props
const taEntry = await plsLoadTAEntry(collectionKey, collection) const taEntry = await plsLoadTAEntry(collectionKey, collection)
const pagetitle = `${taEntry.info.title} - FGO TA` const pagetitle = `${taEntry.info.title} - FGO TA`
const displaystate = taEntry.quests[0].data.length > 0 ? 'none' : 'flex' const displaystate = taEntry.quests[0].data.length > 0 ? 'none' : 'flex'
const hidetitle = taEntry.quests.length <= 1
--- ---
<Layout <Layout
@ -34,7 +33,7 @@ const hidetitle = taEntry.quests.length <= 1
/> />
{ {
taEntry.quests.map((item) => ( taEntry.quests.map((item) => (
<BaseSection title={item.questTitle} description={item.description} hidetitle={hidetitle}> <BaseSection title={item.questTitle} description={item.description}>
{item.data {item.data
.sort((a, b) => b.date.valueOf() - a.date.valueOf()) .sort((a, b) => b.date.valueOf() - a.date.valueOf())
.map((item) => ( .map((item) => (

View file

@ -78,12 +78,6 @@ export async function getStaticPaths() {
} }
const { key, group, questinfo, pageinfo } = Astro.props const { key, group, questinfo, pageinfo } = Astro.props
let baseurl_return = "database"
if (key.includes("/")) {
baseurl_return = baseurl_return + "/" + key.split("/", 1)[0]
}
--- ---
{ {
@ -91,7 +85,7 @@ if (key.includes("/")) {
<TaShowcaseLayout <TaShowcaseLayout
collection="taInfoData" collection="taInfoData"
collectionKey={key} collectionKey={key}
baseurl={baseurl_return} baseurl="database"
/> />
) )
} }

View file

@ -12,7 +12,7 @@ const description =
currentpage="home" currentpage="home"
descriptionOverride={description} descriptionOverride={description}
> >
<Title maintext='FGO NA TA DATA&shy;BASE' subtext='The all-in-one lookup for all your TA needs'/> <Title maintext='FGO NA TA DATA&shy;BASE' subtext='The all-in-one lookup for your all TA needs'/>
<Hero fadeout={true}/> <Hero fadeout={true}/>
</Layout> </Layout>

View file

@ -1,122 +0,0 @@
---
import { getCollection } from 'astro:content'
import TaShowcaseLayout from '../../layouts/taShowcaseLayout.astro'
import Layout from '../../layouts/Layout.astro'
import DatabaseSection from '../../layouts/databaseSection.astro'
import QuestListing from '../../components/listings/questListingCard.astro'
import SmallTitle from '../../components/smallTitle.astro'
interface store {
slug: string
group: boolean
questinfo:
| undefined
| {
slug: string
info: {
title: string
releaseDate: Date
shortdescription: string
releaseNumber: number
}
}[]
pageinfo:
| undefined
| {
title: string
shortdescription: string
}
}
export async function getStaticPaths() {
const fulldata = await getCollection('teslafest')
const slugdata: store[] = fulldata.map((data) => {
return {
slug: data.id,
group: false,
questinfo: undefined,
pageinfo: undefined,
}
})
const groupdata = await getCollection('teslafestgroups')
const groups: store[] = groupdata.map((data) => {
return {
slug: data.id,
group: true,
questinfo: undefined,
pageinfo: undefined,
}
})
const full = slugdata.concat(groups as any)
full.map((data) => {
if (data.group) {
const coll = fulldata.filter((d) => d.id.split("/", 1)[0] == data.slug)
data.questinfo = coll.map((d) => {
return { slug: d.id, info: d.data.info }
})
data.questinfo.sort(
(a, b) =>
b.info.releaseDate.valueOf() - a.info.releaseDate.valueOf() ||
b.info.releaseNumber - a.info.releaseNumber
)
const page = groupdata.find((d) => d.id === data.slug)
data.pageinfo = page?.data.info
}
})
return full.map((data) => ({
params: { slug: data.slug },
props: {
key: data.slug,
group: data.group,
questinfo: data.questinfo,
pageinfo: data.pageinfo,
},
}))
}
const { key, group, questinfo, pageinfo } = Astro.props
let baseurl_return = "teslafest"
if (key.includes("/")) {
baseurl_return = baseurl_return + "/" + key.split("/", 1)[0]
}
---
{
!group && (
<TaShowcaseLayout
collection="teslafest"
collectionKey={key}
baseurl={baseurl_return}
/>
)
}
{
group && (
<Layout
title={`${pageinfo!.title} - Teslafest - FGO TA`}
currentpage="teslafest"
descriptionOverride={pageinfo!.shortdescription}
>
<SmallTitle
maintext={pageinfo!.title}
subtext={pageinfo!.shortdescription}
fadeout={true}
baseurl="teslafest"
returnbutton={true}
/>
<DatabaseSection title="" titlehidden={true}>
{questinfo!.map((quest) => (
<QuestListing
{...{ ...quest.info, slug: quest.slug }}
baseurl="teslafest"
/>
))}
</DatabaseSection>
</Layout>
)
}

View file

@ -0,0 +1,13 @@
---
import { getCollection } from 'astro:content';
import TaShowcaseLayout from '../../layouts/taShowcaseLayout.astro'
export async function getStaticPaths() {
const fulldata = (await getCollection('teslafest')).map((data) => data.id)
return fulldata.map((slug) => ({ params: { slug } }))
}
const { slug } = Astro.params
---
<TaShowcaseLayout collection="teslafest" collectionKey={slug} baseurl="teslafest" />

View file

@ -1,26 +1,23 @@
--- ---
import { getCollection } from 'astro:content' import { getCollection } from 'astro:content';
import Layout from '../../layouts/Layout.astro' import Layout from '../../layouts/Layout.astro'
import QuestListing from '../../components/listings/questListingLine.astro' import QuestListing from '../../components/listings/questListingCard.astro'
import DatabaseSection from '../../layouts/databaseSection.astro' import DatabaseSection from '../../layouts/databaseSection.astro'
import SmallTitle from '../../components/smallTitle.astro' import SmallTitle from '../../components/smallTitle.astro';
const description = const description = 'One of the most anticipated events of 2024 - Teslafest. Were the two weeks of time enough for all those quests, even with a parallel lottery?'
'One of the most anticipated events of 2024 - Teslafest. Were the two weeks of time enough for all those quests, even with a parallel lottery?'
const fulldata = await getCollection('teslafest') const fulldata = await getCollection('teslafest')
const groups = await getCollection('teslafestgroups')
let combined = fulldata fulldata.sort(
for (const group of groups) { (a, b) => b.data.info.releaseDate.valueOf() - a.data.info.releaseDate.valueOf() || b.data.info.releaseNumber - a.data.info.releaseNumber
combined = combined.filter((data) => !data.id.startsWith(group.id))
}
combined = combined.concat(groups as any)
combined.sort(
(a, b) =>
b.data.info.releaseDate.valueOf() - a.data.info.releaseDate.valueOf() ||
b.data.info.releaseNumber - a.data.info.releaseNumber
) )
const gc = fulldata.filter((value) => value.id.startsWith("gc-"))
const mc = fulldata.filter((value) => value.id.startsWith("mc-"))
const cq = fulldata.filter((value) => value.id.startsWith("cq-"))
const eq_2021 = fulldata.filter((value) => value.id.startsWith("eq-2021"))
const eq_2020 = fulldata.filter((value) => value.id.startsWith("eq-2020"))
--- ---
<Layout <Layout
@ -28,11 +25,21 @@ combined.sort(
currentpage="teslafest" currentpage="teslafest"
descriptionOverride={description} descriptionOverride={description}
> >
<SmallTitle maintext="TESLA­FEST" subtext={description} fadeout={true} /> <SmallTitle maintext='TESLA&shy;FEST' subtext='' fadeout={true}/>
<DatabaseSection title="NA Runs" titlehidden={true} displayLine={true}> <DatabaseSection title="Challenge Quest">
{ {cq.map((quest) => <QuestListing { ...{...quest.data.info, slug: quest.id} } baseurl="teslafest" />)}
combined.map((quest) => { return (<QuestListing {...{ ...quest.data.info, slug: quest.id }} baseurl="teslafest" />)}) </DatabaseSection>
} <DatabaseSection title="Giga Coil">
{gc.map((quest) => <QuestListing { ...{...quest.data.info, slug: quest.id} } baseurl="teslafest" />)}
</DatabaseSection>
<DatabaseSection title="Mega Coil">
{mc.map((quest) => <QuestListing { ...{...quest.data.info, slug: quest.id} } baseurl="teslafest" />)}
</DatabaseSection>
<DatabaseSection title="Exhibition Quests: 2020 Revival">
{eq_2020.map((quest) => <QuestListing { ...{...quest.data.info, slug: quest.id} } baseurl="teslafest" />)}
</DatabaseSection>
<DatabaseSection title="Exhibition Quests: 2021 Revival">
{eq_2021.map((quest) => <QuestListing { ...{...quest.data.info, slug: quest.id} } baseurl="teslafest" />)}
</DatabaseSection> </DatabaseSection>
</Layout> </Layout>

View file

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 123 KiB

View file

@ -1,32 +1,10 @@
export default { export default {
lighthouseOptions: {
throttlingMethod: "devtools",
throttling: {
cpuSlowdownMultiplier: 4,
requestLatencyMs: 150,
downloadThroughputKbps: 1638.4,
uploadThroughputKbps: 1638.4,
},
screenEmulation: {
width: 412,
height: 823,
deviceScaleFactor: 1.75,
}
},
puppeteerOptions: { puppeteerOptions: {
args: [ args: ["--no-sandbox", "--disable-setuid-sandbox"],
"--no-sandbox",
"--disable-setuid-sandbox"
],
}, },
ci: { ci: {
budget: 50, budget: 50,
buildStatic: true, buildStatic: true
},
scanner: {
sitemap: true,
dynamicSampling: false,
samples: 3,
}, },
outputPath: "unlighthouse-reports", outputPath: "unlighthouse-reports",
} }