Skip to content

Commit d1059b6

Browse files
committed
feat: new terminal page
1 parent f70a80f commit d1059b6

File tree

4 files changed

+1368
-34
lines changed

4 files changed

+1368
-34
lines changed

package-lock.json

Lines changed: 32 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/AnimatedRoutes.jsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ const PIMLLabPage = lazy(() => import('../pages/apps/PIMLLabPage'));
141141
const MetabolicHubPage = lazy(() => import('../pages/apps/IntermittentFastingTrackerPage'));
142142
const BrufezPage = lazy(() => import('../pages/BrufezPage'));
143143
const BrufezPanelsPage = lazy(() => import('../pages/BrufezPanelsPage'));
144+
const RetroTerminalPage = lazy(() => import('../pages/RetroTerminalPage'));
144145
const ProjectRouteHandler = lazy(() => import('../components/ProjectRouteHandler'));
145146
const VocabRouteHandler = lazy(() => import('../components/VocabRouteHandler'));
146147

@@ -191,6 +192,22 @@ const AnimatedRoutes = ({
191192
</motion.div>
192193
}
193194
/>
195+
<Route
196+
path="/terminal"
197+
element={
198+
<motion.div
199+
initial="initial"
200+
animate="in"
201+
exit="out"
202+
variants={pageVariants}
203+
transition={pageTransition}
204+
>
205+
<Suspense fallback={<Loading />}>
206+
<RetroTerminalPage />
207+
</Suspense>
208+
</motion.div>
209+
}
210+
/>
194211
<Route
195212
path="/blog"
196213
element={

src/components/Layout.jsx

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,27 +45,35 @@ const Layout = ({
4545
const isTheVaguePage = location.pathname.startsWith('/the-vague');
4646
const isAboutPage = location.pathname.startsWith('/about');
4747
const isGraphPage = location.pathname === '/graph';
48+
const isTerminalPage = location.pathname === '/terminal';
4849

4950
// Check for special project styles that require hiding the default layout
50-
const projectSlug = location.pathname.startsWith('/projects/') ? location.pathname.split('/')[2] : null;
51-
const project = projectSlug ? projects.find(p => p.slug === projectSlug) : null;
51+
const projectSlug = location.pathname.startsWith('/projects/')
52+
? location.pathname.split('/')[2]
53+
: null;
54+
const project = projectSlug
55+
? projects.find((p) => p.slug === projectSlug)
56+
: null;
5257

5358
const projectStyle = project?.style || 'default';
5459
const isSpecialProject =
55-
projectStyle === 'stylish' ||
56-
projectStyle === 'editorial' ||
57-
projectStyle === 'minimal-modern' ||
58-
projectStyle === 'museum'
59-
;
60-
60+
projectStyle === 'stylish' ||
61+
projectStyle === 'editorial' ||
62+
projectStyle === 'minimal-modern' ||
63+
projectStyle === 'museum';
6164
// Check if we are inside a specific app (but not the apps listing page)
62-
const isAppDetail = location.pathname.startsWith('/apps/') && location.pathname !== '/apps/';
63-
const hideLayout = isAboutPage || isGraphPage || isSpecialProject || isTheVaguePage || (isAppDetail && isAppFullscreen);
65+
const isAppDetail =
66+
location.pathname.startsWith('/apps/') && location.pathname !== '/apps/';
67+
const hideLayout =
68+
isAboutPage ||
69+
isGraphPage ||
70+
isSpecialProject ||
71+
isTheVaguePage ||
72+
isTerminalPage ||
73+
(isAppDetail && isAppFullscreen);
6474

65-
const mainContent = (location.pathname.startsWith('/stories')) ? (
66-
<DndProvider>
67-
{children}
68-
</DndProvider>
75+
const mainContent = location.pathname.startsWith('/stories') ? (
76+
<DndProvider>{children}</DndProvider>
6977
) : (
7078
<div className="bg-[#050505] min-h-screen font-sans flex">
7179
{!hideLayout &&

0 commit comments

Comments
 (0)