Skip to content

Commit 0f226b5

Browse files
committed
Hide sponsor card on mobile, fix ts warnings.
1 parent 523f286 commit 0f226b5

7 files changed

Lines changed: 26 additions & 30 deletions

File tree

src/components/JobCard.astro

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
---
22
import CardContent from "@components/CardContent.astro";
3-
const { job } = Astro.props;
4-
const { title, sponsor, location, type, level, salary, tags, description, responsibilities, requirements, benefits, apply_link } = job.data;
3+
const { job, sponsor } = Astro.props;
4+
5+
// TODO: add tags
6+
const { title, location, type, level, salary, description, responsibilities, requirements, benefits, apply_link } = job.data;
7+
8+
9+
510
---
611

712
<div class="mb-6 last:mb-0">
813
<div class="flex-1 p-6 rounded-lg shadow-md bg-white">
914
<a href={`/sponsor/${job.id}`}>
1015
<h2 class="text-3xl font-bold mb-2">{title}</h2>
1116
</a>
17+
18+
<a class="lg:hidden text-[#1a56db] hover:text-[#4f46e5] text-xl pb-2 inline-block font-bold" href={`/sponsor/${sponsor.id}`}>
19+
{sponsor.data.name}
20+
</a>
21+
1222
{ level && type && location &&
1323
<p class="text-gray-600 mb-2">{level}{type}{location}</p>
1424
}
@@ -18,21 +28,21 @@ const { title, sponsor, location, type, level, salary, tags, description, respon
1828
{ responsibilities &&
1929
<h3 class="text-xl font-semibold mb-2">Responsibilities</h3>
2030
<ul class="list-disc list-inside mb-4">
21-
{responsibilities.map(item => <li>{item}</li>)}
31+
{responsibilities.map((item:string ) => <li>{item}</li>)}
2232
</ul>
2333
}
2434

2535
{ requirements &&
2636
<h3 class="text-xl font-semibold mb-2">Requirements</h3>
2737
<ul class="list-disc list-inside mb-4">
28-
{requirements.map(item => <li>{item}</li>)}
38+
{requirements.map((item:string) => <li>{item}</li>)}
2939
</ul>
3040
}
3141

3242
{ benefits &&
3343
<h3 class="text-xl font-semibold mb-2">Benefits</h3>
3444
<ul class="list-disc list-inside mb-6">
35-
{benefits.map(item => <li>{item}</li>)}
45+
{benefits.map((item:string) => <li>{item}</li>)}
3646
</ul>
3747
}
3848

src/components/SponsorCard.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ const socialLinks = [
122122
.filter((link) => socials?.[link.key])
123123
.map((link) => {
124124
const url = socials[link.key];
125-
let iconColor;
125+
let iconColor:string;
126126

127127
// Assign colors based on social media platform
128128
switch(link.key) {

src/components/TwoCols.astro

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
const {content, sidebar } = Astro.props;
32
---
43
<section class="space-y-12 pb-6 md:p-6">
54
<div class="flex flex-col lg:flex-row-reverse gap-6">

src/content/config.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,10 @@
11
import { defineCollection, reference, z } from "astro:content";
22
import { loadData } from "@utils/dataLoader";
3-
import { glob, file } from "astro/loaders";
3+
import { glob } from "astro/loaders";
44

55
const mode = import.meta.env.MODE;
66
console.log(`\x1b[35m[EP]\x1b[0m Current MODE: \x1b[1m\x1b[34m${mode}\x1b[0m`);
77

8-
const tiers = [
9-
"Keystone",
10-
"Diamond",
11-
"Platinum",
12-
"Platinum X",
13-
"Gold",
14-
"Silver",
15-
"Bronze",
16-
"Patron",
17-
"Financial Aid",
18-
"Supporters",
19-
"Partners",
20-
] as const;
21-
228
const pages = defineCollection({
239
type: "content",
2410
schema: z.object({

src/pages/jobs.astro

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ for (const path in jobFiles) {
4141
if (!sponsorJobs) return;
4242
return (
4343
<TwoCols>
44-
<Fragment slot="content">
44+
<div slot="content" class="hidden lg:block">
4545
<SponsorCard {sponsor} />
46-
</Fragment>
46+
</div>
4747
<Fragment slot="sidebar">
4848
{sponsorJobs && sponsorJobs.length > 0 && (
4949
<>
5050
{sponsorJobs.map((job) => (
51-
<JobCard {job} />
51+
<JobCard {job} {sponsor} />
5252
))}
5353
</>
5454
)}

src/pages/sponsor/[sponsor]/[job].astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export async function getStaticPaths() {
3636
<SponsorCard {sponsor} showJobs />
3737
</Fragment>
3838
<Fragment slot="sidebar">
39-
{(<JobCard {job} />)}
39+
{(<JobCard {job} {sponsor} />)}
4040
</Fragment>
4141
</TwoCols>
4242
</Layout>

src/pages/sponsors.astro

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@ const tiers = [
2525
// Group sponsors by their tier
2626
const grouped = sponsors.reduce((acc, sponsor) => {
2727
const tier = sponsor.data.tier;
28-
if (!acc[tier]) {
29-
acc[tier] = [];
28+
const key = tier ?? 'unknown';
29+
if (!acc[key]) {
30+
acc[key] = [];
3031
}
31-
acc[tier].push(sponsor);
32+
acc[key].push(sponsor);
3233
return acc;
3334
}, {} as Record<string, CollectionEntry<"sponsors">[]>);
3435
---
@@ -44,7 +45,7 @@ const grouped = sponsors.reduce((acc, sponsor) => {
4445
{tiers.map((tier) => {
4546
const tiersponsors = grouped[tier];
4647
return tiersponsors?.length ? (
47-
<section key={tier} class="mb-12">
48+
<section class="mb-12">
4849
<Headline id=`tier-${slugify(tier)}` title={tier} />
4950
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 p-4 md:p-6">
5051
{tiersponsors.map((sponsor) => (

0 commit comments

Comments
 (0)