11 Commits

Author SHA1 Message Date
Julien Valverdé 32283c117a Merge branch 'master' into next
Lint / lint (push) Failing after 12s
2026-05-17 19:31:50 +02:00
Thilawyn d5191d6838 Pazisme Mod loading screen (#85)
Build / build (push) Successful in 58s
Lint / lint (push) Failing after 13s
Co-authored-by: Julien Valverdé <julien.valverde@mailo.com>
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Reviewed-on: #85
2026-05-17 19:31:28 +02:00
Julien Valverdé f802998a90 Fix
Lint / lint (push) Failing after 12s
Build / build (pull_request) Successful in 30s
2026-05-17 19:29:46 +02:00
Julien Valverdé 2a6f14e3d3 Disable Biome check from build
Lint / lint (push) Failing after 12s
Build / build (pull_request) Failing after 27s
2026-05-17 19:26:31 +02:00
Julien Valverdé 68a3feab30 Fix dependencies
Lint / lint (push) Failing after 12s
Build / build (pull_request) Failing after 32s
2026-05-17 19:23:58 +02:00
Julien Valverdé 8db3214f61 Fix
Lint / lint (push) Failing after 7s
2026-05-17 19:22:34 +02:00
Julien Valverdé acd91e466d Work
Lint / lint (push) Failing after 7s
2026-05-17 19:20:00 +02:00
Julien Valverdé 3608123388 Work
Lint / lint (push) Failing after 7s
2026-05-17 19:06:43 +02:00
Julien Valverdé fba9b847af Work
Lint / lint (push) Failing after 7s
2026-05-17 19:01:00 +02:00
Julien Valverdé 5b706de173 Work
Lint / lint (push) Failing after 7s
2026-05-17 18:53:50 +02:00
Julien Valverdé ecb985c042 Work
Lint / lint (push) Failing after 38s
2026-05-17 18:30:21 +02:00
15 changed files with 486 additions and 534 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ WORKDIR /app
COPY ./ ./ COPY ./ ./
RUN bun install --frozen-lockfile && \ RUN bun install --frozen-lockfile && \
bun lint:tsc && \ bun lint:tsc && \
bun lint:biome && \ # bun lint:biome && \
bun run build && \ bun run build && \
bun clean:cache && \ bun clean:cache && \
bun clean:modules && \ bun clean:modules && \
+326 -488
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+34 -34
View File
@@ -9,24 +9,24 @@
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
import { Route as rootRouteImport } from './routes/__root' import { Route as rootRouteImport } from './routes/__root'
import { Route as PazismemodRouteImport } from './routes/pazismemod'
import { Route as MainRouteImport } from './routes/_main' import { Route as MainRouteImport } from './routes/_main'
import { Route as PazismemodIndexRouteImport } from './routes/pazismemod.index' import { Route as PazismemodRouteRouteImport } from './routes/pazismemod/route'
import { Route as PazismemodIndexRouteImport } from './routes/pazismemod/index'
import { Route as MainIndexRouteImport } from './routes/_main.index' import { Route as MainIndexRouteImport } from './routes/_main.index'
const PazismemodRoute = PazismemodRouteImport.update({
id: '/pazismemod',
path: '/pazismemod',
getParentRoute: () => rootRouteImport,
} as any)
const MainRoute = MainRouteImport.update({ const MainRoute = MainRouteImport.update({
id: '/_main', id: '/_main',
getParentRoute: () => rootRouteImport, getParentRoute: () => rootRouteImport,
} as any) } as any)
const PazismemodRouteRoute = PazismemodRouteRouteImport.update({
id: '/pazismemod',
path: '/pazismemod',
getParentRoute: () => rootRouteImport,
} as any)
const PazismemodIndexRoute = PazismemodIndexRouteImport.update({ const PazismemodIndexRoute = PazismemodIndexRouteImport.update({
id: '/', id: '/',
path: '/', path: '/',
getParentRoute: () => PazismemodRoute, getParentRoute: () => PazismemodRouteRoute,
} as any) } as any)
const MainIndexRoute = MainIndexRouteImport.update({ const MainIndexRoute = MainIndexRouteImport.update({
id: '/', id: '/',
@@ -35,7 +35,7 @@ const MainIndexRoute = MainIndexRouteImport.update({
} as any) } as any)
export interface FileRoutesByFullPath { export interface FileRoutesByFullPath {
'/pazismemod': typeof PazismemodRouteWithChildren '/pazismemod': typeof PazismemodRouteRouteWithChildren
'/': typeof MainIndexRoute '/': typeof MainIndexRoute
'/pazismemod/': typeof PazismemodIndexRoute '/pazismemod/': typeof PazismemodIndexRoute
} }
@@ -45,8 +45,8 @@ export interface FileRoutesByTo {
} }
export interface FileRoutesById { export interface FileRoutesById {
__root__: typeof rootRouteImport __root__: typeof rootRouteImport
'/pazismemod': typeof PazismemodRouteRouteWithChildren
'/_main': typeof MainRouteWithChildren '/_main': typeof MainRouteWithChildren
'/pazismemod': typeof PazismemodRouteWithChildren
'/_main/': typeof MainIndexRoute '/_main/': typeof MainIndexRoute
'/pazismemod/': typeof PazismemodIndexRoute '/pazismemod/': typeof PazismemodIndexRoute
} }
@@ -55,28 +55,28 @@ export interface FileRouteTypes {
fullPaths: '/pazismemod' | '/' | '/pazismemod/' fullPaths: '/pazismemod' | '/' | '/pazismemod/'
fileRoutesByTo: FileRoutesByTo fileRoutesByTo: FileRoutesByTo
to: '/' | '/pazismemod' to: '/' | '/pazismemod'
id: '__root__' | '/_main' | '/pazismemod' | '/_main/' | '/pazismemod/' id: '__root__' | '/pazismemod' | '/_main' | '/_main/' | '/pazismemod/'
fileRoutesById: FileRoutesById fileRoutesById: FileRoutesById
} }
export interface RootRouteChildren { export interface RootRouteChildren {
PazismemodRouteRoute: typeof PazismemodRouteRouteWithChildren
MainRoute: typeof MainRouteWithChildren MainRoute: typeof MainRouteWithChildren
PazismemodRoute: typeof PazismemodRouteWithChildren
} }
declare module '@tanstack/react-router' { declare module '@tanstack/react-router' {
interface FileRoutesByPath { interface FileRoutesByPath {
'/_main': {
id: '/_main'
path: ''
fullPath: '/'
preLoaderRoute: typeof MainRouteImport
parentRoute: typeof rootRouteImport
}
'/pazismemod': { '/pazismemod': {
id: '/pazismemod' id: '/pazismemod'
path: '/pazismemod' path: '/pazismemod'
fullPath: '/pazismemod' fullPath: '/pazismemod'
preLoaderRoute: typeof PazismemodRouteImport preLoaderRoute: typeof PazismemodRouteRouteImport
parentRoute: typeof rootRouteImport
}
'/_main': {
id: '/_main'
path: ''
fullPath: ''
preLoaderRoute: typeof MainRouteImport
parentRoute: typeof rootRouteImport parentRoute: typeof rootRouteImport
} }
'/pazismemod/': { '/pazismemod/': {
@@ -84,7 +84,7 @@ declare module '@tanstack/react-router' {
path: '/' path: '/'
fullPath: '/pazismemod/' fullPath: '/pazismemod/'
preLoaderRoute: typeof PazismemodIndexRouteImport preLoaderRoute: typeof PazismemodIndexRouteImport
parentRoute: typeof PazismemodRoute parentRoute: typeof PazismemodRouteRoute
} }
'/_main/': { '/_main/': {
id: '/_main/' id: '/_main/'
@@ -96,6 +96,18 @@ declare module '@tanstack/react-router' {
} }
} }
interface PazismemodRouteRouteChildren {
PazismemodIndexRoute: typeof PazismemodIndexRoute
}
const PazismemodRouteRouteChildren: PazismemodRouteRouteChildren = {
PazismemodIndexRoute: PazismemodIndexRoute,
}
const PazismemodRouteRouteWithChildren = PazismemodRouteRoute._addFileChildren(
PazismemodRouteRouteChildren,
)
interface MainRouteChildren { interface MainRouteChildren {
MainIndexRoute: typeof MainIndexRoute MainIndexRoute: typeof MainIndexRoute
} }
@@ -106,21 +118,9 @@ const MainRouteChildren: MainRouteChildren = {
const MainRouteWithChildren = MainRoute._addFileChildren(MainRouteChildren) const MainRouteWithChildren = MainRoute._addFileChildren(MainRouteChildren)
interface PazismemodRouteChildren {
PazismemodIndexRoute: typeof PazismemodIndexRoute
}
const PazismemodRouteChildren: PazismemodRouteChildren = {
PazismemodIndexRoute: PazismemodIndexRoute,
}
const PazismemodRouteWithChildren = PazismemodRoute._addFileChildren(
PazismemodRouteChildren,
)
const rootRouteChildren: RootRouteChildren = { const rootRouteChildren: RootRouteChildren = {
PazismemodRouteRoute: PazismemodRouteRouteWithChildren,
MainRoute: MainRouteWithChildren, MainRoute: MainRouteWithChildren,
PazismemodRoute: PazismemodRouteWithChildren,
} }
export const routeTree = rootRouteImport export const routeTree = rootRouteImport
._addFileChildren(rootRouteChildren) ._addFileChildren(rootRouteChildren)
+14 -1
View File
@@ -9,9 +9,22 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/comp
export const Route = createFileRoute("/_main")({ export const Route = createFileRoute("/_main")({
component: SharedLayout, component: WIPLayout,
}) })
function WIPLayout() {
return (
<div className="mx-auto w-[750px] max-w-full px-5 pt-28 pb-10 text-foreground">
<Card>
<CardContent>
<Outlet />
</CardContent>
</Card>
</div>
)
}
// @ts-ignore
function SharedLayout() { function SharedLayout() {
const { t, i18n } = useTranslation() const { t, i18n } = useTranslation()
@@ -1,10 +0,0 @@
import { createFileRoute } from "@tanstack/react-router"
export const Route = createFileRoute("/pazismemod/")({
component: RouteComponent,
})
function RouteComponent() {
return null
}
Binary file not shown.
@@ -0,0 +1,7 @@
@font-face {
font-family: "Coolvetica";
src: url("/public/fonts/Coolvetica Rg.otf") format("opentype");
font-style: normal;
font-weight: 400;
font-display: swap;
}
@@ -0,0 +1,104 @@
import { createFileRoute } from "@tanstack/react-router"
import { useEffect, useRef } from "react"
import "./index.css"
import screen1 from "./screen1.png"
import song from "./We Are Charlie Kirk.mp3"
export const Route = createFileRoute("/pazismemod/")({
component: RouteComponent,
})
const SONG_START_TIME = 46
function RouteComponent() {
const audioRef = useRef<HTMLAudioElement>(null)
useEffect(() => {
const audio = audioRef.current
if (!audio) {
return
}
const syncStartTime = () => {
if (Number.isFinite(audio.duration) && audio.duration > SONG_START_TIME) {
audio.currentTime = SONG_START_TIME
}
}
const loopFromOffset = async () => {
syncStartTime()
try {
await audio.play()
}
catch {
// Ignore autoplay failures. Some embedded browsers require user interaction.
}
}
const tryAutoplay = async () => {
syncStartTime()
try {
await audio.play()
}
catch {
// Ignore autoplay failures. Some embedded browsers require user interaction.
}
}
const gameDetails = (
_servername: string,
_serverurl: string,
_mapname: string,
_maxplayers: string,
_steamid: string,
_gamemode: string,
volume: number | string,
) => {
const parsedVolume = Number(volume)
if (Number.isFinite(parsedVolume)) {
audio.volume = Math.min(1, Math.max(0, parsedVolume))
}
}
audio.addEventListener("loadedmetadata", syncStartTime)
audio.addEventListener("ended", loopFromOffset)
void tryAutoplay()
;(window as Window & { GameDetails?: typeof gameDetails }).GameDetails = gameDetails
return () => {
audio.removeEventListener("loadedmetadata", syncStartTime)
audio.removeEventListener("ended", loopFromOffset)
if ((window as Window & { GameDetails?: typeof gameDetails }).GameDetails === gameDetails) {
delete (window as Window & { GameDetails?: typeof gameDetails }).GameDetails
}
}
}, [])
return (
<div className="relative h-screen w-screen overflow-hidden bg-black">
<audio ref={audioRef} src={song} preload="auto" hidden />
<img
src={screen1}
alt="Pazismemod screenshot"
className="h-full w-full object-contain"
/>
<h1
className="absolute bottom-12 left-6 leading-none text-white"
style={{
fontFamily: "\"Coolvetica\", sans-serif",
fontSize: "92px",
}}
>
pazisme mod
</h1>
</div>
)
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB