From c4007c84361c7521704eb8e0c905bfe5bc8f6655 Mon Sep 17 00:00:00 2001
From: rift <117926989+Riftriot@users.noreply.github.com>
Date: Sat, 30 Dec 2023 16:05:57 -0600
Subject: [PATCH] Add theme feature
---
public/themes/catppucinMocha.css | 28 ++++++++++++++
{src => public}/themes/main.css | 56 ++++++++++++++--------------
src/index.tsx | 19 +++++++---
src/locales/en.json | 10 ++++-
src/locales/es.json | 10 ++++-
src/locales/ja.json | 10 ++++-
src/pages/Settings/Customization.tsx | 15 +++++++-
src/routes.tsx | 3 +-
8 files changed, 111 insertions(+), 40 deletions(-)
create mode 100644 public/themes/catppucinMocha.css
rename {src => public}/themes/main.css (96%)
diff --git a/public/themes/catppucinMocha.css b/public/themes/catppucinMocha.css
new file mode 100644
index 0000000..61aa04b
--- /dev/null
+++ b/public/themes/catppucinMocha.css
@@ -0,0 +1,28 @@
+@import url("https://fonts.googleapis.com/css2?family=Dongle&family=Roboto:wght@100&display=swap");
+
+:root {
+ --background-primary: #1e1e2e;
+ --background-lighter: #11111b;
+ --navbar-color: #11111b;
+ --navbar-height: 60px;
+ --navbar-text-color: #cba6f7;
+ --navbar-link-color: #89b4fa;
+ --navbar-link-hover-color: #cba6f7;
+ --navbar-font: "Roboto";
+ --input-text-color: #cdd6f4;
+ --input-placeholder-color: #bac2de;
+ --input-background-color: #181825;
+ --input-border-color: #cba6f7;
+ --input-border-size: 1.3px;
+ --navbar-logo-filter: none;
+ --dropdown-option-hover-color: #11111b;
+}
+
+.font-inter {
+ font-family: "Inter", sans-serif;
+ font-weight: 300;
+}
+
+.font-roboto {
+ font-family: "Roboto";
+}
diff --git a/src/themes/main.css b/public/themes/main.css
similarity index 96%
rename from src/themes/main.css
rename to public/themes/main.css
index 472676d..4225b6c 100644
--- a/src/themes/main.css
+++ b/public/themes/main.css
@@ -1,28 +1,28 @@
-@import url("https://fonts.googleapis.com/css2?family=Dongle&family=Roboto:wght@100&display=swap");
-
-:root {
- --background-primary: #191724;
- --background-lighter: #16121f;
- --navbar-color: #26233a;
- --navbar-height: 60px;
- --navbar-text-color: #7967dd;
- --navbar-link-color: #e0def4;
- --navbar-link-hover-color: gray;
- --navbar-font: "Roboto";
- --input-text-color: #e0def4;
- --input-placeholder-color: white;
- --input-background-color: #1f1d2e;
- --input-border-color: #eb6f92;
- --input-border-size: 1.3px;
- --navbar-logo-filter: none;
- --dropdown-option-hover-color: #312a49;
-}
-
-.font-inter {
- font-family: "Inter", sans-serif;
- font-weight: 300;
-}
-
-.font-roboto {
- font-family: "Roboto";
-}
+@import url("https://fonts.googleapis.com/css2?family=Dongle&family=Roboto:wght@100&display=swap");
+
+:root {
+ --background-primary: #191724;
+ --background-lighter: #16121f;
+ --navbar-color: #26233a;
+ --navbar-height: 60px;
+ --navbar-text-color: #7967dd;
+ --navbar-link-color: #e0def4;
+ --navbar-link-hover-color: gray;
+ --navbar-font: "Roboto";
+ --input-text-color: #e0def4;
+ --input-placeholder-color: white;
+ --input-background-color: #1f1d2e;
+ --input-border-color: #eb6f92;
+ --input-border-size: 1.3px;
+ --navbar-logo-filter: none;
+ --dropdown-option-hover-color: #312a49;
+}
+
+.font-inter {
+ font-family: "Inter", sans-serif;
+ font-weight: 300;
+}
+
+.font-roboto {
+ font-family: "Roboto";
+}
diff --git a/src/index.tsx b/src/index.tsx
index e17fecb..bea3426 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,15 +1,24 @@
import { render } from "preact";
import { Suspense, lazy } from "preact/compat";
import { LoadSuspense } from "./LoadSuspense";
+import { Helmet } from "react-helmet";
+
const Routes = lazy(() => import("./routes"));
+const theme = localStorage.getItem("theme") || "main";
+
export default function App() {
return (
-
-