Skip to content

Commit 5bbcb52

Browse files
committed
feat: pinned apps in homepage.
1 parent f0b5f0c commit 5bbcb52

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

public/projects/projects.piml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
(pinned) true
4242
(isActive) true
4343
(technologies)
44-
> (project) markup-language
44+
> Markup Language
4545
(shortDescription) piml is a data serialization format designed to be exceptionally human-readable and writable, while maintaining a clear and unambiguous structure for machine parsing.
4646
(date) 2025-11-08
4747
(image) /images/defaults/piml-red.png

src/pages/HomePage.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,40 @@ const Hero = () => {
9595
);
9696
};
9797

98+
const QuickLinks = () => {
99+
const favorites = [
100+
{ title: 'Logic Architect', to: '/apps/logic-architect', color: 'text-emerald-500' },
101+
{ title: 'Fezynth', to: '/apps/fezynth', color: 'text-purple-400' },
102+
{ title: 'Notepad', to: '/apps/notepad', color: 'text-amber-200' },
103+
{ title: 'Sprite Editor', to: '/apps/sprite-editor', color: 'text-rose-500' },
104+
];
105+
106+
return (
107+
<div className="py-12 border-b border-white/10">
108+
<h3 className="font-mono text-[10px] font-bold uppercase tracking-[0.3em] text-gray-600 mb-6 px-2">
109+
{'//'} SOME_FAVORITES
110+
</h3>
111+
<div className="grid grid-cols-2 md:grid-cols-4 gap-4">
112+
{favorites.map((app) => (
113+
<Link
114+
key={app.to}
115+
to={app.to}
116+
className="group p-4 border border-white/5 bg-white/[0.02] hover:bg-white hover:border-white transition-all flex flex-col gap-2"
117+
>
118+
<span className={`text-[10px] font-black uppercase tracking-widest ${app.color} group-hover:text-black transition-colors`}>
119+
{app.title}
120+
</span>
121+
<div className="flex items-center justify-between">
122+
<span className="text-[9px] font-mono text-gray-600 group-hover:text-black/50 uppercase">RUN THE APP</span>
123+
<ArrowUpRight size={12} className="text-gray-700 group-hover:text-black transition-colors" />
124+
</div>
125+
</Link>
126+
))}
127+
</div>
128+
</div>
129+
);
130+
};
131+
98132
const SectionHeader = ({ num, title, link, linkText }) => (
99133
<div className="flex flex-col md:flex-row md:items-end justify-between mb-12 gap-4">
100134
<div className="flex items-baseline gap-4">
@@ -283,6 +317,7 @@ const HomePage = () => {
283317
<Hero />
284318

285319
<div className="mx-auto max-w-7xl px-6">
320+
<QuickLinks />
286321
{homepageSectionOrder.map((sectionName, idx) => (
287322
<React.Fragment key={sectionName}>
288323
{renderSection(sectionName, idx)}

0 commit comments

Comments
 (0)