From 285c5b04e8ce6b2e409568219241c64900f172b1 Mon Sep 17 00:00:00 2001
From: izawartka <59137928+izawartka@users.noreply.github.com>
Date: Fri, 15 Aug 2025 21:23:46 +0200
Subject: [PATCH 1/5] Added theme toggle
+Added dark-mode and light-mode component icons
+Added ThemeToggle in the toolbar
+Added ThemeManager and ThemeContext
---
src/components/App.js | 25 ++++++++++++++-----------
src/components/ThemeManager.js | 20 ++++++++++++++++++++
src/components/toolbar/ThemeToggle.js | 19 +++++++++++++++++++
src/components/toolbar/Toolbar.css | 2 ++
src/components/toolbar/Toolbar.js | 2 ++
src/contexts/ThemeContext.js | 4 ++++
src/icons/index.js | 2 ++
src/icons/toolbar/dark-mode.js | 7 +++++++
src/icons/toolbar/light-mode.js | 18 ++++++++++++++++++
9 files changed, 88 insertions(+), 11 deletions(-)
create mode 100644 src/components/ThemeManager.js
create mode 100644 src/components/toolbar/ThemeToggle.js
create mode 100644 src/contexts/ThemeContext.js
create mode 100644 src/icons/toolbar/dark-mode.js
create mode 100644 src/icons/toolbar/light-mode.js
diff --git a/src/components/App.js b/src/components/App.js
index 19862f9..1f367e9 100644
--- a/src/components/App.js
+++ b/src/components/App.js
@@ -10,23 +10,26 @@ import DistanceMeterContext from '../contexts/DistanceMeterContext';
import {GradientsManager} from "./GradientsManager";
import SideMenuContext from '../contexts/SideMenuContext';
import SceneryManager from './SceneryManager';
+import ThemeManager from './ThemeManager';
function App() {
const [sideMenuOpen, setSideMenuOpen] = useState(false);
const [distancePoints, setDistancePoints] = useState(null);
return (
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
);
}
diff --git a/src/components/ThemeManager.js b/src/components/ThemeManager.js
new file mode 100644
index 0000000..2d98164
--- /dev/null
+++ b/src/components/ThemeManager.js
@@ -0,0 +1,20 @@
+import { useState } from "react";
+import ThemeContext from "../contexts/ThemeContext";
+
+export default function ThemeManager(props) {
+ const [ lightMode, setLightMode ] = useState(false);
+
+ if(lightMode === true) {
+ document.body.classList.add('light-mode');
+ } else {
+ document.body.classList.remove('light-mode');
+ }
+
+ return (
+
+ { props.children }
+
+ );
+}
diff --git a/src/components/toolbar/ThemeToggle.js b/src/components/toolbar/ThemeToggle.js
new file mode 100644
index 0000000..62ad0c6
--- /dev/null
+++ b/src/components/toolbar/ThemeToggle.js
@@ -0,0 +1,19 @@
+import { useContext } from 'react';
+import { LightModeIcon, DarkModeIcon } from '../../icons';
+import ThemeContext from '../../contexts/ThemeContext';
+
+export default function ThemeToggle() {
+ const { setLightMode, lightMode } = useContext(ThemeContext);
+
+ const toggleLightMode = () => {
+ setLightMode((prev) => !prev);
+ }
+
+ return (
+
diff --git a/src/contexts/ThemeContext.js b/src/contexts/ThemeContext.js
new file mode 100644
index 0000000..1c69777
--- /dev/null
+++ b/src/contexts/ThemeContext.js
@@ -0,0 +1,4 @@
+import { createContext } from 'react';
+
+const ThemeContext = createContext();
+export default ThemeContext;
diff --git a/src/icons/index.js b/src/icons/index.js
index a501b68..db5bc9b 100644
--- a/src/icons/index.js
+++ b/src/icons/index.js
@@ -1,4 +1,6 @@
/* Toolbar Icons */
+export { DarkModeIcon } from "./toolbar/dark-mode";
+export { LightModeIcon } from "./toolbar/light-mode";
export { SideMenuIcon } from "./toolbar/side-menu";
/* TrackHoverInfo Icons */
diff --git a/src/icons/toolbar/dark-mode.js b/src/icons/toolbar/dark-mode.js
new file mode 100644
index 0000000..29e2bea
--- /dev/null
+++ b/src/icons/toolbar/dark-mode.js
@@ -0,0 +1,7 @@
+export const DarkModeIcon = ({color = '#aaa', strokeWidth = 9}) => (
+
+);
diff --git a/src/icons/toolbar/light-mode.js b/src/icons/toolbar/light-mode.js
new file mode 100644
index 0000000..1ab6f8f
--- /dev/null
+++ b/src/icons/toolbar/light-mode.js
@@ -0,0 +1,18 @@
+export const LightModeIcon = ({color = '#aaa', strokeWidth = 10}) => (
+
+
+);
\ No newline at end of file
From 06f2d2080fbe57aa746d3a4ad089ee825788d57f Mon Sep 17 00:00:00 2001
From: izawartka <59137928+izawartka@users.noreply.github.com>
Date: Fri, 15 Aug 2025 21:24:48 +0200
Subject: [PATCH 2/5] Updated css for the light mode
*Updated all CSS to work with the new light mode
---
src/components/App.css | 38 +++++++-------
src/components/App.js | 3 +-
src/components/Themes.css | 49 +++++++++++++++++++
src/components/dialog/Dialog.css | 6 +--
src/components/map/Map.css | 22 ++++-----
.../map/track-hover-info/TrackHoverInfo.css | 8 +--
.../scenery-info-dialog/SceneryInfoDialog.css | 4 +-
.../SceneryParserLogView.css | 8 +--
src/components/sidemenu/SideMenu.css | 6 +--
.../track-color-mode/TrackColorMode.css | 2 +-
src/components/toolbar/Toolbar.css | 9 ++--
11 files changed, 103 insertions(+), 52 deletions(-)
create mode 100644 src/components/Themes.css
diff --git a/src/components/App.css b/src/components/App.css
index b0749d1..97cc391 100644
--- a/src/components/App.css
+++ b/src/components/App.css
@@ -1,6 +1,6 @@
body {
- background-color: #141414;
- color: #eee;
+ background-color: var(--background-color);
+ color: var(--text-color);
font-family: monospace;
}
@@ -29,10 +29,10 @@ button,
select {
font-size: inherit;
font-family: inherit;
- background: #fff2;
+ background: var(--layer-color);
border-radius: 8px;
border: none;
- color: #eee;
+ color: var(--text-color);
padding-inline: 8px;
padding-block: 4px;
outline: none;
@@ -43,27 +43,27 @@ input[type="file"].non-transparent::file-selector-button,
input[type="text"].non-transparent,
button.non-transparent,
select.non-transparent {
- background: #222;
- border: 2px solid #444;
+ background: var(--layer-color-non-transparent);
+ border: 2px solid var(--layer-color-non-transparent);
}
input[type="file"]::file-selector-button:hover,
button:hover,
select:hover {
- background: #fff3;
+ background: var(--layer-color-hover);
}
input[type="file"].non-transparent::file-selector-button:hover,
button.non-transparent:hover,
select.non-transparent:hover {
- background: #444;
+ background: var(--layer-color-non-transparent-hover);
}
input[type="file"]:disabled::file-selector-button,
button:disabled,
select:disabled {
- background: #fff1;
- color: #666;
+ background: var(--layer-color-disabled);
+ color: var(--text-color-disabled);
cursor: not-allowed;
}
@@ -71,8 +71,8 @@ select:disabled {
input[type="file"].non-transparent:disabled::file-selector-button,
button.non-transparent:disabled,
select.non-transparent:disabled {
- background: #222;
- color: #666;
+ background: var(--layer-color-non-transparent-disabled);
+ color: var(--text-color-disabled);
cursor: not-allowed;
}
@@ -83,17 +83,17 @@ button {
}
select > option {
- background: #141414;
- color: #eee;
+ background: var(--background-color);
+ color: var(--text-color);
}
input[type="text"] {
background-color: unset;
- border: 2px solid #fff2;
+ border: 2px solid var(--layer-color);
}
input[type="text"]:focus {
- border: 2px solid #fff3;
+ border: 2px solid var(--layer-color-hover);
}
.invis-button {
@@ -111,17 +111,17 @@ input[type="text"]:focus {
}
::-webkit-scrollbar-track {
- background-color: #141414;
+ background-color: var(--background-color);
border-radius: 5px;
}
::-webkit-scrollbar-thumb {
- background-color: #fff2;
+ background-color: var(--layer-color);
border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
- background-color: #fff3;
+ background-color: var(--layer-color-hover);
}
::-webkit-scrollbar {
diff --git a/src/components/App.js b/src/components/App.js
index 1f367e9..7bfb534 100644
--- a/src/components/App.js
+++ b/src/components/App.js
@@ -1,7 +1,6 @@
import { useState } from 'react';
import Map from './map/Map';
import Toolbar from './toolbar/Toolbar';
-import './App.css';
import SideMenu from './sidemenu/SideMenu';
import SettingsManager from './SettingsManager';
import LocList from './loclist/LocList';
@@ -11,6 +10,8 @@ import {GradientsManager} from "./GradientsManager";
import SideMenuContext from '../contexts/SideMenuContext';
import SceneryManager from './SceneryManager';
import ThemeManager from './ThemeManager';
+import './Themes.css';
+import './App.css';
function App() {
const [sideMenuOpen, setSideMenuOpen] = useState(false);
diff --git a/src/components/Themes.css b/src/components/Themes.css
new file mode 100644
index 0000000..93c587b
--- /dev/null
+++ b/src/components/Themes.css
@@ -0,0 +1,49 @@
+:root {
+ --background-color: #141414;
+ --text-color: #eee;
+ --layer-color: #fff2;
+ --layer-color-hover: #fff3;
+ --layer-color-disabled: #fff1;
+ --layer-color-non-transparent: #222;
+ --layer-color-non-transparent-hover: #444;
+ --layer-color-non-transparent-disabled: #222;
+ --text-color-disabled: #666;
+ --border-color: #444;
+ --text-color-inverted: #141414;
+ --icon-color: #aaa;
+ --icon-color-active: #fff;
+ --map-background-color: #111;
+ --map-shadow-color: #000;
+ --map-icon-color: #eee;
+ --map-text-color: #eee;
+ --map-platform-color: #444;
+ --dialog-background-color: #222;
+ --parser-log-background-color: #0004;
+ --parser-log-warn-color: #aa4;
+ --parser-log-error-color: #f44;
+}
+
+.light-mode {
+ --background-color: #eee;
+ --text-color: #222;
+ --layer-color: #0002;
+ --layer-color-hover: #0003;
+ --layer-color-disabled: #0001;
+ --layer-color-non-transparent: #ddd;
+ --layer-color-non-transparent-hover: #eee;
+ --layer-color-non-transparent-disabled: #888;
+ --text-color-disabled: #666;
+ --border-color: #aaa;
+ --text-color-inverted: #eee;
+ --icon-color: #222;
+ --icon-color-active: #888;
+ --map-background-color: #fff;
+ --map-shadow-color: #0008;
+ --map-icon-color: #444;
+ --map-text-color: #444;
+ --map-platform-color: #ccc;
+ --dialog-background-color: #ddd;
+ --parser-log-background-color: #fff4;
+ --parser-log-warn-color: #774;
+ --parser-log-error-color: #f44;
+}
diff --git a/src/components/dialog/Dialog.css b/src/components/dialog/Dialog.css
index 5234a06..1533da2 100644
--- a/src/components/dialog/Dialog.css
+++ b/src/components/dialog/Dialog.css
@@ -13,8 +13,8 @@
.dialog {
display: block;
- background-color: #222;
- border: 2px solid #444;
+ background-color: var(--dialog-background-color);
+ border: 2px solid var(--border-color);
border-radius: 8px;
margin: 0 auto;
padding: 1em;
@@ -34,7 +34,7 @@
.dialog-title {
margin-bottom: 2em;
- color: #888;
+ color: var(--text-color-disabled);
font-weight: bold;
}
diff --git a/src/components/map/Map.css b/src/components/map/Map.css
index eb0c914..1e94315 100644
--- a/src/components/map/Map.css
+++ b/src/components/map/Map.css
@@ -3,7 +3,7 @@
display: flex;
flex-wrap: wrap;
flex-direction: column;
- background-color: #111;
+ background-color: var(--map-background-color);
}
.map svg path.track {
@@ -19,9 +19,9 @@
.map text {
font-size: 2px;
- fill: #eee;
+ fill: var(--map-text-color);
stroke: none;
- text-shadow: 0 0 16px #000;
+ text-shadow: 0 0 16px var(--map-shadow-color);
}
.map .switch-name-text {
@@ -46,11 +46,11 @@
}
.map g.track-object circle {
- fill: #eee;
+ fill: var(--map-icon-color);
}
.map g.track-object text {
- fill: #eee;
+ fill: var(--map-text-color);
display: none;
}
@@ -59,7 +59,7 @@
}
.map g.platform rect {
- fill: #444;
+ fill: var(--map-platform-color);
}
.map g.map-icon-stroked path,
@@ -67,25 +67,25 @@
.map g.map-icon-stroked line,
.map g.map-icon-stroked rect {
fill: none;
- stroke: #eee;
+ stroke: var(--map-icon-color);
}
.map g.map-icon path,
.map g.map-icon circle,
.map g.map-icon line,
.map g.map-icon rect {
- fill: #eee;
+ fill: var(--map-icon-color);
stroke: none;
}
.map g.map-icon-stroked .background,
.map g.map-icon .background {
- fill: #111;
+ fill: var(--map-background-color);
stroke: none;
}
.map g.map-icon-stroked .with-background,
.map g.map-icon .with-background {
- fill: #111;
- stroke: #eee;
+ fill: var(--map-background-color);
+ stroke: var(--map-icon-color);
}
diff --git a/src/components/map/track-hover-info/TrackHoverInfo.css b/src/components/map/track-hover-info/TrackHoverInfo.css
index a2caf03..9b9c979 100644
--- a/src/components/map/track-hover-info/TrackHoverInfo.css
+++ b/src/components/map/track-hover-info/TrackHoverInfo.css
@@ -6,8 +6,8 @@
}
.track-hover-info-popup {
- background-color: #222;
- border: 2px solid #444;
+ background-color: var(--layer-color-non-transparent);
+ border: 2px solid var(--border-color);
border-radius: 8px;
padding: 1em;
}
@@ -24,13 +24,13 @@
.track-hover-info-popup th {
text-align: start;
padding-right: 2em;
- color: #888;
+ color: var(--text-color-disabled);
}
.track-hover-info-popup__align {
margin-top: 1.5em;
padding: 2px;
- color: #888;
+ color: var(--text-color-disabled);
}
.track-hover-info-popup .track-hover-info-popup-label {
diff --git a/src/components/scenery-info-dialog/SceneryInfoDialog.css b/src/components/scenery-info-dialog/SceneryInfoDialog.css
index 0a2ccc0..0f6ca7e 100644
--- a/src/components/scenery-info-dialog/SceneryInfoDialog.css
+++ b/src/components/scenery-info-dialog/SceneryInfoDialog.css
@@ -1,12 +1,12 @@
.scenery-info-view td.label {
font-weight: bold;
- color: #aaa;
+ color: var(--text-disabled-color);
vertical-align: baseline;
padding-right: 1em;
}
.scenery-info-view td.value a {
- color: #eee;
+ color: var(--text-color);
text-decoration: none;
}
diff --git a/src/components/scenery-loaded-dialog/SceneryParserLogView.css b/src/components/scenery-loaded-dialog/SceneryParserLogView.css
index baef0ae..52db454 100644
--- a/src/components/scenery-loaded-dialog/SceneryParserLogView.css
+++ b/src/components/scenery-loaded-dialog/SceneryParserLogView.css
@@ -1,8 +1,8 @@
.scenery-parser-log-view {
padding: 1em;
border-radius: 8px;
- border: 2px solid #444;
- background-color: #0004;
+ border: 2px solid var(--border-color);
+ background-color: var(--parser-log-background-color);
}
.scenery-parser-log-view ul {
@@ -14,9 +14,9 @@
}
.scenery-parser-log-view .log-entry.warn {
- color: #aa4;
+ color: var(--parser-log-warn-color);
}
.scenery-parser-log-view .log-entry.error {
- color: #f44;
+ color: var(--parser-log-error-color);
}
\ No newline at end of file
diff --git a/src/components/sidemenu/SideMenu.css b/src/components/sidemenu/SideMenu.css
index 831072a..feac37b 100644
--- a/src/components/sidemenu/SideMenu.css
+++ b/src/components/sidemenu/SideMenu.css
@@ -3,13 +3,13 @@
}
.side-menu {
- border-left: 2px solid #444;
+ border-left: 2px solid var(--border-color);
padding: 1em;
position: absolute;
right: 0;
top: 0;
bottom: 0;
- background-color: #141414;
+ background-color: var(--background-color);
z-index: 2000;
width: max-content;
transition: transform 0.2s ease-in-out;
@@ -71,7 +71,7 @@
}
.info-footer {
- color: #888;
+ color: var(--text-color-disabled);
display: flex;
flex-direction: column;
flex-wrap: nowrap;
diff --git a/src/components/sidemenu/track-color-mode/TrackColorMode.css b/src/components/sidemenu/track-color-mode/TrackColorMode.css
index 7c97a27..9fedbe2 100644
--- a/src/components/sidemenu/track-color-mode/TrackColorMode.css
+++ b/src/components/sidemenu/track-color-mode/TrackColorMode.css
@@ -28,7 +28,7 @@
flex-direction: column;
gap: 1em;
padding: 1em;
- background-color: #fff1;
+ background-color: var(--layer-color);
border-radius: 8px;
}
diff --git a/src/components/toolbar/Toolbar.css b/src/components/toolbar/Toolbar.css
index debf6c7..3442268 100644
--- a/src/components/toolbar/Toolbar.css
+++ b/src/components/toolbar/Toolbar.css
@@ -5,7 +5,7 @@
align-items: center;
gap: 10px;
padding: 10px;
- border-bottom: 2px solid #444;
+ border-bottom: 2px solid var(--border-color);
}
.toolbar-spacer {
@@ -29,7 +29,7 @@
.loading-indicator {
height: fit-content;
padding: 4px 8px;
- color: #141414;
+ color: var(--text-color-inverted);
text-align: center;
opacity: 0;
transition: opacity 1s ease-in-out;
@@ -48,6 +48,7 @@
animation: fadeOut 1s ease-in-out 2s forwards; /* Start fading out after 2 seconds */
}
+.theme-toggle svg,
.side-menu-toggle svg {
display: block;
height: 2rem;
@@ -56,10 +57,10 @@
.theme-toggle g,
.side-menu-toggle g {
- stroke: #aaa;
+ stroke: var(--icon-color);
}
.theme-toggle:hover g,
.side-menu-toggle:hover g {
- stroke: #fff;
+ stroke: var(--icon-color-active);
}
From 61026481f85adf5510e5e5b905fa51ed5b353214 Mon Sep 17 00:00:00 2001
From: izawartka <59137928+izawartka@users.noreply.github.com>
Date: Sat, 16 Aug 2025 00:07:36 +0200
Subject: [PATCH 3/5] Updated styling colors
*Changed color values of some theme variables
*Tracks now have different colors depending on the theme
*Changed colors of some elements
---
src/components/App.css | 2 +-
src/components/Themes.css | 22 +++++++++++++------
src/components/dialog/Dialog.css | 4 ++--
.../scenery-info-dialog/SceneryInfoDialog.css | 2 +-
.../track-color-mode/TrackColorMode.css | 2 +-
src/helpers/constants.js | 8 +++----
6 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/src/components/App.css b/src/components/App.css
index 97cc391..65c5628 100644
--- a/src/components/App.css
+++ b/src/components/App.css
@@ -44,7 +44,7 @@ input[type="text"].non-transparent,
button.non-transparent,
select.non-transparent {
background: var(--layer-color-non-transparent);
- border: 2px solid var(--layer-color-non-transparent);
+ border: 2px solid var(--border-color);
}
input[type="file"]::file-selector-button:hover,
diff --git a/src/components/Themes.css b/src/components/Themes.css
index 93c587b..02ca143 100644
--- a/src/components/Themes.css
+++ b/src/components/Themes.css
@@ -1,13 +1,14 @@
:root {
--background-color: #141414;
--text-color: #eee;
+ --half-layer-color: #fff1;
--layer-color: #fff2;
--layer-color-hover: #fff3;
--layer-color-disabled: #fff1;
--layer-color-non-transparent: #222;
--layer-color-non-transparent-hover: #444;
--layer-color-non-transparent-disabled: #222;
- --text-color-disabled: #666;
+ --text-color-disabled: #888;
--border-color: #444;
--text-color-inverted: #141414;
--icon-color: #aaa;
@@ -17,6 +18,9 @@
--map-icon-color: #eee;
--map-text-color: #eee;
--map-platform-color: #444;
+ --map-track-color: #aaa;
+ --map-track-color-invisible: #555;
+ --map-track-color-electrified: #aaf;
--dialog-background-color: #222;
--parser-log-background-color: #0004;
--parser-log-warn-color: #aa4;
@@ -27,21 +31,25 @@
--background-color: #eee;
--text-color: #222;
--layer-color: #0002;
+ --half-layer-color: #0001;
--layer-color-hover: #0003;
--layer-color-disabled: #0001;
--layer-color-non-transparent: #ddd;
- --layer-color-non-transparent-hover: #eee;
+ --layer-color-non-transparent-hover: #ccc;
--layer-color-non-transparent-disabled: #888;
- --text-color-disabled: #666;
- --border-color: #aaa;
+ --text-color-disabled: #888;
+ --border-color: #888;
--text-color-inverted: #eee;
--icon-color: #222;
--icon-color-active: #888;
--map-background-color: #fff;
--map-shadow-color: #0008;
- --map-icon-color: #444;
- --map-text-color: #444;
- --map-platform-color: #ccc;
+ --map-icon-color: #111;
+ --map-text-color: #111;
+ --map-platform-color: #aaa;
+ --map-track-color: #555;
+ --map-track-color-invisible: #999;
+ --map-track-color-electrified: #33b;
--dialog-background-color: #ddd;
--parser-log-background-color: #fff4;
--parser-log-warn-color: #774;
diff --git a/src/components/dialog/Dialog.css b/src/components/dialog/Dialog.css
index 1533da2..a6deb98 100644
--- a/src/components/dialog/Dialog.css
+++ b/src/components/dialog/Dialog.css
@@ -8,12 +8,12 @@
width: 100vw;
height: 100vh;
z-index: 100;
- background-color: rgba(0, 0, 0, 0.25);
+ background-color: rgba(0, 0, 0, 0.33);
}
.dialog {
display: block;
- background-color: var(--dialog-background-color);
+ background-color: var(--background-color);
border: 2px solid var(--border-color);
border-radius: 8px;
margin: 0 auto;
diff --git a/src/components/scenery-info-dialog/SceneryInfoDialog.css b/src/components/scenery-info-dialog/SceneryInfoDialog.css
index 0f6ca7e..99f73f1 100644
--- a/src/components/scenery-info-dialog/SceneryInfoDialog.css
+++ b/src/components/scenery-info-dialog/SceneryInfoDialog.css
@@ -1,6 +1,6 @@
.scenery-info-view td.label {
font-weight: bold;
- color: var(--text-disabled-color);
+ color: var(--text-color-disabled);
vertical-align: baseline;
padding-right: 1em;
}
diff --git a/src/components/sidemenu/track-color-mode/TrackColorMode.css b/src/components/sidemenu/track-color-mode/TrackColorMode.css
index 9fedbe2..e2c571f 100644
--- a/src/components/sidemenu/track-color-mode/TrackColorMode.css
+++ b/src/components/sidemenu/track-color-mode/TrackColorMode.css
@@ -28,7 +28,7 @@
flex-direction: column;
gap: 1em;
padding: 1em;
- background-color: var(--layer-color);
+ background-color: var(--half-layer-color);
border-radius: 8px;
}
diff --git a/src/helpers/constants.js b/src/helpers/constants.js
index 962e6d2..574dd57 100644
--- a/src/helpers/constants.js
+++ b/src/helpers/constants.js
@@ -138,16 +138,16 @@ const Constants = {
name: 'Standard',
optionDefault: 'default',
options: {
- 'default': ['#aaa', 'Standard track'],
- 'invisible': ['#444', 'Invisible track'],
+ 'default': ['var(--map-track-color)', 'Standard track'],
+ 'invisible': ['var(--map-track-color-invisible)', 'Invisible track'],
}
},
'electrification': {
name: 'Electrification',
optionDefault: 'conflict',
options: {
- 'electrified': ['#aaf', 'Electrified'],
- 'non-electrified': ['#aaa', 'Non-electrified'],
+ 'electrified': ['var(--map-track-color-electrified)', 'Electrified'],
+ 'non-electrified': ['var(--map-track-color)', 'Non-electrified'],
'not-checked': ['#aa4', 'Unknown'],
'conflict': ['#f44', 'Error / Conflict'],
}
From ff3ab7049f34778bd2d473e6f3f58d932ae8d736 Mon Sep 17 00:00:00 2001
From: izawartka <59137928+izawartka@users.noreply.github.com>
Date: Sat, 16 Aug 2025 00:15:09 +0200
Subject: [PATCH 4/5] Fixed more CSS errors
*Sign texts no longer have shadow
*TrackHoverInfo is now using the standard background color
*Fixed z-indexes
*Tweaked disabled text color
---
src/components/Themes.css | 2 +-
src/components/map/Map.css | 4 ++++
src/components/map/object-renderers/SignRenderer.js | 2 +-
src/components/map/object-renderers/SignalExtendedRenderer.js | 2 +-
src/components/map/track-hover-info/TrackHoverInfo.css | 2 +-
src/components/sidemenu/SideMenu.css | 2 +-
src/components/toolbar/Toolbar.css | 2 +-
7 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/components/Themes.css b/src/components/Themes.css
index 02ca143..533d08c 100644
--- a/src/components/Themes.css
+++ b/src/components/Themes.css
@@ -37,7 +37,7 @@
--layer-color-non-transparent: #ddd;
--layer-color-non-transparent-hover: #ccc;
--layer-color-non-transparent-disabled: #888;
- --text-color-disabled: #888;
+ --text-color-disabled: #666;
--border-color: #888;
--text-color-inverted: #eee;
--icon-color: #222;
diff --git a/src/components/map/Map.css b/src/components/map/Map.css
index 1e94315..f442a23 100644
--- a/src/components/map/Map.css
+++ b/src/components/map/Map.css
@@ -24,6 +24,10 @@
text-shadow: 0 0 16px var(--map-shadow-color);
}
+.map .sign-text {
+ text-shadow: none;
+}
+
.map .switch-name-text {
font-size: 3px;
}
diff --git a/src/components/map/object-renderers/SignRenderer.js b/src/components/map/object-renderers/SignRenderer.js
index a9a473b..0882d2d 100644
--- a/src/components/map/object-renderers/SignRenderer.js
+++ b/src/components/map/object-renderers/SignRenderer.js
@@ -40,7 +40,7 @@ function SignTextRenderer(props) {
return (
Date: Sat, 16 Aug 2025 14:16:07 +0200
Subject: [PATCH 5/5] Updated CSS
*Updated SceneryParserLogView background color
*Updated some light mode color variables
---
src/components/Themes.css | 6 +++---
.../scenery-loaded-dialog/SceneryParserLogView.css | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/components/Themes.css b/src/components/Themes.css
index 533d08c..6c73490 100644
--- a/src/components/Themes.css
+++ b/src/components/Themes.css
@@ -28,7 +28,7 @@
}
.light-mode {
- --background-color: #eee;
+ --background-color: #f8f8f8;
--text-color: #222;
--layer-color: #0002;
--half-layer-color: #0001;
@@ -43,7 +43,7 @@
--icon-color: #222;
--icon-color-active: #888;
--map-background-color: #fff;
- --map-shadow-color: #0008;
+ --map-shadow-color: #fff8;
--map-icon-color: #111;
--map-text-color: #111;
--map-platform-color: #aaa;
@@ -51,7 +51,7 @@
--map-track-color-invisible: #999;
--map-track-color-electrified: #33b;
--dialog-background-color: #ddd;
- --parser-log-background-color: #fff4;
+ --parser-log-background-color: #0001;
--parser-log-warn-color: #774;
--parser-log-error-color: #f44;
}
diff --git a/src/components/scenery-loaded-dialog/SceneryParserLogView.css b/src/components/scenery-loaded-dialog/SceneryParserLogView.css
index 52db454..45bf549 100644
--- a/src/components/scenery-loaded-dialog/SceneryParserLogView.css
+++ b/src/components/scenery-loaded-dialog/SceneryParserLogView.css
@@ -1,8 +1,8 @@
.scenery-parser-log-view {
padding: 1em;
border-radius: 8px;
+ background-color: var(--half-layer-color);
border: 2px solid var(--border-color);
- background-color: var(--parser-log-background-color);
}
.scenery-parser-log-view ul {