Skip to content

Commit 24a700c

Browse files
Implement dark/light theme toggle
1 parent ffb53af commit 24a700c

File tree

3 files changed

+10
-30
lines changed

3 files changed

+10
-30
lines changed

src/app/globals.css

-18
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,7 @@
22
@tailwind components;
33
@tailwind utilities;
44

5-
:root {
6-
--background: #ffffff;
7-
--foreground: #171717;
8-
}
9-
10-
@media (prefers-color-scheme: dark) {
11-
:root {
12-
--background: #15191C;
13-
--foreground: #0B0C0D;
14-
}
15-
}
16-
175
body {
18-
color: var(--foreground);
19-
background: var(--background);
206
font-family: "albertSans", Arial, Helvetica, sans-serif;
217
}
228

@@ -32,10 +18,6 @@ body {
3218
max-height: calc(100vh - 48px);
3319
}
3420

35-
main {
36-
height: 90vh;
37-
}
38-
3921
#uploadArea {
4022
width: 100%;
4123
height: 100%;

src/app/page.js

+7-10
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ const imageFiltersConst = [
4747

4848
export default function Home() {
4949
const [fullscreen, setFullscreen] = useState(false);
50-
const [darkTheme, setDarkTheme] = useState(true);
50+
const [darkMode, setDarkMode] = useState(true);
5151

5252
const [aboutMenuOpen, setAboutMenuOpen] = useState(false);
5353

@@ -88,10 +88,8 @@ export default function Home() {
8888
//setImageFiltersMenuOpen(false);
8989
}
9090

91-
function handleSetToggleDarkTheme() {
92-
93-
94-
setDarkTheme(!darkTheme);
91+
function handleSetToggleDarkMode() {
92+
setDarkMode(!darkMode);
9593
}
9694

9795
function handleSetToggleFullscreen() {
@@ -105,12 +103,12 @@ export default function Home() {
105103
setFileIsValid(true);
106104
setFile(URL.createObjectURL(uploadedFile));
107105
} else {
108-
setFileIsValid(false);
106+
setFileIsValid(false); s
109107
}
110108
}
111109

112110
return (
113-
<div className="flex flex-col">
111+
<div className={`flex flex-col h-full ${darkMode == true ? "dark bg-background" : ""}`}>
114112
<nav className="flex z-50 flex-row justify-between items-center px-5 py-3 bg-foreground">
115113
<div className="flex relative justify-center items-center">
116114
<div onClick={() => setAboutMenuOpen(!aboutMenuOpen)} className="inline-flex space-x-2 group hover:cursor-pointer">
@@ -127,7 +125,6 @@ export default function Home() {
127125
{aboutMenuOpen && <AboutDropDownMenu items={aboutMenuItemsConst}></AboutDropDownMenu>}
128126
</div>
129127

130-
131128
<div className="flex flex-row space-x-4">
132129
<div className="relative">
133130
<IconDropDownButton Icon={ShadowInnerIcon} active={imageFiltersMenuOpen} onClick={() => setImageFiltersMenuOpen(!imageFiltersMenuOpen)}>
@@ -143,8 +140,8 @@ export default function Home() {
143140

144141
<div className="flex flex-row space-x-4">
145142
<hr className="border-white" />
146-
<IconButton onClick={handleSetToggleDarkTheme}>
147-
{darkTheme ? <SunIcon className="w-5 h-5"></SunIcon> : <MoonIcon className="w-5 h-5"></MoonIcon>}
143+
<IconButton onClick={handleSetToggleDarkMode}>
144+
{darkMode ? <SunIcon className="w-5 h-5"></SunIcon> : <MoonIcon className="w-5 h-5"></MoonIcon>}
148145
</IconButton>
149146
<IconButton onClick={handleSetToggleFullscreen}>
150147
{fullscreen ? <ExitFullScreenIcon className="w-5 h-5"></ExitFullScreenIcon> : <EnterFullScreenIcon className="w-5 h-5"></EnterFullScreenIcon>}

tailwind.config.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@ module.exports = {
55
"./src/components/**/*.{js,ts,jsx,tsx,mdx}",
66
"./src/app/**/*.{js,ts,jsx,tsx,mdx}",
77
],
8+
darkMode: 'selector',
89
theme: {
910
extend: {
1011
colors: {
1112
accent: "#DADD15",
1213
gray: "#C2C2C2",
13-
background: "var(--background)",
14-
foreground: "var(--foreground)",
14+
background: "#15191C",
15+
foreground: "#0B0C0D",
1516
},
1617
},
1718
},

0 commit comments

Comments
 (0)