Skip to content

Commit c773536

Browse files
author
Chubby Granny Chaser
authored
Merge pull request #1486 from hydralauncher/feat/dynamic-badges
feat: adding dynamic badges
2 parents 8513f83 + 886e176 commit c773536

File tree

20 files changed

+122
-105
lines changed

20 files changed

+122
-105
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
"react-loading-skeleton": "^3.4.0",
7272
"react-redux": "^9.1.1",
7373
"react-router-dom": "^6.22.3",
74+
"react-tooltip": "^5.28.0",
7475
"sound-play": "^1.1.0",
7576
"sudo-prompt": "^9.2.1",
7677
"tar": "^7.4.3",

src/locales/en/translation.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -444,9 +444,6 @@
444444
"show_achievements_on_profile": "Show your achievements on your profile",
445445
"show_points_on_profile": "Show your earned points on your profile"
446446
},
447-
"badge": {
448-
"badge_description_theme_creator": "Awarded to those who created a custom theme"
449-
},
450447
"achievement": {
451448
"achievement_unlocked": "Achievement unlocked",
452449
"user_achievements": "{{displayName}}'s Achievements",

src/locales/pt-BR/translation.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -440,9 +440,6 @@
440440
"show_achievements_on_profile": "Exiba suas conquistas no perfil",
441441
"show_points_on_profile": "Exiba seus pontos ganhos no perfil"
442442
},
443-
"badge": {
444-
"badge_description_theme_creator": "Concedido àqueles que criaram um tema customizado"
445-
},
446443
"achievement": {
447444
"achievement_unlocked": "Conquista desbloqueada",
448445
"your_achievements": "Suas Conquistas",

src/locales/ru/translation.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -440,9 +440,6 @@
440440
"show_achievements_on_profile": "Покажите свои достижения в профиле",
441441
"show_points_on_profile": "Показывать заработанные очки в своем профиле"
442442
},
443-
"badge": {
444-
"badge_description_theme_creator": "Награждается тот, кто создал пользовательскую тему"
445-
},
446443
"achievement": {
447444
"achievement_unlocked": "Достижение разблокировано",
448445
"user_achievements": "Достижения {{displayName}}",

src/main/events/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ import "./themes/get-custom-theme-by-id";
8787
import "./themes/get-active-custom-theme";
8888
import "./themes/close-editor-window";
8989
import "./themes/toggle-custom-theme";
90+
import "./misc/get-badges";
9091
import { isPortableVersion } from "@main/helpers";
9192

9293
ipcMain.handle("ping", () => "pong");

src/main/events/misc/get-badges.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { Badge } from "@types";
2+
import { registerEvent } from "../register-event";
3+
import { HydraApi } from "@main/services";
4+
import { db, levelKeys } from "@main/level";
5+
6+
const getBadges = async (_event: Electron.IpcMainInvokeEvent) => {
7+
const language = await db
8+
.get<string, string>(levelKeys.language, {
9+
valueEncoding: "utf-8",
10+
})
11+
.then((language) => language || "en");
12+
13+
const params = new URLSearchParams({
14+
locale: language,
15+
});
16+
17+
return HydraApi.get<Badge[]>(`/badges?${params.toString()}`, null, {
18+
needsAuth: false,
19+
});
20+
};
21+
22+
registerEvent("getBadges", getBadges);

src/main/main.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,9 @@ const migrateFromSqlite = async () => {
132132
);
133133

134134
if (rest.language) {
135-
await db.put(levelKeys.language, rest.language);
135+
await db.put<string, string>(levelKeys.language, rest.language, {
136+
valueEncoding: "utf-8",
137+
});
136138
}
137139
}
138140
})

src/preload/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ contextBridge.exposeInMainWorld("electron", {
266266
showItemInFolder: (path: string) =>
267267
ipcRenderer.invoke("showItemInFolder", path),
268268
getFeatures: () => ipcRenderer.invoke("getFeatures"),
269+
getBadges: () => ipcRenderer.invoke("getBadges"),
269270
platform: process.platform,
270271

271272
/* Auto update */

src/renderer/src/assets/icons/badge-theme-creator.svg

Lines changed: 0 additions & 29 deletions
This file was deleted.

src/renderer/src/components/avatar/avatar.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
cursor: pointer;
1111
color: globals.$muted-color;
1212
position: relative;
13+
overflow: hidden;
1314

1415
&__image {
1516
height: 100%;

0 commit comments

Comments
 (0)