diff --git a/src/main/services/hydra-api.ts b/src/main/services/hydra-api.ts
index 15d866cb..0e6de36b 100644
--- a/src/main/services/hydra-api.ts
+++ b/src/main/services/hydra-api.ts
@@ -1,4 +1,4 @@
-import axios, { AxiosError, AxiosHeaders, AxiosInstance } from "axios";
+import axios, { AxiosError, AxiosInstance } from "axios";
import { WindowManager } from "./window-manager";
import url from "url";
import { uploadGamesBatch } from "./library-sync";
diff --git a/src/renderer/achievements.html b/src/renderer/achievements.html
new file mode 100644
index 00000000..a5289fc9
--- /dev/null
+++ b/src/renderer/achievements.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Hydra
+
+
+
+
+
+
+
diff --git a/src/renderer/src/achievements.tsx b/src/renderer/src/achievements.tsx
new file mode 100644
index 00000000..81804f83
--- /dev/null
+++ b/src/renderer/src/achievements.tsx
@@ -0,0 +1,72 @@
+import React from "react";
+import ReactDOM from "react-dom/client";
+import i18n from "i18next";
+import { initReactI18next } from "react-i18next";
+import { Provider } from "react-redux";
+import LanguageDetector from "i18next-browser-languagedetector";
+import { HashRouter, Route, Routes } from "react-router-dom";
+
+import "@fontsource/noto-sans/400.css";
+import "@fontsource/noto-sans/500.css";
+import "@fontsource/noto-sans/700.css";
+
+import "react-loading-skeleton/dist/skeleton.css";
+import "react-tooltip/dist/react-tooltip.css";
+
+import { store } from "./store";
+
+import resources from "@locales";
+
+import { logger } from "./logger";
+import { addCookieInterceptor } from "./cookies";
+import * as Sentry from "@sentry/react";
+import { AchievementNotification } from "./pages/achievements/notification/achievement-notification";
+
+Sentry.init({
+ dsn: import.meta.env.RENDERER_VITE_SENTRY_DSN,
+ integrations: [
+ Sentry.browserTracingIntegration(),
+ Sentry.replayIntegration(),
+ ],
+ tracesSampleRate: 1.0,
+ replaysSessionSampleRate: 0.1,
+ replaysOnErrorSampleRate: 1.0,
+ release: await window.electron.getVersion(),
+});
+
+console.log = logger.log;
+
+const isStaging = await window.electron.isStaging();
+addCookieInterceptor(isStaging);
+
+i18n
+ .use(LanguageDetector)
+ .use(initReactI18next)
+ .init({
+ resources,
+ fallbackLng: "en",
+ interpolation: {
+ escapeValue: false,
+ },
+ })
+ .then(async () => {
+ const userPreferences = await window.electron.getUserPreferences();
+
+ if (userPreferences?.language) {
+ i18n.changeLanguage(userPreferences.language);
+ } else {
+ window.electron.updateUserPreferences({ language: i18n.language });
+ }
+ });
+
+ReactDOM.createRoot(document.getElementById("root")!).render(
+
+
+
+
+ } />
+
+
+
+
+);