Skip to content

Commit 461464a

Browse files
committed
feat: Fezynth!!!
1 parent 5f6279e commit 461464a

File tree

107 files changed

+7875
-4260
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+7875
-4260
lines changed

public/apps/apps.json

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,22 @@
55
"icon": "GameControllerIcon",
66
"order": 1,
77
"apps": [
8+
{
9+
"slug": "fezynth",
10+
"to": "/apps/fezynth",
11+
"title": "FeZynth",
12+
"description": "Make music with Web Audio API and Canvas API",
13+
"icon": "MusicNoteIcon",
14+
"pinned_order": 4,
15+
"created_at": "2025-11-10T14:00:00+03:00"
16+
},
817
{
918
"slug": "feztype",
1019
"to": "/apps/feztype",
1120
"title": "FezType (Typing Speed Tester)",
1221
"description": "Test and improve your typing speed.",
1322
"icon": "KeyboardIcon",
14-
"pinned_order": 4,
23+
"pinned_order": 5,
1524
"created_at": "2025-11-10T14:00:00+03:00"
1625
},
1726
{
@@ -20,7 +29,7 @@
2029
"title": "Mastermind",
2130
"description": "Play the classic code-breaking game of Mastermind (Bulls and Cows).",
2231
"icon": "PuzzlePieceIcon",
23-
"pinned_order": 5,
32+
"pinned_order": 6,
2433
"created_at": "2025-11-23T18:28:07+03:00"
2534
},
2635
{
@@ -29,7 +38,7 @@
2938
"title": "Nonogram",
3039
"description": "Solve picture logic puzzles by filling cells according to numerical clues.",
3140
"icon": "GridFourIcon",
32-
"pinned_order": 6,
41+
"pinned_order": 7,
3342
"created_at": "2025-11-23T20:43:44+03:00"
3443
},
3544
{
@@ -153,7 +162,7 @@
153162
"title": "Tournament Bracket",
154163
"description": "Create and manage tournament brackets.",
155164
"icon": "ListNumbersIcon",
156-
"pinned_order": 7,
165+
"pinned_order": 8,
157166
"created_at": "2025-11-07T14:22:02+03:00"
158167
},
159168
{
@@ -178,7 +187,7 @@
178187
"title": "Whiteboard",
179188
"description": "A simple digital whiteboard for sketching and doodling.",
180189
"icon": "PencilSimpleIcon",
181-
"pinned_order": 8,
190+
"pinned_order": 9,
182191
"created_at": "2025-11-25T17:00:00+03:00"
183192
},
184193
{
@@ -259,7 +268,7 @@
259268
"title": "Color Palette Generator",
260269
"description": "Generate random color palettes.",
261270
"icon": "PaletteIcon",
262-
"pinned_order": 9,
271+
"pinned_order": 10,
263272
"created_at": "2025-11-07T19:33:40+03:00"
264273
},
265274
{
@@ -332,7 +341,7 @@
332341
"title": "Morse Code Translator",
333342
"description": "Translate text to Morse code and vice-versa, with audio playback.",
334343
"icon": "TranslateIcon",
335-
"pinned_order": 10,
344+
"pinned_order": 11,
336345
"created_at": "2025-11-23T18:16:28+03:00"
337346
},
338347
{
@@ -398,7 +407,7 @@
398407
"title": "Image Toolkit",
399408
"description": "A toolkit for basic image manipulations.",
400409
"icon": "ImageIcon",
401-
"pinned_order": 11,
410+
"pinned_order": 12,
402411
"created_at": "2025-11-10T23:58:16+03:00"
403412
},
404413
{
@@ -407,7 +416,7 @@
407416
"title": "Image Compressor",
408417
"description": "Compress images to reduce file size while maintaining quality.",
409418
"icon": "ArrowsInLineHorizontalIcon",
410-
"pinned_order": 12,
419+
"pinned_order": 13,
411420
"created_at": "2025-11-23T12:54:58+03:00"
412421
},
413422
{
@@ -416,7 +425,7 @@
416425
"title": "Stopwatch",
417426
"description": "A simple stopwatch with lap functionality.",
418427
"icon": "TimerIcon",
419-
"pinned_order": 13,
428+
"pinned_order": 14,
420429
"created_at": "2025-11-23T17:30:23+03:00"
421430
},
422431
{
@@ -425,7 +434,7 @@
425434
"title": "Pomodoro Timer",
426435
"description": "A simple and customizable Pomodoro timer to boost your productivity.",
427436
"icon": "TimerIcon",
428-
"pinned_order": 14,
437+
"pinned_order": 15,
429438
"created_at": "2025-11-23T18:11:03+03:00"
430439
},
431440
{

src/App.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ function App() {
1616
const [isModalOpen, setIsModalOpen] = useState(false);
1717
const [isSearchVisible, setIsSearchVisible] = useState(false);
1818
const [isGenericModalOpen, setIsGenericModalOpen] = useState(false);
19-
const [genericModalContent, setGenericModalContent] = useState({ title: '', content: null });
20-
const [isRainActive, setIsRainActive] = useState(false); // State for Digital Rain
19+
const [genericModalContent, setGenericModalContent] = useState({
20+
title: '',
21+
content: null,
22+
});
23+
const [isRainActive, setIsRainActive] = useState(false); // State for Digital Rain
2124
const toggleModal = () => {
2225
setIsModalOpen(!isModalOpen);
2326
};
@@ -36,7 +39,7 @@ function App() {
3639
window.scrollTo({ top: 0, behavior: 'smooth' }); // Scroll to top
3740
};
3841
const toggleDigitalRain = () => {
39-
setIsRainActive(prev => !prev);
42+
setIsRainActive((prev) => !prev);
4043
};
4144

4245
return (

0 commit comments

Comments
 (0)