Skip to content

Commit 8501318

Browse files
dark mode (inverted colors)
1 parent cc58859 commit 8501318

File tree

7 files changed

+63
-15
lines changed

7 files changed

+63
-15
lines changed

css/style.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

css/style.min.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sass/style.scss

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ body {
5050
font-family: "Spartan", sans-serif;
5151
// overflow: hidden; /* Hide scrollbars */
5252
font-size: 90%;
53+
background-color: #fff;
5354
}
5455

5556
a,
@@ -144,7 +145,7 @@ a:link {
144145
background: white;
145146
}
146147

147-
#dark {
148+
#dark-button {
148149
font-size: 1.9rem;
149150
padding-top: 0.5rem;
150151
img {
@@ -844,6 +845,24 @@ a:link {
844845
font-size: 3rem;
845846
}
846847

848+
/* --------------------------------------------------------------------- */
849+
/* Inverted Colors */
850+
/* --------------------------------------------------------------------- */
851+
#overlay {
852+
position: fixed;
853+
top: 0;
854+
right: 0;
855+
bottom: 0;
856+
left: 0;
857+
display: none;
858+
background-color: white;
859+
opacity: 0.9;
860+
mix-blend-mode: difference;
861+
height: 100vh;
862+
pointer-events: none; // So that elements below element are clickable
863+
z-index: 5;
864+
}
865+
847866
/* --------------------------------------------------------------------- */
848867
/* Media Queries */
849868
/* --------------------------------------------------------------------- */

src/elements/header.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ export default function header(darkMode) {
4747
4848
<div id="buttons">
4949
50+
<button type="button" id="dark-button">
51+
<img src="./assets/icons/contrast.svg">
52+
</button>
53+
<button id="button-placeholder"></button>
54+
5055
<div id="nav-container">
5156
<div class="bg"></div>
5257
<div class="button" tabindex="0">

src/elements/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ export default function index() {
5656
<!-- Footer -->
5757
<!--------------------------------------------------------------------->
5858
<div id="footer"></div>
59+
<!--------------------------------------------------------------------->
60+
<!-- Inverted Colors -->
61+
<!--------------------------------------------------------------------->
62+
<div id="overlay"></div>
5963
</div>
6064
`;
6165
}

src/functions/invertColors.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Invert Colors
3+
* Part of the JSS-01 | JavaScript Software Synthesizer project
4+
* Copyright (c) 2022 Michael Kolesidis
5+
* GNU General Public License v3.0
6+
*
7+
* The Invert Colors functions inverts the colors
8+
* of the whole application, mimicking dark mode
9+
* toggle functionality.
10+
*/
11+
12+
export default function invertColors() {
13+
const darkButton = document.getElementById("dark-button");
14+
const overlay = document.getElementById("overlay");
15+
let inverted = false;
16+
17+
darkButton.addEventListener("click", () => {
18+
inverted
19+
? (overlay.style.display = "none")
20+
: (overlay.style.display = "block");
21+
inverted = !inverted;
22+
});
23+
}

src/jss.js

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Copyright (c) 2022 Michael Kolesidis
44
* GNU General Public License v3.0
55
*
6-
*/
6+
*/
77

88
// ---------------------------------------------------------------------
99
// ---------------------------------------------------------------------
@@ -35,6 +35,7 @@ import consoleIntro from "./functions/consoleIntro.js";
3535
import midiToNoteString from "./functions/midiToNoteString.js";
3636
import keyMapper from "./functions/keyMapper.js";
3737
import showHide from "./functions/showHide.js";
38+
import invertColors from "./functions/invertColors.js";
3839

3940
// ---------------------------------------------------------------------
4041
// ---------------------------------------------------------------------
@@ -1917,18 +1918,9 @@ let modulationEnvelope = document.getElementById("modulation-envelope");
19171918
let effectsTitle = document.getElementById("effects-title");
19181919
let effectsContent = document.getElementById("effects-content");
19191920

1920-
let filtersTitle = document.getElementById("filters-title");
1921-
let filtersContent = document.getElementById("filters-content");
1922-
1923-
let highLowPassTitle = document.getElementById("high-low-pass-title");
1924-
let highLowPassContent = document.getElementById("high-low-pass-content");
1925-
19261921
let autoFilterTitle = document.getElementById("auto-filter-title");
19271922
let autoFilterContent = document.getElementById("auto-filter-content");
19281923

1929-
let delayTitle = document.getElementById("delay-title");
1930-
let delayContent = document.getElementById("delay-content");
1931-
19321924
let feedbackDelayTitle = document.getElementById("feedback-delay-title");
19331925
let feedbackDelayContent = document.getElementById("feedback-delay-content");
19341926

@@ -1973,8 +1965,6 @@ showHide(modulationEnvelopeTitle, modulationEnvelope, "flex", "none");
19731965

19741966
// Effects Section
19751967
showHide(effectsTitle, effectsContent, "block", "none");
1976-
// showHide(filtersTitle, filtersContent, "grid", "none");
1977-
// showHide(highLowPassTitle, highLowPassContent, "flex", "none");
19781968
showHide(autoFilterTitle, autoFilterContent, "grid", "none");
19791969
showHide(feedbackDelayTitle, feedbackDelayContent, "none", "flex");
19801970
showHide(pingPongDelayTitle, pingPongDelayContent, "none", "flex");
@@ -1988,6 +1978,13 @@ showHide(freqShifterTitle, freqShifterContent, "none", "flex");
19881978
showHide(bitCrusherTitle, bitCrusherContent, "none", "flex");
19891979
showHide(chebyshevTitle, chebyshevContent, "none", "flex");
19901980

1981+
// ---------------------------------------------------------------------
1982+
// ---------------------------------------------------------------------
1983+
// Inverted Colors Mode
1984+
// ---------------------------------------------------------------------
1985+
// ---------------------------------------------------------------------
1986+
invertColors();
1987+
19911988
// ---------------------------------------------------------------------
19921989
// ---------------------------------------------------------------------
19931990
// Recorder

0 commit comments

Comments
 (0)