Skip to content

Commit f247447

Browse files
committed
Added better placeholders for each section
1 parent b564ea4 commit f247447

4 files changed

Lines changed: 86 additions & 31 deletions

File tree

src/components/EventCard.tsx

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -167,22 +167,24 @@ const EventCard: React.FC<EventCardProps> = ({ event }) => {
167167
</CardContent>
168168

169169
{/* Link to event */}
170-
<CardFooter className="pt-2 border-t">
171-
<a
172-
href={link.url}
173-
target="_blank"
174-
rel="noopener noreferrer"
175-
className="w-full"
176-
>
177-
<Button
178-
variant="outline"
179-
className="w-full flex items-center justify-center gap-2 border-primary-blue text-primary-blue hover:bg-primary-blue hover:text-white"
170+
{link?.url && (
171+
<CardFooter className="pt-2 border-t">
172+
<a
173+
href={link.url}
174+
target="_blank"
175+
rel="noopener noreferrer"
176+
className="w-full"
180177
>
181-
{getLinkIcon(link.type)}
182-
<span className="truncate">{getLinkText(link.type)}</span>
183-
</Button>
184-
</a>
185-
</CardFooter>
178+
<Button
179+
variant="outline"
180+
className="w-full flex items-center justify-center gap-2 border-primary-blue text-primary-blue hover:bg-primary-blue hover:text-white"
181+
>
182+
{getLinkIcon(link.type)}
183+
<span className="truncate">{getLinkText(link.type)}</span>
184+
</Button>
185+
</a>
186+
</CardFooter>
187+
)}
186188
</Card>
187189
);
188190
};

