From edfc15ba01098e9c5cd33422e062746c25520aea Mon Sep 17 00:00:00 2001
From: Kalle <38327916+Sendouc@users.noreply.github.com>
Date: Tue, 12 Jul 2022 16:44:16 +0300
Subject: [PATCH] Add light mode
Works only with OS level setting for now.
Later an override on the site should be added.
---
app/root.tsx | 2 +-
app/styles/global.css | 73 +++++++++++++++++++++++++++---------------
cypress/e2e/plus.cy.ts | 3 --
3 files changed, 48 insertions(+), 30 deletions(-)
diff --git a/app/root.tsx b/app/root.tsx
index 9b37d72c4..867f46cfe 100644
--- a/app/root.tsx
+++ b/app/root.tsx
@@ -71,7 +71,7 @@ function Document({ children }: { children: React.ReactNode }) {
-
+
diff --git a/app/styles/global.css b/app/styles/global.css
index 4f09cce7c..06942a869 100644
--- a/app/styles/global.css
+++ b/app/styles/global.css
@@ -1,33 +1,28 @@
:root {
- color-scheme: dark;
-
- --bg: hsl(237.3deg 42.3% 30.6%);
- --bg-darker: hsl(237.3deg 42.3% 26.6%);
- --bg-lighter: hsl(237.3deg 42.3% 35.6%);
- --bg-lighter-transparent: hsla(237.3deg 42.3% 35.6% / 50%);
- --bg-darker-very-transparent: hsla(237.3deg 42.3% 26.6% / 50%);
- --bg-darker-transparent: hsla(237.3deg 42.3% 26.6% / 90%);
+ --bg: hsl(202deg 100% 96%);
+ --bg-darker: hsl(202deg 90% 90%);
+ --bg-lighter: hsl(225deg 100% 88%);
+ --bg-lighter-transparent: hsla(225deg 100% 88% / 50%);
+ --bg-darker-very-transparent: hsl(202deg 90% 90% / 50%);
+ --bg-darker-transparent: hsla(202deg 90% 90% / 65%);
--bg-badge: #000;
- --border: hsl(237.3deg 42.3% 45.6%);
- --button-text: rgb(0 0 0 / 85%);
+ --border: hsl(237deg 100% 86%);
+ --button-text: rgba(255, 255, 255, 0.85);
--button-text-transparent: rgb(0 0 0 / 65%);
- --text: rgb(255 255 255 / 95%);
- --text-lighter: rgb(255 255 255 / 55%);
- --theme-error: rgb(219 70 65);
- --theme-error-transparent: rgba(219 70 65 / 75%);
- --theme-warning: #f5f587;
- --theme-info: #a3a6ff;
- --theme-success: #a3ffae;
- --theme-success-transparent: #a3ffae52;
- --theme: hsl(255deg 66.7% 75%);
- --theme-vibrant: hsl(255deg 78% 65%);
+ --text: rgba(0, 0, 0, 0.95);
+ --text-lighter: rgba(75, 75, 75, 0.95);
+ --theme-error: rgb(199 13 6);
+ --theme-error-transparent: rgba(199 13 6 / 75%);
+ --theme-warning: #c9c900;
+ --theme-success: #00a514;
+ --theme-success-transparent: #00a51452;
+ --theme: hsl(255deg 64% 63%);
+ --theme-vibrant: hsl(255deg 100% 81%);
--theme-transparent: hsl(255deg 66.7% 75% / 40%);
- --theme-transparent-vibrant: hsl(255deg 78% 65% / 54%);
- --theme-semi-transparent-vibrant: hsl(255deg 78% 65% / 75%);
+ --theme-transparent-vibrant: hsl(255deg 100% 81% / 54%);
+ --theme-semi-transparent-vibrant: hsl(255deg 100% 81% / 75%);
--theme-secondary: hsl(85deg 66.7% 55.3%);
- /* background-pattern.svg not using this currently */
- --theme-pattern: #6741d9;
--rounded: 16px;
--rounded-sm: 10px;
--fonts-xl: 1.5rem;
@@ -68,12 +63,38 @@
--s-72: 18rem;
--s-80: 20rem;
--s-96: 2rem;
-
- /* letter-spacing: */
--sparse: 0.4px;
--label-margin: var(--s-1);
}
+@media (prefers-color-scheme: dark) {
+ :root {
+ --bg: hsl(237.3deg 42.3% 30.6%);
+ --bg-darker: hsl(237.3deg 42.3% 26.6%);
+ --bg-lighter: hsl(237.3deg 42.3% 35.6%);
+ --bg-lighter-transparent: rgba(64, 67, 108, 0.5);
+ --bg-darker-very-transparent: hsla(237.3deg 42.3% 26.6% / 50%);
+ --bg-darker-transparent: hsla(237.3deg 42.3% 26.6% / 90%);
+ --bg-badge: #000;
+ --border: hsl(237.3deg 42.3% 45.6%);
+ --button-text: rgb(0 0 0 / 85%);
+ --button-text-transparent: rgb(0 0 0 / 65%);
+ --text: rgb(255 255 255 / 95%);
+ --text-lighter: rgb(255 255 255 / 55%);
+ --theme-error: rgb(219 70 65);
+ --theme-error-transparent: rgba(219 70 65 / 75%);
+ --theme-warning: #f5f587;
+ --theme-success: #a3ffae;
+ --theme-success-transparent: #a3ffae52;
+ --theme: hsl(255deg 66.7% 75%);
+ --theme-vibrant: hsl(255deg 78% 65%);
+ --theme-transparent: hsl(255deg 66.7% 75% / 40%);
+ --theme-transparent-vibrant: hsl(255deg 78% 65% / 54%);
+ --theme-semi-transparent-vibrant: hsl(255deg 78% 65% / 75%);
+ --theme-secondary: hsl(85deg 66.7% 55.3%);
+ }
+}
+
/* xs: "(min-width: 480px)",
sm: "(min-width: 640px)",
md: "(min-width: 768px)",
diff --git a/cypress/e2e/plus.cy.ts b/cypress/e2e/plus.cy.ts
index b93b49b57..b45be1ef3 100644
--- a/cypress/e2e/plus.cy.ts
+++ b/cypress/e2e/plus.cy.ts
@@ -77,7 +77,4 @@ describe("Plus voting results page", () => {
cy.contains("Sendou");
cy.contains("passed");
});
-
- // xxx: figure out a good way to do plus server tests with serverside isVotingActive or delete existing tests
- // -> if way is found then should also add tests for voting
});