diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..6330f4c --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..48b6ad8 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 0000000..077d5ed --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/packages/backend/src/http/routes/log.ts b/packages/backend/src/http/routes/log.ts index d7f6209..2e05852 100644 --- a/packages/backend/src/http/routes/log.ts +++ b/packages/backend/src/http/routes/log.ts @@ -64,7 +64,7 @@ export class LogRoute if (process.env.IMGPROXY_KEY) { - log.player.avatar = generateUrl(log.player.avatar); + log.player.avatar = generateUrl(log.player.avatar, "rs:auto:256:256:1/f:png"); } res.status(200).json(new SuccessResponseBuilder().setCode(200).setData(log.toJSON())); diff --git a/packages/backend/src/http/routes/profile.ts b/packages/backend/src/http/routes/profile.ts index 662294e..6d9e922 100644 --- a/packages/backend/src/http/routes/profile.ts +++ b/packages/backend/src/http/routes/profile.ts @@ -114,7 +114,7 @@ export class ProfilesRoute if (process.env.IMGPROXY_KEY) { - player.avatar = generateUrl(player.avatar); + player.avatar = generateUrl(player.avatar, "rs:auto:256:256:1/f:png"); } res.json( diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts index 3274aba..819a9dd 100644 --- a/packages/backend/src/index.ts +++ b/packages/backend/src/index.ts @@ -24,6 +24,7 @@ import { TrainsModule } from "./modules/trains.js"; import { Server, Station, Train } from "@simrail/types"; import dayjs from "dayjs"; import { TMProfile } from "./mongo/profile.js"; +import { GitUtil } from "./util/git.js"; ;(async () => { @@ -47,6 +48,7 @@ import { TMProfile } from "./mongo/profile.js"; } ApiModule.load(); // TODO: use fastify + GitUtil.getData(); if (process.env.NODE_ENV === "development") { diff --git a/packages/backend/src/util/git.ts b/packages/backend/src/util/git.ts index 0491a90..23464d9 100644 --- a/packages/backend/src/util/git.ts +++ b/packages/backend/src/util/git.ts @@ -18,9 +18,9 @@ import { execSync } from "child_process"; export class GitUtil { - private static cache: { lastUpdated: number, version?: string, commit?: string } = undefined!; + private static cache: { version?: string, commit?: string } = undefined!; - public static getLatestVersion() + private static getLatestVersion() { try { @@ -32,7 +32,7 @@ export class GitUtil } } - public static getLatestCommit() + private static getLatestCommit() { try { @@ -55,7 +55,6 @@ export class GitUtil const data = { version: this.getLatestVersion(), commit: this.getLatestCommit(), - lastUpdated: Date.now(), }; this.cache = data; diff --git a/packages/backend/src/util/imgproxy.ts b/packages/backend/src/util/imgproxy.ts index 42ffa91..6059fd0 100644 --- a/packages/backend/src/util/imgproxy.ts +++ b/packages/backend/src/util/imgproxy.ts @@ -26,7 +26,7 @@ export const imgProxySign = (target: string) => return hmac.digest("base64url"); }; -export const generateUrl = (url: string, options: string = "preset:simrailpro") => +export const generateUrl = (url: string, options: string = "rs:auto:128:128:1/f:png") => { if (url.includes('https://imgproxy.alekswilc.dev/')) return url; diff --git a/packages/frontend/src/components/pages/log/StationLog.tsx b/packages/frontend/src/components/pages/log/StationLog.tsx index 1d74aff..0e06090 100644 --- a/packages/frontend/src/components/pages/log/StationLog.tsx +++ b/packages/frontend/src/components/pages/log/StationLog.tsx @@ -44,8 +44,8 @@ export const StationLog = ({ data }: { data: TLogStationData }) => className="overflow-hidden rounded-sm border border-stroke bg-white shadow-default dark:border-strokedark dark:bg-boxdark">
-
+ className="mx-auto max-w-44 rounded-full"> +
Player diff --git a/packages/frontend/src/components/pages/log/TrainLog.tsx b/packages/frontend/src/components/pages/log/TrainLog.tsx index 52b9bf2..d001022 100644 --- a/packages/frontend/src/components/pages/log/TrainLog.tsx +++ b/packages/frontend/src/components/pages/log/TrainLog.tsx @@ -44,8 +44,8 @@ export const TrainLog = ({ data }: { data: TLogTrainData }) => className="overflow-hidden rounded-sm border border-stroke bg-white shadow-default dark:border-strokedark dark:bg-boxdark">
-
+ className="mx-auto max-w-44 rounded-full"> +
Player diff --git a/packages/frontend/src/components/pages/profiles/Profile.tsx b/packages/frontend/src/components/pages/profiles/Profile.tsx index 2074062..a8ceb4f 100644 --- a/packages/frontend/src/components/pages/profiles/Profile.tsx +++ b/packages/frontend/src/components/pages/profiles/Profile.tsx @@ -87,7 +87,7 @@ export const ProfileCard = ({ data }: { data: TProfileData }) => className="overflow-hidden rounded-sm border border-stroke bg-white shadow-default dark:border-strokedark dark:bg-boxdark">
+ className="mx-auto max-w-44 rounded-full">
profile { data.active && diff --git a/packages/frontend/src/pages/leaderboard/Leaderboard.tsx b/packages/frontend/src/pages/leaderboard/Leaderboard.tsx index e64e37f..1361f08 100644 --- a/packages/frontend/src/pages/leaderboard/Leaderboard.tsx +++ b/packages/frontend/src/pages/leaderboard/Leaderboard.tsx @@ -36,7 +36,7 @@ export const Leaderboard = () => const { data, error, isLoading } = useSWR(`/leaderboard/${ queryType }/?${ params.toString() }`, get, { refreshInterval: 10_000, errorRetryCount: 5 }); const [ searchItem, setSearchItem ] = useState(searchParams.get("query") ?? ""); - const [ sortBy, setSortBy ] = useState(searchParams.get("sort_by") ?? ""); + const [ sortBy, setSortBy ] = useState(searchParams.get("sort_by") ?? "distance"); const [ searchValue ] = useDebounce(searchItem, 500); const [ page, setPage ] = useState(parseInt(searchParams.get("page") as string) || 1); @@ -44,7 +44,7 @@ export const Leaderboard = () => useEffect(() => { setSearchItem(searchParams.get("query") ?? ""); - setSortBy(searchParams.get("sort_by") ?? ""); + setSortBy(searchParams.get("sort_by") ?? "distance"); setPage(parseInt(searchParams.get("page") as string) || 1); }, []);