src/components/ProjectCard.tsx

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,54 @@ const ProjectCard: React.FC<ProjectCardProps> = ({ project }) => {
3232
return (
3333
<Card className="overflow-hidden h-full flex flex-col transition-all hover:shadow-md">
3434
<div className="relative h-48">
35-
<img
36-
src={image || "/placeholder.svg"}
37-
alt={title}
38-
className="w-full h-full object-cover"
39-
/>
35+
{image ? (
36+
<img
37+
src={image}
38+
alt={title}
39+
className="w-full h-full object-cover"
40+
/>
41+
) : (
42+
<div className="w-full h-full bg-gradient-to-br from-primary-blue/10 to-primary-blue/5 flex items-center justify-center">
43+
<svg
44+
width="120"
45+
height="120"
46+
viewBox="0 0 120 120"
47+
fill="none"
48+
xmlns="http://www.w3.org/2000/svg"
49+
className="opacity-50"
50+
>
51+
{/* Circuit Board Base */}
52+
<rect x="20" y="20" width="80" height="80" rx="8" fill="#AB9A89" />
53+
54+
{/* Circuit Traces */}
55+
<path d="M30 40h60" stroke="rgb(51 51 81)" strokeWidth="2" />
56+
<path d="M30 60h60" stroke="rgb(51 51 81)" strokeWidth="2" />
57+
<path d="M30 80h60" stroke="rgb(51 51 81)" strokeWidth="2" />
58+
<path d="M40 30v60" stroke="rgb(51 51 81)" strokeWidth="2" />
59+
<path d="M60 30v60" stroke="rgb(51 51 81)" strokeWidth="2" />
60+
<path d="M80 30v60" stroke="rgb(51 51 81)" strokeWidth="2" />
61+
62+
{/* Circuit Components */}
63+
{/* Microchip */}
64+
<rect x="45" y="45" width="30" height="30" rx="2" fill="rgb(51 51 81)" />
65+
<rect x="50" y="50" width="20" height="20" rx="1" fill="rgb(248 221 186)" />
66+
67+
{/* Capacitors */}
68+
<rect x="35" y="35" width="4" height="10" fill="rgb(248 221 186)" />
69+
<rect x="81" y="35" width="4" height="10" fill="rgb(248 221 186)" />
70+
<rect x="35" y="75" width="4" height="10" fill="rgb(248 221 186)" />
71+
<rect x="81" y="75" width="4" height="10" fill="rgb(248 221 186)" />
72+
73+
{/* Connection Points */}
74+
<circle cx="30" cy="40" r="2" fill="rgb(248 221 186)" />
75+
<circle cx="90" cy="40" r="2" fill="rgb(248 221 186)" />
76+
<circle cx="30" cy="60" r="2" fill="rgb(248 221 186)" />
77+
<circle cx="90" cy="60" r="2" fill="rgb(248 221 186)" />
78+
<circle cx="30" cy="80" r="2" fill="rgb(248 221 186)" />
79+
<circle cx="90" cy="80" r="2" fill="rgb(248 221 186)" />
80+
</svg>
81+
</div>
82+
)}
4083
<div className="absolute top-3 left-3">
4184
<Badge
4285
variant="secondary"

src/components/TeamMember.tsx

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,35 @@ const TeamMember: React.FC<TeamMemberProps> = ({
5151
</div>
5252
) : !isOpenPosition ? (
5353
// Placeholder image if no image and not open position
54-
<div className="w-full h-60 flex items-center justify-center bg-gray-100">
54+
<div className="w-full h-60 flex items-center justify-center bg-gradient-to-br from-primary-blue/10 to-primary-blue/5">
5555
<svg
5656
width="120"
5757
height="120"
5858
viewBox="0 0 120 120"
5959
fill="none"
6060
xmlns="http://www.w3.org/2000/svg"
61-
className="text-gray-300"
61+
className="opacity-50"
6262
>
63-
{/* Person silhouette */}
64-
<circle cx="60" cy="40" r="25" fill="currentColor" />
63+
{/* Fun character design */}
64+
{/* Head */}
65+
<circle cx="60" cy="45" r="25" fill="rgb(248 221 186)" />
66+
67+
{/* Eyes */}
68+
<circle cx="50" cy="40" r="4" fill="rgb(51 51 81)" />
69+
<circle cx="70" cy="40" r="4" fill="rgb(51 51 81)" />
70+
71+
{/* Smile */}
72+
<path d="M50 55 Q60 65 70 55" stroke="rgb(51 51 81)" strokeWidth="2" strokeLinecap="round" />
73+
74+
{/* Body */}
6575
<path
66-
d="M30 100C30 83.4315 43.4315 70 60 70C76.5685 70 90 83.4315 90 100"
67-
fill="currentColor"
76+
d="M40 100C40 85.4315 50 75 60 75C70 75 80 85.4315 80 100"
77+
fill="rgb(248 221 186)"
6878
/>
79+
80+
{/* Connection lines */}
81+
<path d="M25 85L40 100" stroke="#AB9A89" strokeWidth="2" />
82+
<path d="M95 85L80 100" stroke="#AB9A89" strokeWidth="2" />
6983
</svg>
7084
</div>
7185
) : (

src/data/eventsData.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export interface Event {
3333
description: string;
3434
date: string; // Format: YYYY-MM-DD
3535
image?: string;
36-
link: {
36+
link?: {
3737
url: string;
3838
type: "instagram" | "signup" | "linkedin" | "luma" | "other";
3939
};
@@ -53,10 +53,6 @@ export const eventsData: Event[] = [
5353
title: "ASIP Hackathon 2025",
5454
description: "A hackathon focused on Application-Specific Instruction Set Processors using the ASIP Designer Tool from Synopsys. Participants developed ML inference accelerators with guidance from industry experts.",
5555
date: "2025-03-15",
56-
link: {
57-
url: "https://www.linkedin.com/events/asiphackathon2025/",
58-
type: "linkedin"
59-
},
6056
organizers: [
6157
{ name: "Agustin N. Coppari Hollmann", role: "Lead Organizer" },
6258
{ name: "Ipek Akdeniz", role: "Co-organizer" },

0 commit comments

Comments
 (0)