Add matter
Some checks failed
On Push Deploy / deploy (push) Has been cancelled

This commit is contained in:
Johnny322
2026-02-08 16:05:10 +01:00
parent a4f4e1728a
commit 54cf7d870c
2 changed files with 39 additions and 17 deletions

View File

@@ -25,15 +25,15 @@ type GameMap = Record<
} }
> >
const songFiles = import.meta.globEager('./Data/*/*/Songs/*.mp3') as Record< const songFiles = {
string, ...import.meta.globEager('./Data/*/*/Songs/*.mp3'),
{ default: string } ...import.meta.globEager('./Data/*/*/songs/*.mp3')
> } as Record<string, { default: string }>
const answerFiles = import.meta.globEager('./Data/*/*/Answers/*.mp3') as Record< const answerFiles = {
string, ...import.meta.globEager('./Data/*/*/Answers/*.mp3'),
{ default: string } ...import.meta.globEager('./Data/*/*/answers/*.mp3')
> } as Record<string, { default: string }>
const getParts = (path: string) => { const getParts = (path: string) => {
const normalized = path.replace(/\\/g, '/') const normalized = path.replace(/\\/g, '/')
@@ -67,7 +67,9 @@ const addEntry = (target: GameMap, info: ReturnType<typeof getParts>, url: strin
clues: [] clues: []
} }
} }
const bucket = type === 'Songs' ? 'songs' : 'answers' const normalizedType = type?.toLowerCase()
if (normalizedType !== 'songs' && normalizedType !== 'answers') return
const bucket = normalizedType === 'songs' ? 'songs' : 'answers'
target[game].categories[category][bucket][number] = url target[game].categories[category][bucket][number] = url
} }

View File

@@ -445,21 +445,41 @@ audio.hidden-audio {
.pulse-rays { .pulse-rays {
position: absolute; position: absolute;
inset: -10%; inset: -5%;
border-radius: 50%; border-radius: 50%;
background: background:
radial-gradient(circle at 50% 50%, hsla(var(--ray-hue, 200), 95%, 72%, 0.45) 0%, transparent 45%), radial-gradient(circle at 50% 50%, hsla(var(--ray-hue, 200), 95%, 72%, 0.35) 0%, transparent 40%),
radial-gradient(circle at 50% 50%, hsla(var(--ray-hue, 200), 90%, 68%, 0.35) 0%, transparent 60%), radial-gradient(circle at 50% 50%, hsla(var(--ray-hue, 200), 90%, 68%, 0.25) 0%, transparent 55%),
radial-gradient(circle at 50% 50%, hsla(var(--ray-hue, 200), 85%, 65%, 0.25) 0%, transparent 72%), radial-gradient(circle at 50% 50%, hsla(var(--ray-hue, 200), 85%, 65%, 0.2) 0%, transparent 68%),
radial-gradient(circle at 50% 50%, hsla(var(--ray-hue, 200), 80%, 60%, 0.2) 0%, transparent 85%); radial-gradient(circle at 50% 50%, hsla(var(--ray-hue, 200), 80%, 60%, 0.16) 0%, transparent 80%),
opacity: calc(0.15 + var(--ray, 0) * 0.7); radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.08) 0%, transparent 30%);
filter: blur(calc(10px - var(--ray, 0) * 3px)); opacity: calc(0.18 + var(--ray, 0) * 0.65);
transform: scale(calc(0.95 + var(--ray, 0) * 0.7)); filter: blur(calc(10px - var(--ray, 0) * 4px));
transform: scale(calc(0.85 + var(--ray, 0) * 0.9));
transition: opacity 0.12s ease-out, transform 0.12s ease-out, filter 0.12s ease-out; transition: opacity 0.12s ease-out, transform 0.12s ease-out, filter 0.12s ease-out;
mix-blend-mode: screen; mix-blend-mode: screen;
z-index: 1; z-index: 1;
} }
.pulse-rays::before,
.pulse-rays::after {
content: '';
position: absolute;
inset: 8%;
border-radius: 50%;
border: 2px solid hsla(var(--ray-hue, 200), 90%, 70%, 0.25);
opacity: calc(0.1 + var(--ray, 0) * 0.6);
transform: scale(calc(0.7 + var(--ray, 0) * 0.9));
filter: blur(calc(2px + var(--ray, 0) * 2px));
}
.pulse-rays::after {
inset: 20%;
border-width: 3px;
opacity: calc(0.08 + var(--ray, 0) * 0.55);
transform: scale(calc(0.8 + var(--ray, 0) * 1.1));
}
@keyframes pulseGlow { @keyframes pulseGlow {
0%, 0%,