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">
+

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">
+

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">

{ 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);
}, []);