Compare commits

...

34 commits
0.1.16 ... main

Author SHA1 Message Date
Firq 123f600f6f
Fixed linting issues
All checks were successful
/ astro-check (push) Successful in 45s
2024-07-18 22:06:30 +02:00
Firq 2a208c60c8
Using latest for now
All checks were successful
/ astro-check (push) Successful in 21s
2024-07-18 22:04:51 +02:00
Firq 75d498852f
Switch to custom node-alpine image
Some checks failed
/ astro-check (push) Failing after 28s
2024-07-18 21:57:59 +02:00
Firq 96df246781
Fixed Workflow
Some checks failed
/ astro-check (push) Failing after 12m33s
2024-07-18 21:35:30 +02:00
Firq 89189da621
Workflow improvements
Some checks failed
/ astro-check (push) Failing after 43s
2024-07-18 21:29:12 +02:00
Firq 57cf29e71c
Navbar improvements
All checks were successful
/ build-site (push) Successful in 1m0s
/ checking (push) Successful in 15s
/ publish (push) Successful in 1m16s
2024-07-16 21:11:28 +02:00
Firq 034d769e7e
Switched to alpine containers
All checks were successful
/ checking (push) Successful in 56s
/ publish (push) Successful in 9s
/ build-site (push) Successful in 1m17s
2024-07-16 20:21:53 +02:00
Firq 5e4da25f8d
Fixed Docker File
All checks were successful
/ checking (push) Successful in 14s
/ publish (push) Successful in 6s
/ build-site (push) Successful in 2m23s
2024-07-16 19:46:53 +02:00
Firq 1975bbc8d2
Fixed darkreader issue
All checks were successful
/ checking (push) Successful in 11s
/ publish (push) Successful in 7s
/ build-site (push) Successful in 8m7s
2024-07-16 19:30:04 +02:00
Firq d67e426f15
Less shifting UI
All checks were successful
/ checking (push) Successful in 13s
/ publish (push) Successful in 7s
/ build-site (push) Successful in 1m59s
2024-07-16 18:43:22 +02:00
Firq 1f1bc5a7db
More Redesign 2
All checks were successful
/ build-site (push) Successful in 1m58s
/ checking (push) Successful in 20s
/ publish (push) Successful in 7s
2024-07-15 22:38:41 +02:00
Firq 5da1dde6a6
More Redesign
All checks were successful
/ checking (push) Successful in 14s
/ build-site (push) Successful in 1m46s
/ publish (push) Successful in 7s
2024-07-15 17:53:42 +02:00
Firq 9e61582456
Coloring of stuff
All checks were successful
/ checking (push) Successful in 13s
/ build-site (push) Successful in 1m46s
/ publish (push) Successful in 7s
/ unlighthouse (push) Successful in 54s
/ deploy-unlighthouse-files (push) Successful in 9s
/ deploy-unlighthouse-site (push) Successful in 6s
2024-07-15 15:28:08 +02:00
Firq 9c2c7f7818
Redesign Part 2
All checks were successful
/ checking (push) Successful in 14s
/ build-site (push) Successful in 2m12s
/ publish (push) Successful in 8s
2024-07-15 14:39:52 +02:00
Firq f1bb9b80ca
Redesign
All checks were successful
/ checking (push) Successful in 13s
/ build-site (push) Successful in 2m20s
/ publish (push) Successful in 1m4s
2024-07-14 21:15:16 +02:00
Firq 0b4bca36ed
Pinned Docker versions and preemptively fixed issues with ARIA
All checks were successful
/ checking (push) Successful in 13s
/ build-site (push) Successful in 2m22s
/ publish (push) Successful in 7s
/ deploy-unlighthouse-files (push) Successful in 6s
/ unlighthouse (push) Successful in 40s
/ deploy-unlighthouse-site (push) Successful in 6s
2024-06-20 22:26:56 +02:00
Firq 3ebbc2408b
Fixed issues reported by TokuHer0
All checks were successful
/ checking (push) Successful in 17s
/ build-site (push) Successful in 3m39s
/ release (push) Successful in 7s
2024-06-18 21:45:38 +02:00
Firq 4bd32b9840
Release 0.2.0 - Teslafest is here
All checks were successful
/ release (push) Successful in 6s
/ checking (push) Successful in 13s
/ publish (push) Successful in 6s
/ build-site (push) Successful in 2m6s
2024-06-15 19:25:25 +02:00
Firq 5ed62666ac
Bumped caniuse
All checks were successful
/ checking (push) Successful in 11s
/ unlighthouse (push) Successful in 57s
/ deploy-unlighthouse-files (push) Successful in 8s
/ deploy-unlighthouse-site (push) Successful in 5s
2024-06-14 00:01:49 +02:00
Firq e577cf3861
Liz egg and final preparations
All checks were successful
/ build-site (push) Successful in 1m37s
/ publish (push) Successful in 7s
/ checking (push) Successful in 11s
2024-06-14 00:00:23 +02:00
Firq 7ee1afa674
Fixed issues Zectry found
All checks were successful
/ checking (push) Successful in 15s
/ publish (push) Successful in 7s
/ build-site (push) Successful in 1m39s
2024-05-15 08:50:07 +02:00
Firq c4d980f0cd
Production Release
All checks were successful
/ checking (push) Successful in 11s
2024-05-15 00:11:55 +02:00
Firq b064bda7d8
Disabled dynamic smapling for Unlighthouse
All checks were successful
/ checking (push) Successful in 11s
/ deploy-unlighthouse-files (push) Successful in 7s
/ unlighthouse (push) Successful in 55s
/ deploy-unlighthouse-site (push) Successful in 5s
2024-05-15 00:08:02 +02:00
Firq d17e6ff986
Added all missing teslafest runs
All checks were successful
/ checking (push) Successful in 12s
/ build-site (push) Successful in 2m11s
/ publish (push) Successful in 6s
/ unlighthouse (push) Successful in 36s
/ deploy-unlighthouse-files (push) Successful in 7s
/ deploy-unlighthouse-site (push) Successful in 5s
2024-05-15 00:00:08 +02:00
Firq c68294be55
Added Revival 2020 and fixed some issues
All checks were successful
/ checking (push) Successful in 12s
/ publish (push) Successful in 7s
/ build-site (push) Successful in 1m39s
/ unlighthouse (push) Successful in 36s
/ deploy-unlighthouse-site (push) Successful in 5s
/ deploy-unlighthouse-files (push) Successful in 7s
2024-05-12 23:52:44 +02:00
Firq 23fbe1b733
Savestate Revival 2020
All checks were successful
/ checking (push) Successful in 15s
2024-05-12 00:58:39 +02:00
Firq a16d06676d
Added Mega Coil
All checks were successful
/ checking (push) Successful in 12s
/ build-site (push) Successful in 1m38s
/ publish (push) Successful in 7s
2024-05-09 22:56:15 +02:00
Firq-ow cf384c018b
Updated Version in package lock
All checks were successful
/ checking (push) Successful in 13s
2024-05-06 09:00:07 +02:00
Firq 8fc270833b
Working on Mega Coil
All checks were successful
/ checking (push) Successful in 11s
/ publish (push) Successful in 7s
/ build-site (push) Successful in 1m56s
2024-05-01 23:49:59 +02:00
Firq 827353f729
First Batch for Teslafest
All checks were successful
/ checking (push) Successful in 12s
/ build-site (push) Successful in 2m0s
/ publish (push) Successful in 6s
/ unlighthouse (push) Successful in 37s
/ deploy-unlighthouse-files (push) Successful in 8s
/ deploy-unlighthouse-site (push) Successful in 5s
2024-05-01 01:37:29 +02:00
Firq 45fd44e192
Added all fuuma runs 2024-04-29 15:58:52 +02:00
Firq 2af757d5bd
Started work on Teslafest Section
All checks were successful
/ checking (push) Successful in 14s
2024-04-28 14:45:59 +02:00
Firq 0afe61add2
Comments
All checks were successful
/ checking (push) Successful in 29s
2024-01-25 21:23:21 +01:00
Firq 2db950a59d
Split Schema
All checks were successful
/ checking (push) Successful in 12s
2024-01-25 21:21:45 +01:00
139 changed files with 6634 additions and 2427 deletions

