Skip to content

Commit cf27fd4

Browse files
committed
feat: Add Input component, refine job list filtering and sorting, update favicon, and remove unused SVG assets.
1 parent 06ea590 commit cf27fd4

File tree

12 files changed

+244
-161
lines changed

12 files changed

+244
-161
lines changed

README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,3 @@ A list of Open Source projects offering jobs. For those who want to work on open
55

66
- [open source startups in crunchbase](https://www.crunchbase.com/hub/open-source-startups)
77
- [remoteintech/remote-jobs](https://github.com/remoteintech/remote-jobs)
8-
- [Kevin for meaningful disscussions](https://github.com/farrelke)
9-
10-
Show HN: I collected 100+ open source projects offering jobs. For those who want to work on open source and get paid. open-source-jobs.com

app/favicon.ico

11.9 KB
Binary file not shown.

app/globals.css

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,24 @@
116116
* {
117117
@apply border-border outline-ring/50;
118118
}
119+
119120
body {
120121
@apply bg-background text-foreground;
121122
}
122123
}
124+
125+
@keyframes fade-in {
126+
from {
127+
opacity: 0;
128+
transform: translateY(10px);
129+
}
130+
131+
to {
132+
opacity: 1;
133+
transform: translateY(0);
134+
}
135+
}
136+
137+
.animate-fade-in {
138+
animation: fade-in 0.6s ease-out forwards;
139+
}

app/layout.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ const geistMono = Geist_Mono({
1515
export const metadata: Metadata = {
1616
title: "Open Source Jobs",
1717
description: "A list of companies that hire for open source roles.",
18+
icons: {
19+
icon: "/favicon.ico",
20+
},
1821
};
1922

2023
export default function RootLayout({

app/page.tsx

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,46 @@ export default async function Home() {
55
const jobs = await getJobs();
66

77
return (
8-
<div className="min-h-screen bg-white dark:bg-black font-sans text-zinc-900 dark:text-zinc-100">
9-
<main className="max-w-4xl mx-auto py-12 px-4 sm:px-6 lg:px-8">
10-
<div className="flex justify-between items-center mb-8">
11-
<h1 className="text-3xl font-bold tracking-tight">Open Source Jobs</h1>
12-
<a
13-
href="https://github.com/timqian/open-source-jobs/blob/main/repos.csv"
14-
target="_blank"
15-
rel="noopener noreferrer"
16-
className="inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2"
17-
>
18-
Edit
19-
</a>
8+
<div className="min-h-screen bg-gradient-to-br from-zinc-50 via-white to-zinc-50 dark:from-zinc-950 dark:via-black dark:to-zinc-950 font-sans text-zinc-900 dark:text-zinc-100">
9+
{/* Background decoration */}
10+
<div className="fixed inset-0 -z-10 overflow-hidden pointer-events-none">
11+
<div className="absolute top-0 left-1/4 w-96 h-96 bg-blue-100/20 dark:bg-blue-900/10 rounded-full blur-3xl"></div>
12+
<div className="absolute bottom-0 right-1/4 w-96 h-96 bg-purple-100/20 dark:bg-purple-900/10 rounded-full blur-3xl"></div>
13+
</div>
14+
15+
{/* Navigation */}
16+
<nav className="sticky top-0 z-50 bg-white/80 dark:bg-black/80 backdrop-blur-md border-b border-zinc-200">
17+
<div className="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
18+
<div className="flex justify-between items-center h-13">
19+
<div className="flex items-center gap-3">
20+
<a href="/" className="flex items-center gap-2 text-lg font-semibold hover:text-zinc-600 dark:hover:text-zinc-400 transition-colors">
21+
<img src="/favicon.ico" alt="Logo" className="w-8 h-8" />
22+
{/* Open Source Jobs */}
23+
</a>
24+
</div>
25+
<a
26+
href="https://github.com/timqian/open-source-jobs/blob/main/repos.csv"
27+
className="inline-flex items-center justify-center rounded-md bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 hover:bg-zinc-700 dark:hover:bg-zinc-300 text-sm font-medium px-4 py-2 transition-colors"
28+
>
29+
Post a job
30+
</a>
31+
</div>
2032
</div>
33+
</nav>
2134

22-
<div className="mb-8 text-lg text-zinc-600 dark:text-zinc-400">
23-
<p>
24-
A list of companies that hire for open source roles.
35+
{/* Hero Section */}
36+
<div className="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 pt-16 pb-8">
37+
<div className="text-center mb-12">
38+
<h1 className="text-5xl sm:text-6xl font-bold tracking-tight bg-gradient-to-r from-zinc-900 via-zinc-700 to-zinc-900 dark:from-zinc-100 dark:via-zinc-400 dark:to-zinc-100 bg-clip-text text-transparent mb-4 animate-fade-in">
39+
Open Source Jobs
40+
</h1>
41+
<p className="text-xl text-zinc-600 dark:text-zinc-400 max-w-2xl mx-auto animate-fade-in">
42+
Discover opportunities at companies that value open source contribution
2543
</p>
2644
</div>
45+
</div>
2746

47+
<main className="max-w-5xl mx-auto pb-20 px-4 sm:px-6 lg:px-8">
2848
<JobList jobs={jobs} />
2949
</main>
3050
</div>

0 commit comments

Comments
 (0)