Skip to content

Commit 1e789cb

Browse files
committed
feat: A E S T H E T I C S.
1 parent 9724be7 commit 1e789cb

File tree

6 files changed

+69
-4
lines changed

6 files changed

+69
-4
lines changed

scripts/generate-sitemap.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ const generateSitemap = async () => {
8585
console.error('Error reading projects.json:', error);
8686
}
8787

88-
8988
// Add dynamic routes from logs (category-based)
9089
try {
9190
const logsDirectory = path.join(publicDirectory, 'logs');
@@ -113,7 +112,6 @@ const generateSitemap = async () => {
113112
console.error('Error reading log categories or JSON files:', error);
114113
}
115114

116-
117115
// Add dynamic routes from stories/books.piml
118116
try {
119117
const pimlPath = path.join(publicDirectory, 'stories', 'books.piml');

src/components/CommandPalette.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ const CommandPalette = ({isOpen, setIsOpen, openGenericModal, toggleDigitalRain}
5757
isNoir, toggleNoir,
5858
isTerminal, toggleTerminal,
5959
isBlueprint, toggleBlueprint,
60-
isSepia, toggleSepia
60+
isSepia, toggleSepia,
61+
isVaporwave, toggleVaporwave
6162
} = useVisualSettings();
6263

6364
const filteredItems = filterItems(items, searchTerm);
@@ -232,6 +233,14 @@ const CommandPalette = ({isOpen, setIsOpen, openGenericModal, toggleDigitalRain}
232233
duration: 2000
233234
});
234235
break;
236+
case 'toggleVaporwaveMode':
237+
toggleVaporwave();
238+
addToast({
239+
title: !isVaporwave ? 'Vaporwave Mode On' : 'Vaporwave Mode Off',
240+
message: !isVaporwave ? 'A E S T H E T I C S.' : 'Reality restored.',
241+
duration: 2000
242+
});
243+
break;
235244
case 'showTime': {
236245
openGenericModal('Current Time', <LiveClock/>);
237246
break;

src/context/VisualSettingsContext.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const VisualSettingsProvider = ({children}) => {
1616
const [isTerminal, setIsTerminal] = usePersistentState('is-terminal', false);
1717
const [isBlueprint, setIsBlueprint] = usePersistentState('is-blueprint', false);
1818
const [isSepia, setIsSepia] = usePersistentState('is-sepia', false);
19+
const [isVaporwave, setIsVaporwave] = usePersistentState('is-vaporwave', false);
1920

2021
useEffect(() => {
2122
if (isInverted) {
@@ -81,6 +82,14 @@ export const VisualSettingsProvider = ({children}) => {
8182
}
8283
}, [isSepia]);
8384

85+
useEffect(() => {
86+
if (isVaporwave) {
87+
document.body.classList.add('vaporwave-mode');
88+
} else {
89+
document.body.classList.remove('vaporwave-mode');
90+
}
91+
}, [isVaporwave]);
92+
8493
const toggleInvert = () => setIsInverted(prev => !prev);
8594
const toggleRetro = () => setIsRetro(prev => !prev);
8695
const toggleParty = () => setIsParty(prev => !prev);
@@ -89,6 +98,7 @@ export const VisualSettingsProvider = ({children}) => {
8998
const toggleTerminal = () => setIsTerminal(prev => !prev);
9099
const toggleBlueprint = () => setIsBlueprint(prev => !prev);
91100
const toggleSepia = () => setIsSepia(prev => !prev);
101+
const toggleVaporwave = () => setIsVaporwave(prev => !prev);
92102

93103
return (
94104
<VisualSettingsContext.Provider value={{
@@ -99,7 +109,8 @@ export const VisualSettingsProvider = ({children}) => {
99109
isNoir, toggleNoir,
100110
isTerminal, toggleTerminal,
101111
isBlueprint, toggleBlueprint,
102-
isSepia, toggleSepia
112+
isSepia, toggleSepia,
113+
isVaporwave, toggleVaporwave
103114
}}>
104115
{children}
105116
</VisualSettingsContext.Provider>);

src/hooks/useSearchableData.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ const useSearchableData = () => {
112112
{ title: 'Toggle Terminal Mode', type: 'command', commandId: 'toggleTerminalMode' },
113113
{ title: 'Toggle Blueprint Mode', type: 'command', commandId: 'toggleBlueprintMode' },
114114
{ title: 'Toggle Sepia Mode', type: 'command', commandId: 'toggleSepiaMode' },
115+
{ title: 'Toggle Vaporwave Mode', type: 'command', commandId: 'toggleVaporwaveMode' },
115116
];
116117

117118
setItems([...staticRoutes, ...customCommands, ...allPosts, ...allProjects, ...allLogs, ...allApps]);

src/index.css

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,4 +350,49 @@ body.sepia-mode::after {
350350
z-index: 9999;
351351
backdrop-filter: sepia(100%);
352352
pointer-events: none;
353+
}
354+
355+
/* Vaporwave Mode */
356+
body.vaporwave-mode {
357+
background-color: #2b0f54 !important; /* Deep Purple */
358+
background-image:
359+
linear-gradient(rgba(255, 113, 206, 0.2) 1px, transparent 1px),
360+
linear-gradient(90deg, rgba(255, 113, 206, 0.2) 1px, transparent 1px);
361+
background-size: 40px 40px;
362+
color: #01cdfe !important; /* Neon Cyan Text */
363+
text-shadow: 2px 2px 0px rgba(255, 113, 206, 0.4); /* Pink shadow */
364+
font-family: 'Brush Script MT', 'Comic Sans MS', cursive !important; /* A E S T H E T I C font choice, or fallback */
365+
}
366+
367+
body.vaporwave-mode * {
368+
border-color: #ff71ce !important; /* Pink borders */
369+
}
370+
371+
body.vaporwave-mode a {
372+
color: #ff9dce !important;
373+
text-shadow: 0 0 8px #ff71ce;
374+
}
375+
376+
body.vaporwave-mode img {
377+
filter: contrast(1.2) brightness(1.1) hue-rotate(-20deg) drop-shadow(4px 4px 0px rgba(255, 113, 206, 0.5));
378+
}
379+
380+
body.vaporwave-mode::after {
381+
content: '';
382+
position: fixed;
383+
top: 0;
384+
left: 0;
385+
right: 0;
386+
bottom: 0;
387+
z-index: 9999;
388+
/* Scanlines */
389+
background: repeating-linear-gradient(
390+
0deg,
391+
rgba(0, 0, 0, 0.15),
392+
rgba(0, 0, 0, 0.15) 1px,
393+
transparent 1px,
394+
transparent 2px
395+
);
396+
pointer-events: none;
397+
mix-blend-mode: overlay;
353398
}

src/pages/CommandsPage.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ const commandsData = [
5555
{ title: "Toggle Terminal Mode", description: "Switch to a green monochrome hacker aesthetic. (Easter Egg)", color: "green" },
5656
{ title: "Toggle Blueprint Mode", description: "Switch to a blueprint schematic look. (Easter Egg)", color: "blue" },
5757
{ title: "Toggle Sepia Mode", description: "Switch to an old-timey sepia tone. (Easter Egg)", color: "orange" },
58+
{ title: "Toggle Vaporwave Mode", description: "Switch to a nostalgic vaporwave aesthetic. (Easter Egg)", color: "pink" },
5859
]
5960
},
6061
{

0 commit comments

Comments
 (0)