View file

@ -1,41 +1,57 @@
on:
push:
tags:
- '[0-9]+\.[0-9]+\.[0-9]+pre[0-9]+'
- '[0-9]+\.[0-9]+\.[0-9]+-pre\.[0-9]+'
jobs:
checking:
check-tag:
runs-on: docker
container: node:lts
steps:
- name: Checking Out Repository Code
uses: https://code.forgejo.org/actions/checkout@v3
- name: Check if Version in package.json matches Tag
run: |
VERSION=$(cat package.json | grep "version" | sed 's/.*://' | tr -d , | tr -d \" | tr -d " " )
if test $VERSION != "${{ github.ref_name }}"; then
echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'";
exit 1
else
echo "Version is: '$VERSION'";
fi
checking:
needs: [ check-tag ]
runs-on: docker
container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:latest
steps:
- name: Checkout source code
uses: https://code.forgejo.org/actions/checkout@v3
- name: Install packages
run: npm install
run: npm i
- name: Run astro check (linting + static analysis)
run: npm run astro check
build-site:
needs: [checking]
needs: [ checking ]
if: success()
runs-on: dind
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
- name: Log into Docker Package Registry
uses: docker/login-action@v3
with:
registry: forgejo.neshweb.net
username: ${{ secrets.FORGEJO_USERNAME }}
password: ${{ secrets.FORGEJO_TOKEN }}
- name: Push to Package Registry
- name: Build and push to Docker Package Registry
uses: docker/build-push-action@v5
with:
push: true
tags: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/fgo-ta-com-website:preview
publish:
needs: [build-site]
create-release:
needs: [ build-site ]
if: success()
runs-on: docker
steps:

View file

@ -4,38 +4,54 @@ on:
- '[0-9]+\.[0-9]+\.[0-9]+'
jobs:
checking:
check-tag:
runs-on: docker
container: node:lts
steps:
- name: Checking Out Repository Code
uses: https://code.forgejo.org/actions/checkout@v3
- name: Check if Version in package.json matches Tag
run: |
VERSION=$(cat package.json | grep "version" | sed 's/.*://' | tr -d , | tr -d \" | tr -d " " )
if test $VERSION != "${{ github.ref_name }}"; then
echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'";
exit 1
else
echo "Version is: '$VERSION'";
fi
checking:
needs: [ check-tag ]
runs-on: docker
container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:latest
steps:
- name: Checkout source code
uses: https://code.forgejo.org/actions/checkout@v3
- name: Install packages
run: npm install
run: npm i
- name: Run astro check (linting + static analysis)
run: npm run astro check
build-site:
needs: [checking]
needs: [ checking ]
if: success()
runs-on: dind
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
- name: Log into Docker Package Registry
uses: docker/login-action@v3
with:
registry: forgejo.neshweb.net
username: ${{ secrets.FORGEJO_USERNAME }}
password: ${{ secrets.FORGEJO_TOKEN }}
- name: Push to Package Registry
- name: Build and push to Docker Package Registry
uses: docker/build-push-action@v5
with:
push: true
tags: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/fgo-ta-com-website:latest
release:
needs: [build-site]
create-release:
needs: [ build-site ]
if: success()
runs-on: docker
steps:

View file

@ -4,13 +4,13 @@ on:
- '**'
jobs:
checking:
astro-check:
runs-on: docker
container: node:lts
container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:latest
steps:
- name: Checkout source code
uses: https://code.forgejo.org/actions/checkout@v3
- name: Install packages
run: npm install
run: npm i
- name: Run astro check (linting + static analysis)
run: npm run astro check

View file

@ -1,18 +1,17 @@
on:
push:
tags:
- '[0-9]+\.[0-9]+\.[0-9]+unlighthouse[0-9]+'
- '[0-9]+\.[0-9]+\.[0-9]+ulh[0-9]+'
- '[0-9]+\.[0-9]+\.[0-9]+-ulh\.[0-9]+'
jobs:
unlighthouse:
runs-on: docker
container: forgejo.neshweb.net/ci-docker-images/unlighthouse:latest
container: forgejo.neshweb.net/ci-docker-images/unlighthouse:0.2.1
steps:
- name: Checkout repository
uses: https://code.forgejo.org/actions/checkout@v3
- name: Run unlighthouse
run: unlighthouse-ci --site "https://preview.fgo-ta.com/"
run: unlighthouse-ci --site "https://preview.fgo-ta.com/" --disable-dynamic-sampling
- name: Prepare artifacts
run: cp serve.json unlighthouse-reports
- name: Upload reports

3
.gitignore vendored
View file

@ -19,3 +19,6 @@ pnpm-debug.log*
# macOS-specific files
.DS_Store
# Temporary files
.temp/

View file

@ -1,15 +1,16 @@
FROM node:21.5 AS build
FROM node:22-alpine AS build
WORKDIR /site
COPY . .
RUN npm i
RUN npm run astro telemetry disable
RUN npm run build
FROM forgejo.neshweb.net/ci-docker-images/website-serve:latest AS runtime
FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime
COPY --from=build /site/dist /public
COPY --from=build /site/serve.json /public/serve.json
ENV PORT 8081
ENV PORT=8081
EXPOSE 8081
CMD [ "serve", "public/", "-p", "8081" ]
CMD serve public/ -p ${PORT}

4304
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",
"type": "module",
"version": "0.1.16",
"version": "0.2.2-pre.10",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
@ -10,15 +10,16 @@
"astro": "astro"
},
"dependencies": {
"@astro-community/astro-embed-youtube": "^0.4.3",
"@astrojs/check": "^0.3.4",
"@astrojs/sitemap": "^3.0.3",
"astro": "^4.0.7",
"astro-meta-tags": "^0.1.3",
"autoprefixer": "^10.4.16",
"iconoir": "^7.3.0",
"postcss-preset-env": "^9.3.0",
"typescript": "^5.3.3"
"@astro-community/astro-embed-youtube": "^0.5.2",
"@astrojs/check": "^0.8.1",
"@astrojs/sitemap": "^3.1.6",
"@fontsource/work-sans": "^5.0.18",
"astro": "^4.11.5",
"astro-meta-tags": "^0.3.0",
"autoprefixer": "^10.4.19",
"iconoir": "^7.7.0",
"postcss-preset-env": "^9.6.0",
"typescript": "^5.5.3"
},
"browserslist": [
"last 2 versions",

BIN
src/assets/lizsad.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View file

@ -0,0 +1,32 @@
---
export interface Props {
text: string
}
const { text } = Astro.props
---
<div>
{text}
</div>
<style>
div {
display: flex;
width: 100%;
max-height: auto;
background-color: var(--c-duskgray);
text-align: center;
justify-content: center;
color: white;
font-size: 2.75rem;
letter-spacing: 0.075em;
padding: 2rem 0rem;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-weight: bolder;
}
@media (min-width: 900px) {
div {
font-size: 4.5rem;
}
}
</style>

View file

@ -1,43 +1,47 @@
---
import packagejson from '../../package.json'
export interface Props {
fadeout?: boolean
}
const { fadeout } = Astro.props
const display = fadeout ? "": "display: none"
const version = packagejson.version
const release = `https://forgejo.neshweb.net/Firq/fgo-ta-com-website/releases/tag/${version}`
---
<div>
<span>
This site is a WIP project by Firq.
<br />
In the future, it will be used to catalogue information around FGO TA and the
game in general.
This site is a project by Firq.
<br />
<a href="https://firq.dev" target="_blank" rel="noopener noreferrer"
>Feel free to check out my own site.</a
>Feel free to check out my personal site.</a
>
<br />
<span class="version"
>( Website version: <a
>Website version: <a
href={release}
target="_blank"
rel="noopener noreferrer">{version}</a
> )</span
></span
>
</span>
<slot />
<div class="fade" style={display}></div>
</div>
<style>
div {
display: flex;
width: 100%;
max-height: auto;
background-color: var(--c-duskgray);
flex-wrap: nowrap;
flex-flow: column;
background-color: var(--c-darkergray);
text-align: center;
align-items: center;
justify-content: center;
color: white;
font-size: 1.5em;
padding: 2rem 0rem;
padding: 2rem 0rem 0rem 0rem;
}
a {
text-align: center;
@ -45,7 +49,14 @@ const release = `https://forgejo.neshweb.net/Firq/fgo-ta-com-website/releases/ta
color: var(--c-darkpurple);
}
.fade {
margin-top: 3rem;
background: linear-gradient(to bottom, transparent, var(--c-lightgray));
height: 2.5rem;
width: 100%;
}
.version {
font-size: 0.7em;
font-size: 0.65em;
}
</style>

View file

@ -0,0 +1,121 @@
---
export interface Props {
title: string
releaseDate: Date
shortdescription: string
link: string,
hlcolor: string,
}
const options_date: Intl.DateTimeFormatOptions = {
year: 'numeric',
month: 'long',
day: '2-digit',
}
const { releaseDate, title, link, hlcolor } = Astro.props
const render_date = releaseDate.toLocaleDateString('en-GB', options_date)
---
<a href={link} target="_blank" rel="noopener noreferrer">
<div class="circle"></div>
<article>
<h2>{title}</h2>
<h3>{render_date}</h3>
<!-- <p>{shortdescription}</p> -->
</article>
</a>
<style define:vars={{ hlcolor }}>
.circle {
display: none;
}
a {
align-items: center;
justify-content: center;
display: flex;
text-decoration: none;
height: fit-content;
margin: 0px 0.5rem;
width: 100%;
}
p {
color: white;
text-align: left;
font-size: 1em;
margin: 0px 0.5em;
}
article > h2 {
margin: 0px 0.5rem;
color: var(--hlcolor);
font-size: 1.2rem;
line-height: normal;
text-decoration: none;
}
article > h3 {
margin: 0px 0.5rem;
color: white;
font-size: 1rem;
line-height: normal;
text-decoration: none;
}
article {
display: flex;
flex: 1;
flex-wrap: wrap;
flex-direction: column;
align-items: center;
align-content: center;
justify-content: center;
background: var(--c-duskgray); /* linear-gradient(175deg, var(--c-duskgray), var(--c-duskgray), var(--c-duskgray), var(--hlcolor)); */
padding: 10px;
text-align: center;
transition: transform var(--speed) var(--ease);
min-height: 100%;
border-radius: 1.25rem;
border-style: solid;
border-width: 2px;
border-color: var(--c-darkergray);
}
a:hover > article {
transform: scaleY(102.5%) scaleX(101%);
transition: transform var(--speed) var(--ease);
}
@media (min-width: 900px) {
.circle {
margin: 1rem 0.5rem 1rem 0.5rem;
position: relative;
display: flex;
visibility: visible;
height: 1rem;
width: 1rem;
background-color: var(--c-darkpurple);
border-style: solid;
border-width: 0.25rem;
border-color: var(--c-lightgray);
border-radius: 40%;
transition: transform var(--speed) var(--ease);
}
a:hover > .circle {
height: 1.25rem;
width: 1.25rem;
translate: -0.125rem;
margin-right: 4px;
}
a:hover article {
border-color: var(--hlcolor);
transform: none;
}
article {
align-items: flex-start;
align-content: flex-start;
margin-left: 0.5rem;
}
}
</style>

View file

@ -0,0 +1,149 @@
---
export interface Props {
baseurl: string
slug: string
title: string
releaseDate: Date
shortdescription: string
}
const options_date: Intl.DateTimeFormatOptions = {
year: 'numeric',
month: 'long',
day: '2-digit',
}
const { shortdescription, releaseDate, slug, title, baseurl } = Astro.props
const url = `/${baseurl}/${slug}`
const render_date = releaseDate.toLocaleDateString(
'en-GB',
options_date
)
---
<a href={url} rel="noopener noreferrer">
<div class="circle"></div>
<article>
<h2>{title}</h2>
<h3>{render_date}</h3>
<p>{shortdescription}</p>
</article>
</a>
<style>
.circle {
display: none;
}
a {
align-items: center;
justify-content: center;
display: flex;
text-decoration: none;
height: auto;
margin: 0.5rem;
width: 100%;
}
p {
color: white;
text-align: left;
font-size: 1.1em;
margin: 0.5em;
}
article > h2 {
margin: 0.3rem 0.5rem;
color: var(--c-darkpurple);
font-size: 1.5rem;
line-height: normal;
text-decoration: none;
}
article > h3 {