@@ -48,9 +48,7 @@ export function JobList({ jobs }: JobListProps) {
4848 }
4949
5050 result . sort ( ( a , b ) => {
51- const repoA = a . repository . split ( "/" ) [ 1 ] || a . repository ;
52- const repoB = b . repository . split ( "/" ) [ 1 ] || b . repository ;
53- return repoA . localeCompare ( repoB ) ;
51+ return a . companyName . localeCompare ( b . companyName ) ;
5452 } ) ;
5553
5654 return result ;
@@ -107,11 +105,11 @@ export function JobList({ jobs }: JobListProps) {
107105 < Table >
108106 < TableHeader >
109107 < TableRow >
110- < TableHead className = "w-[300px]" > Repository </ TableHead >
111- < TableHead > Description </ TableHead >
112- < TableHead > Language</ TableHead >
113- < TableHead > Tags</ TableHead >
114- < TableHead className = "text-right" > Job Page</ TableHead >
108+ < TableHead className = "w-[200px] font-semibold text-zinc-900 dark:text-zinc-100" > Company </ TableHead >
109+ < TableHead className = "w-[350px] font-semibold text-zinc-900 dark:text-zinc-100" > Repository </ TableHead >
110+ < TableHead className = "font-semibold text-zinc-900 dark:text-zinc-100" > Language</ TableHead >
111+ < TableHead className = "font-semibold text-zinc-900 dark:text-zinc-100" > Tags</ TableHead >
112+ < TableHead className = "text-right font-semibold text-zinc-900 dark:text-zinc-100 " > Job Page</ TableHead >
115113 </ TableRow >
116114 </ TableHeader >
117115 < TableBody >
@@ -120,26 +118,48 @@ export function JobList({ jobs }: JobListProps) {
120118 return (
121119 < TableRow key = { job . repository } >
122120 < TableCell className = "font-medium" >
123- < div className = "flex items-center gap-2 flex-wrap" >
124- < a
125- href = { `https://github.com/${ job . repository } ` }
126- target = "_blank"
127- rel = "noopener noreferrer"
128- className = "text-base hover:underline"
129- >
130- < span className = "text-zinc-500 dark:text-zinc-400" >
131- { org } /
132- </ span >
133- < span className = "font-semibold" > { repo } </ span >
134- </ a >
121+ < a
122+ href = { job . companyUrl }
123+ target = "_blank"
124+ rel = "noopener noreferrer"
125+ className = "flex items-center gap-2 text-base font-semibold hover:underline text-zinc-900 dark:text-zinc-100"
126+ >
135127 < img
136- src = { `https://img.shields.io/github/stars/${ job . repository } .svg?style=social&label=%20` }
137- alt = { `${ job . repository } stars` }
138- className = "h-5"
128+ src = { `https://www.google.com/s2/favicons?domain=${ job . companyUrl } &sz=32` }
129+ alt = { `${ job . companyName } favicon` }
130+ className = "w-4 h-4 rounded-sm"
131+ onError = { ( e ) => {
132+ e . currentTarget . style . display = 'none' ;
133+ } }
139134 />
135+ { job . companyName }
136+ </ a >
137+ </ TableCell >
138+ < TableCell >
139+ < div className = "flex flex-col gap-2" >
140+ < div className = "flex items-center gap-2 flex-wrap" >
141+ < a
142+ href = { `https://github.com/${ job . repository } ` }
143+ target = "_blank"
144+ rel = "noopener noreferrer"
145+ className = "text-base hover:underline"
146+ >
147+ < span className = "text-zinc-500 dark:text-zinc-400 font-normal" >
148+
149+ </ span >
150+ < span className = "font-semibold text-zinc-900 dark:text-zinc-100" > { org } /{ repo } </ span >
151+ </ a >
152+ < img
153+ src = { `https://img.shields.io/github/stars/${ job . repository } .svg?style=social&label=%20` }
154+ alt = { `${ job . repository } stars` }
155+ className = "h-5"
156+ />
157+ </ div >
158+ < div className = "text-sm text-zinc-600 dark:text-zinc-400 font-normal leading-relaxed" >
159+ { job . description }
160+ </ div >
140161 </ div >
141162 </ TableCell >
142- < TableCell > { job . description } </ TableCell >
143163 < TableCell >
144164 { job . language && (
145165 < span className = "inline-flex items-center rounded-md bg-blue-50 px-2 py-1 text-xs font-medium text-blue-700 ring-1 ring-inset ring-blue-700/10 dark:bg-blue-900/30 dark:text-blue-400 dark:ring-blue-400/30" >
@@ -164,7 +184,7 @@ export function JobList({ jobs }: JobListProps) {
164184 href = { job . jobPage }
165185 target = "_blank"
166186 rel = "noopener noreferrer"
167- className = "text- blue-600 hover:underline dark:text -blue-400 "
187+ className = "inline-flex items-center justify-center rounded-md bg- blue-600 hover:bg-blue-700 dark:bg -blue-500 dark:hover:bg-blue-600 text-white text-sm font-medium px-4 py-1.5 transition-colors "
168188 >
169189 Apply
170190 </ a >
0 commit comments