diff --git a/src/components/settings-modal/settings-modal.module.css b/src/components/settings-modal/settings-modal.module.css
index 97815432..8d189221 100644
--- a/src/components/settings-modal/settings-modal.module.css
+++ b/src/components/settings-modal/settings-modal.module.css
@@ -1,3 +1,13 @@
+.overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100vw;
+ height: 100vh;
+ background-color: rgba(0, 0, 0, 0.5);
+ z-index: 900;
+}
+
.settingsModal {
top: 60px;
width: 400px;
@@ -6,10 +16,16 @@
left: calc(50% - 25px);
overflow-y: auto;
margin-left: -178px;
- position: absolute;
+ position: fixed;
+ z-index: 1000;
padding: 2px 5px 5px;
font-size: 14px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
+ background-color: var(--settings-modal-background-color);
+}
+
+.settingsModal select {
+ filter: var(--filter80);
}
.header {
@@ -20,6 +36,11 @@
padding-bottom: 5px;
text-align: center;
line-height: 14px;
+ border-bottom: var(--settings-modal-header-border-bottom);
+}
+
+.title {
+ text-transform: capitalize;
}
.version {
@@ -29,6 +50,15 @@
margin-left: 5px;
}
+.version a {
+ color: inherit;
+ text-decoration: none;
+}
+
+.version a:hover {
+ text-decoration: underline;
+}
+
.closeButton {
right: 5px;
width: 18px;
@@ -39,6 +69,7 @@
position: absolute;
top: 5px;
image-rendering: pixelated;
+ background-image: var(--settings-modal-close-button-background-image);
}
@media (max-width: 640px) {
diff --git a/src/components/settings-modal/settings-modal.tsx b/src/components/settings-modal/settings-modal.tsx
index 6694996a..f63f1c4b 100644
--- a/src/components/settings-modal/settings-modal.tsx
+++ b/src/components/settings-modal/settings-modal.tsx
@@ -1,18 +1,81 @@
import styles from './settings-modal.module.css';
import { useNavigate } from 'react-router-dom';
+import useTheme from '../../hooks/use-theme';
+import { useTranslation } from 'react-i18next';
+import packageJson from '../../../package.json';
+const commitRef = process.env.REACT_APP_COMMIT_REF;
-const SettingsModal = () => {
- const navigate = useNavigate();
+// TODO: remove theme and languages selectors for debugging
+const ThemeSettings = () => {
+ const [theme, setTheme] = useTheme();
return (
-
-
- v0.2.0
- Settings
- navigate(-1)} />
-
+
+ );
+};
+
+// prettier-ignore
+const availableLanguages = ['ar', 'bn', 'cs', 'da', 'de', 'el', 'en', 'es', 'fa', 'fi', 'fil', 'fr', 'he', 'hi', 'hu', 'id', 'it', 'ja', 'ko', 'mr', 'nl', 'no', 'pl', 'pt', 'ro', 'ru', 'sq', 'sv', 'te', 'th', 'tr', 'uk', 'ur', 'vi', 'zh'];
+
+const LanguageSettings = () => {
+ const { i18n } = useTranslation();
+ const { changeLanguage, language } = i18n;
+
+ const onSelectLanguage = (e: React.ChangeEvent
) => {
+ changeLanguage(e.target.value);
+ };
+
+ return (
+
+
);
};
+const SettingsModal = () => {
+ const { t } = useTranslation();
+ const navigate = useNavigate();
+
+ const closeModal = () => {
+ navigate(-1);
+ };
+
+ return (
+ <>
+
+
+ >
+ );
+};
+
export default SettingsModal;
diff --git a/src/themes.css b/src/themes.css
index 9c412a21..2ce2ac2d 100644
--- a/src/themes.css
+++ b/src/themes.css
@@ -149,6 +149,11 @@
--reply-modal-field-input-border: 1px solid #aaa;
--reply-modal-field-input-border-focus: 1px solid #ea8;
+ /* settings modal */
+ --settings-modal-background-color: #f0e0d6;
+ --settings-modal-header-border-bottom: 1px solid #d9bfb7;
+ --settings-modal-close-button-background-image: url("/public/assets/buttons/cross-red.png");
+
/* stats */
--stats-font-size: 11px;
}
@@ -304,6 +309,11 @@
--reply-modal-field-input-border: 1px solid #aaa;
--reply-modal-field-input-border-focus: 1px solid #98e;
+ /* settings modal */
+ --settings-modal-background-color: #d6daf0;
+ --settings-modal-header-border-bottom: 1px solid #b7c5d9;
+ --settings-modal-close-button-background-image: url("/public/assets/buttons/cross-blue.png");
+
/* stats */
--stats-font-size: 11px;
}
@@ -426,6 +436,11 @@
--reply-desktop-background-color: #f0e0d6;
--reply-desktop-border: 1px solid #d9bfb7;
+ /* settings modal */
+ --settings-modal-background-color: #f0e0d6;
+ --settings-modal-header-border-bottom: 1px solid rgba(0,0,0,.2);
+ --settings-modal-close-button-background-image: url("/public/assets/buttons/cross-red.png");
+
/* stats */
--stats-font-size: 10pt;
}
@@ -562,6 +577,11 @@
--reply-desktop-background-color: #d6daf0;
--reply-desktop-border: 1px solid #b7c5d9;
+ /* settings modal */
+ --settings-modal-background-color: #d6daf0;
+ --settings-modal-header-border-bottom: 1px solid rgba(0,0,0,.2);
+ --settings-modal-close-button-background-image: url("/public/assets/buttons/cross-blue.png");
+
/* stats */
--stats-font-size: 10pt;
}
@@ -720,6 +740,11 @@
--select-background-color: #282a2e;
--select-color: #c5c8c6;
+ /* settings modal */
+ --settings-modal-background-color: #282a2e;
+ --settings-modal-header-border-bottom: 1px solid #111;
+ --settings-modal-close-button-background-image: url("/public/assets/buttons/cross-dark.png");
+
/* stats */
--stats-font-size: 11px;
}
@@ -857,6 +882,11 @@
--reply-modal-field-input-border: 1px solid #aaa;
--reply-modal-field-input-border-focus: 1px solid #ea8;
+ /* settings modal */
+ --settings-modal-background-color: #ddd;
+ --settings-modal-header-border-bottom: 1px solid rgba(0, 0, 0, 0.20);
+ --settings-modal-close-button-background-image: url("/public/assets/buttons/cross-photon.png");
+
/* stats */
--stats-font-size: 11px;
}