diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 34d8bf0..59b9bbd 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -12,7 +12,8 @@ import { AngularFirestore, AngularFirestoreCollection } from '@angular/fire/comp
list
-
info
+
info
+
brightness_6
@@ -32,7 +33,7 @@ import { AngularFirestore, AngularFirestoreCollection } from '@angular/fire/comp
`,
})
-export class AppComponent {
+ export class AppComponent {
constructor(
public router:Router,
@@ -53,4 +54,8 @@ export class AppComponent {
fullScreenImage.src = '';
}
+ toggleTheme() {
+ document.body.classList.toggle('light-theme');
+ }
+
}
diff --git a/src/app/chat.component.ts b/src/app/chat.component.ts
index d6229a8..456a0f5 100644
--- a/src/app/chat.component.ts
+++ b/src/app/chat.component.ts
@@ -63,7 +63,7 @@ import firebase from 'firebase/compat/app'
{{chatLastMessageObj?.recipients[recipient]?.name}}
- X
+ X
@@ -154,7 +154,7 @@ import firebase from 'firebase/compat/app'
-
- {{messageUser}}
+ {{messageUser}}
diff --git a/src/app/profile.component.ts b/src/app/profile.component.ts
index 3c9a81d..77a7c37 100644
--- a/src/app/profile.component.ts
+++ b/src/app/profile.component.ts
@@ -52,10 +52,10 @@ import { ChangeDetectorRef } from '@angular/core'
- inbox
- history
- chain
- forecast
+ inbox
+ history
+ chain
+ forecast
New message to {{focusUserLastMessageObj?.name}}
@@ -152,13 +152,13 @@ import { ChangeDetectorRef } from '@angular/core'
+ [style.background-color]="(message.payload.doc.data()?.reads||{})[UI.currentUser]?'var(--surface-color)':(message.payload.doc.data()?.recipients[UI.currentUser]?.mentionMessages||message.payload.doc.data()?.text.includes(UI.currentUserLastMessageObj?.name))?'#5BBF2F':message.payload.doc.data()?.recipients[UI.currentUser]?'#38761D':'var(--secondary-color)'"
+ [style.color]="(message.payload.doc.data()?.reads||{})[UI.currentUser]?'var(--surface-color)':whitesmoke">
{{message.payload.doc.data()?.recipients[UI.currentUser]?.unreadMessages}}
message.payload.doc.data()?.serverTimestamp?.seconds" style="float:right;margin:5px 0 0 0;width:35px;height:20px;line-height:20px;font-size:10px;text-align:center 0 0 3px"
- [style.background-color]="'#B0BAC0'"
- [style.color]="'#B0BAC0'">
+ [style.background-color]="'var(--secondary-color)'"
+ [style.color]="'var(--secondary-color)'">
{{message.payload.doc.data()?.recipients[UI.currentUser]?.unreadMessages}}
{{UI.formatSecondsToDhm1(math.max(0,(UI.nowSeconds-message.payload.doc.data()?.serverTimestamp?.seconds)))}}
diff --git a/src/styles.css b/src/styles.css
index b0db970..20af25b 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -1,12 +1,30 @@
+@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap');
+
+:root {
+ --primary-color: #222C32;
+ --secondary-color: #B0BAC0;
+ --accent-color: #D85140;
+ --surface-color: #131B20;
+ --scrollbar-thumb-color: var(--secondary-color);
+}
+
+body.light-theme {
+ --primary-color: #FFFFFF;
+ --secondary-color: #222C32;
+ --accent-color: #38761D;
+ --surface-color: #EEEEEE;
+ --scrollbar-thumb-color: #888888;
+}
+
*, *:before, *:after {
box-sizing: border-box;
- font-family: verdana;
+ font-family: 'Roboto', sans-serif;
font-weight: 100;
margin: 0;
padding: 0px;
font-size: 13px;
line-height: 20px;
- border-color:#222C32;
+ border-color: var(--primary-color);
border-radius:2px;
border-width:thin;
overflow: hidden;
@@ -22,15 +40,15 @@
height: 5px;
}
*::-webkit-scrollbar-thumb {
- background-color:#B0BAC0;
+ background-color: var(--scrollbar-thumb-color);
}
*::-webkit-scrollbar-track {
- background-color: #131B20;
+ background-color: var(--surface-color);
}
body {
border: 0;
- background-color:#222C32;
- color: #B0BAC0;
+ background-color: var(--primary-color);
+ color: var(--secondary-color);
overscroll-behavior-x: none;
touch-action: pan-y;
}
@@ -42,7 +60,7 @@ body {
}
#login {
width: 10000px;
- font-family: 'RobotoDraft', 'Roboto', sans-serif;
+ font-family: 'Roboto', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display: table-cell;
@@ -79,7 +97,7 @@ a:visited {
.menu .iconSmall .activity {
height: 12px;
width: 12px;
- background-color:#D85140;
+ background-color:var(--accent-color);
position: absolute;
top: 1px;
left: 34px;
@@ -103,14 +121,14 @@ a:visited {
.listLight .activity {
height: 12px;
width: 12px;
- background-color:#D85140;
+ background-color:var(--accent-color);
position: absolute;
top: 0px;
right: 0px;
z-index: 1000;
}
.listLight .selected {
- background-color: #222C32;
+ background-color: var(--primary-color);
}
.buttonBlack {
cursor: pointer;
@@ -162,7 +180,7 @@ a:visited {
text-align:center;
border-style:solid;
padding:3px;
- border-color:#131B20;
+ border-color:var(--surface-color);
border-radius: 4px;
transition: 0.1s ease;
border-width: 1px;
@@ -185,7 +203,7 @@ button {
border: 0;
padding: 7px;
margin: 10px;
- color: #B0BAC0;
+ color: var(--secondary-color);
-webkit-transition: 0.3s ease;
transition: 0.3s ease;
text-align:center;
@@ -193,7 +211,7 @@ button {
}
input {
background-color:#2D3941;
- color: #B0BAC0;
+ color: var(--secondary-color);
width: 90%;
border-style:solid;
padding: 10px;
@@ -218,7 +236,7 @@ input {
font-size: 10px;
background: #1db217;
box-sizing: border-box;
- color: #131B20;
+ color: var(--surface-color);
text-align: center;
}
@@ -273,7 +291,7 @@ hr {
margin: 0 auto;
width: 100%;
max-width: 800px;
- background-color: #131B20;
+ background-color: var(--surface-color);
border-style: solid;
border-width: 0 1px 0 1px;
user-select:none;
@@ -321,7 +339,7 @@ progress {
appearance:none;
width:100%;
height:3px;
- background-color: #131B20;
+ background-color: var(--surface-color);
}
progress::-webkit-progress-bar {
background-color: transparent; width: 100%;
@@ -423,7 +441,7 @@ img {
outline: thin solid;
border-radius: 4px;
color: whitesmoke !important;
- background-color: #222C32;
+ background-color: var(--primary-color);
width: 155px;
height: 35px;
margin: 5px;
@@ -450,7 +468,7 @@ img {
}
.socialmediabutton:hover {
- background-color: #131B20;
+ background-color: var(--surface-color);
transition: 0.1s ease;
}