Skip to content

Commit 800eb8b

Browse files
committed
feat: Symbol Flow
1 parent dfa08df commit 800eb8b

File tree

3 files changed

+430
-23
lines changed

3 files changed

+430
-23
lines changed

public/apps/apps.json

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -319,15 +319,7 @@
319319
"description": "Blend background environments to create your ideal focus space.",
320320
"icon": "SpeakerHighIcon",
321321
"created_at": "2025-12-20T14:00:00+03:00"
322-
}
323-
]
324-
},
325-
"Generators": {
326-
"name": "Generators",
327-
"description": "Tools for generating various types of data and content.",
328-
"icon": "MagicWandIcon",
329-
"order": 3,
330-
"apps": [
322+
},
331323
{
332324
"slug": "poster-loom",
333325
"to": "/apps/poster-loom",
@@ -338,14 +330,21 @@
338330
"pinned_order": 23
339331
},
340332
{
341-
"slug": "blend-lab",
342-
"to": "/apps/blend-lab",
343-
"title": "Blend Lab",
344-
"description": "Create abstract color fields with noise, blur, and custom typography.",
345-
"icon": "SelectionIcon",
346-
"created_at": "2025-12-20T15:00:00+03:00",
347-
"pinned_order": 21
348-
},
333+
"slug": "symbol-flow",
334+
"to": "/apps/symbol-flow",
335+
"title": "Symbol Flow",
336+
"description": "Generative stream visualizer using technical symbol protocols and procedural noise fields.",
337+
"icon": "WindIcon",
338+
"created_at": "2025-12-20T18:00:00+03:00"
339+
}
340+
]
341+
},
342+
"Generators": {
343+
"name": "Generators",
344+
"description": "Tools for generating various types of data and content.",
345+
"icon": "MagicWandIcon",
346+
"order": 3,
347+
"apps": [
349348
{
350349
"slug": "fractal-flora",
351350
"to": "/apps/fractal-flora",
@@ -438,6 +437,15 @@
438437
"icon": "LockKeyIcon",
439438
"created_at": "2025-12-20T12:00:00+03:00"
440439
},
440+
{
441+
"slug": "blend-lab",
442+
"to": "/apps/blend-lab",
443+
"title": "Blend Lab",
444+
"description": "Create abstract color fields with noise, blur, and custom typography.",
445+
"icon": "SelectionIcon",
446+
"created_at": "2025-12-20T15:00:00+03:00",
447+
"pinned_order": 21
448+
},
441449
{
442450
"slug": "cron-job-generator",
443451
"to": "/apps/cron-job-generator",

src/components/AnimatedRoutes.js

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ const TaskGridPage = lazy(() => import('../pages/apps/TaskGridPage'));
144144
const BlendLabPage = lazy(() => import('../pages/apps/BlendLabPage'));
145145
const AssetStudioPage = lazy(() => import('../pages/apps/AssetStudioPage'));
146146
const PosterLoomPage = lazy(() => import('../pages/apps/PosterLoomPage'));
147+
const SymbolFlowPage = lazy(() => import('../pages/apps/SymbolFlowPage'));
147148
const RoadmapViewerPage = lazy(() => import('../pages/roadmap/FezzillaPage'));
148149
const RoadmapItemDetailPage = lazy(
149150
() => import('../pages/roadmap/RoadmapItemDetailPage'),
@@ -1794,6 +1795,22 @@ const AnimatedRoutes = ({
17941795
</motion.div>
17951796
}
17961797
/>
1798+
<Route
1799+
path="/apps/symbol-flow"
1800+
element={
1801+
<motion.div
1802+
initial="initial"
1803+
animate="in"
1804+
exit="out"
1805+
variants={pageVariants}
1806+
transition={pageTransition}
1807+
>
1808+
<Suspense fallback={<Loading />}>
1809+
<SymbolFlowPage />
1810+
</Suspense>
1811+
</motion.div>
1812+
}
1813+
/>
17971814
<Route
17981815
path="/apps/lorem-ipsum-generator"
17991816
element={
@@ -1989,17 +2006,33 @@ const AnimatedRoutes = ({
19892006
<Route
19902007
path="/apps/topographic-maps"
19912008
element={
1992-
<Suspense fallback={<Loading />}>
1993-
<TopographicMapPage />
1994-
</Suspense>
2009+
<motion.div
2010+
initial="initial"
2011+
animate="in"
2012+
exit="out"
2013+
variants={pageVariants}
2014+
transition={pageTransition}
2015+
>
2016+
<Suspense fallback={<Loading />}>
2017+
<TopographicMapPage />
2018+
</Suspense>
2019+
</motion.div>
19952020
}
19962021
/>
19972022
<Route
19982023
path="/apps/rotary-phone"
19992024
element={
2000-
<Suspense fallback={<Loading />}>
2001-
<RotaryPhonePage />
2002-
</Suspense>
2025+
<motion.div
2026+
initial="initial"
2027+
animate="in"
2028+
exit="out"
2029+
variants={pageVariants}
2030+
transition={pageTransition}
2031+
>
2032+
<Suspense fallback={<Loading />}>
2033+
<RotaryPhonePage />
2034+
</Suspense>
2035+
</motion.div>
20032036
}
20042037
/>
20052038
<Route

0 commit comments

Comments
 (0)