Skip to content

Commit e976e75

Browse files
authored
Website: More Team Page Improvements (#801)
1 parent c493d6d commit e976e75

File tree

8 files changed

+67
-48
lines changed

8 files changed

+67
-48
lines changed

new-dti-website/components/blob.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
const RedBlob: React.FC<{ className?: string; intensity: number }> = ({ className, intensity }) => (
2020
<div
21-
className={`absolute h-[600px] w-[600px] rounded-full z-0 ${className}`}
21+
className={`absolute h-[600px] w-[600px] rounded-full z-0 select-none ${className}`}
2222
style={{
2323
backgroundImage: `radial-gradient(rgba(192, 12, 12, ${intensity}) 5%, transparent 75%)`
2424
}}

new-dti-website/components/team/MemberDisplay.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ const MemberDisplay: React.FC = () => {
4343
const target = event.target as HTMLElement;
4444
if (
4545
!(
46-
target.classList.contains('memberCard') ||
47-
target.parentElement?.classList.contains('memberCard')
46+
target.classList.contains('card-clickable') ||
47+
target.parentElement?.classList.contains('card-clickable')
4848
) &&
4949
!memberDetailsRef.current?.contains(target)
5050
)

new-dti-website/components/team/MemberGroup.tsx

+33-23
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,22 @@ const MemberSummary: React.FC<MemberSummaryProps> = ({
3030

3131
return (
3232
<div
33-
className={`memberCard flex flex-col md:gap-3 xs:gap-2 xs:text-[16px] ${
33+
className={`memberCard card-clickable flex h-full flex-col md:gap-3 xs:gap-2 xs:text-[16px] justify-between ${
3434
enlarged ? 'md:text-2xl' : 'md:text-lg'
3535
}`}
3636
>
37-
<img
38-
src={image}
39-
alt={`${firstName}-${lastName}`}
40-
className={`rounded-md ${
41-
enlarged ? 'h-[244px] w-[244px]' : 'h-[202px] w-[202px]'
42-
} object-cover`}
43-
/>
44-
<h3
45-
className={`text-left font-${enlarged ? 'semibold' : 'bold'}`}
46-
>{`${firstName} ${lastName}`}</h3>
37+
<div className="card-clickable flex flex-col md:gap-3 xs:gap-2 justify-between">
38+
<img
39+
src={image}
40+
alt={`${firstName}-${lastName}`}
41+
className={`rounded-md ${
42+
enlarged ? 'h-[244px] w-[244px]' : 'md:h-[238px] xs:h-[202px] w-full'
43+
} object-cover`}
44+
/>
45+
<h3
46+
className={`text-left font-${enlarged ? 'semibold' : 'bold'}`}
47+
>{`${firstName} ${lastName}`}</h3>
48+
</div>
4749
<p
4850
className="w-fit h-[32px] flex items-center px-[12px] py-[4px] rounded-2xl text-[14px]"
4951
style={{ backgroundColor: chipColor }}
@@ -65,7 +67,7 @@ type MemberCardProps = {
6567

6668
const MemberCard: React.FC<MemberCardProps> = (props: MemberCardProps) => (
6769
<Card
68-
className={`memberCard w-fit md:p-3 md:pb-4 xs:p-2 xs:pb-3 h-fit justify-self-center ${
70+
className={`memberCard card-clickable w-full md:p-3 md:pb-4 xs:p-2 xs:pb-3 h-fit grow ${
6971
props.cardState ? 'opacity-70 hover:opacity-100' : 'opacity-100'
7072
}`}
7173
>
@@ -101,7 +103,7 @@ export const MemberDetails: React.FC<MemberDetailsProps> = (props: MemberDetails
101103
: { name: 'No Subteam', link: '' };
102104

103105
return (
104-
<Card className="flex flex-col gap-5 md:p-7 xs:p-4 xs:pr-2 rounded-[20px]">
106+
<Card className="flex flex-col gap-5 md:p-7 xs:p-4 xs:pr-2 rounded-lg">
105107
<div className="flex lg:gap-10">
106108
<div className="w-3/12 lg:flex xs:hidden">
107109
<MemberSummary {...props} enlarged={true} />
@@ -155,13 +157,13 @@ export const MemberDetails: React.FC<MemberDetailsProps> = (props: MemberDetails
155157
}`}
156158
>
157159
{link ? (
158-
<a href={link} className="whitespace-nowrap">
160+
<a href={link} className="flex whitespace-nowrap">
159161
{name}
162+
{link && <Image src="/icons/link.svg" alt="link" height={20} width={20} />}
160163
</a>
161164
) : (
162165
<p>{name}</p>
163166
)}
164-
{link && <Image src="/icons/link.svg" alt="link" height={20} width={20} />}
165167
</div>
166168
</div>
167169
<div className="flex flex-col gap-2 md:w-1/3 xs:w-1/2">
@@ -171,12 +173,17 @@ export const MemberDetails: React.FC<MemberDetailsProps> = (props: MemberDetails
171173
const link = props[icon.alt as keyof typeof props] as string | null;
172174
return (
173175
link && (
174-
<a href={icon.alt === 'email' ? `mailto:${link}` : `${link}`} key={icon.alt}>
176+
<a
177+
href={icon.alt === 'email' ? `mailto:${link}` : `${link}`}
178+
key={icon.alt}
179+
className="icons"
180+
>
175181
<Image
176182
src={icon.src}
177183
alt={icon.alt}
178184
height={icon.height}
179185
width={icon.width}
186+
className="opacity-100 hover:opacity-60"
180187
/>
181188
</a>
182189
)
@@ -198,7 +205,7 @@ export const MemberDetails: React.FC<MemberDetailsProps> = (props: MemberDetails
198205
alt="calendar"
199206
width={24}
200207
height={24}
201-
className={hover ? 'brightness-0 invert' : ''}
208+
className={hover ? 'coffee-calendar-hover' : ''}
202209
/>
203210
<p className="font-bold text-lg text-inherit whitespace-nowrap">Chat with me</p>
204211
</a>
@@ -224,11 +231,11 @@ export const MemberDetails: React.FC<MemberDetailsProps> = (props: MemberDetails
224231
>
225232
<div className="flex gap-3 w-max">
226233
<Image
227-
src="/icons/calendar.svg"
234+
src="/icons/red_calendar.svg"
228235
alt="calendar"
229236
width={24}
230237
height={24}
231-
className={hover ? 'brightness-0 invert' : ''}
238+
className={hover ? 'coffee-calendar-hover' : ''}
232239
/>
233240
<p className="font-bold text-base text-inherit whitespace-nowrap">Chat with me</p>
234241
</div>
@@ -317,7 +324,7 @@ const MemberGroup: React.FC<MemberGroupProps> = ({
317324
<>
318325
<button
319326
onClick={() => onMemberCardClick(member)}
320-
className="memberCard custom-focus-state"
327+
className="memberCard card-clickable flex flex-col items-center custom-focus-state"
321328
aria-label={`open ${member.firstName} ${member.lastName}'s details`}
322329
>
323330
<MemberCard
@@ -328,7 +335,10 @@ const MemberGroup: React.FC<MemberGroupProps> = ({
328335
/>
329336
</button>
330337
{selectedMember && canInsertMemberDetails(index) && (
331-
<div className="lg:col-span-4 md:col-span-3 xs:col-span-2" ref={memberDetailsRef}>
338+
<div
339+
className="lg:col-span-4 md:col-span-3 xs:col-span-2 rounded-lg"
340+
ref={memberDetailsRef}
341+
>
332342
<MemberDetails
333343
{...selectedMember}
334344
image={`team/${selectedMember.netid}.jpg`}
@@ -348,13 +358,13 @@ const MemberGroup: React.FC<MemberGroupProps> = ({
348358
<p className="mt-3 md:text-xl xs:text-sm">{description}</p>
349359
<div
350360
className="grid lg:grid-cols-4 md:grid-cols-3 xs:grid-cols-2 md:gap-10
351-
xs:gap-x-1.5 xs:gap-y-5 md:mt-10 xs:mt-5"
361+
xs:gap-5 md:mt-10 xs:mt-5"
352362
>
353363
{members.map((member, index) => (
354364
<>
355365
<button
356366
onClick={() => onMemberCardClick(member)}
357-
className="memberCard custom-focus-state"
367+
className="memberCard card-clickable flex flex-col items-center custom-focus-state"
358368
aria-label={`open ${member.firstName} ${member.lastName}'s details`}
359369
>
360370
<MemberCard

new-dti-website/components/team/TeamAbout.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ const TeamAbout = () => (
239239
<SectionWrapper id={'Team Page About Section information'}>
240240
<div className="flex flex-col gap-12 relative z-10">
241241
<div className="flex flex-col items-center">
242-
<div className="flex md:flex-row xs:flex-col justify-between gap-[30px] items-center">
242+
<div className="flex md:flex-row xs:flex-col justify-between gap-[30px] items-center xs:mb-8 md:mb-0">
243243
<div className="flex flex-col md:w-1/2 gap-6">
244244
<h2 className="font-semibold text-[32px]">We are Cornell DTI</h2>
245245
<p className="md:text-lg xs:text-sm">
@@ -248,25 +248,25 @@ const TeamAbout = () => (
248248
</p>
249249
</div>
250250
<div className={`${ibm_plex_mono.className} text-sm`}>
251-
<p className="text-left mb-3">@2024</p>
252251
<Image
253252
src="/images/dti_2024.png"
254253
alt="2024 DTI Team"
255254
width={490}
256255
height={370}
257256
className="rounded-[23px] lg:w-[490px] md:w-[383px] xs:w-[350px] h-auto"
258257
/>
258+
<p className="text-left mt-3 text-right">@2024</p>
259259
</div>
260260
</div>
261261
<div className={`${ibm_plex_mono.className} text-sm relative w-fit xl:bottom-[84px]`}>
262-
<p className="mb-3 text-sm">@2017</p>
263262
<Image
264263
src="/images/dti_2017.png"
265264
alt="2017 DTI Team"
266265
width={453}
267266
height={305}
268267
className="rounded-[23px] lg:w-[490px] md:w-[383px] xs:w-[350px] h-auto"
269268
/>
269+
<p className="mt-3 text-sm text-right">@2017</p>
270270
</div>
271271
</div>
272272

new-dti-website/components/team/TeamFooter.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ const TeamFooter = () => {
5151
<SectionWrapper id={'Team Page Footer Information'}>
5252
<div className="flex md:flex-row xs:flex-col lg:gap-[60px] md:gap-10 xs:gap-8 items-center">
5353
<Image
54-
src="/images/full-team.png"
55-
alt="team picture"
56-
width={412}
57-
height={312}
54+
src="/images/dti_2024.png"
55+
alt="2024 DTI Team Picture"
56+
width={490}
57+
height={370}
5858
className="lg:w-[412px] xs:w-[360px] rounded-xl"
5959
/>
6060
<div className="flex flex-col gap-[20px] items-start w-2/3">

new-dti-website/components/team/data/roles.json

+13-13
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,35 @@
33
"roleName": "Leads",
44
"description": "Striving to connect and mentor our members for their best growth.",
55
"members": [],
6-
"roles": ["lead", "ops-lead", "product-lead", "dev-lead", "design-lead", "business-lead"],
6+
"roles": ["lead", "ops-lead", "dev-lead", "design-lead", "business-lead", "product-lead"],
77
"color": "#FFD0D0"
88
},
9+
"developer": {
10+
"roleName": "Development",
11+
"description": "Building, testing, and optimizing our applications.",
12+
"members": [],
13+
"roles": ["dev-lead", "tpm", "developer", "dev-advisor"],
14+
"color": "#BCECC3"
15+
},
916
"designer": {
1017
"roleName": "Design",
1118
"description": "Designing quality products, keeping users at the center of it all.",
1219
"members": [],
1320
"roles": ["design-lead", "designer", "design-advisor"],
1421
"color": "#ADD3F9"
1522
},
16-
"pm": {
17-
"roleName": "Product",
18-
"description": "Leading product development to positively impact the community.",
19-
"members": [],
20-
"roles": ["product-lead", "pm", "apm", "pm-advisor"],
21-
"color": "#DEBDFE"
22-
},
2323
"business": {
2424
"roleName": "Business",
2525
"description": "Bringing products and events to the community.",
2626
"members": [],
2727
"roles": ["business-lead", "business", "business-advisor"],
2828
"color": "#F9D6AD"
2929
},
30-
"developer": {
31-
"roleName": "Development",
32-
"description": "Building, testing, and optimizing our applications.",
30+
"pm": {
31+
"roleName": "Product",
32+
"description": "Leading product development to positively impact the community.",
3333
"members": [],
34-
"roles": ["dev-lead", "tpm", "developer", "dev-advisor"],
35-
"color": "#BCECC3"
34+
"roles": ["product-lead", "pm", "apm", "pm-advisor"],
35+
"color": "#DEBDFE"
3636
}
3737
}

new-dti-website/src/app/course/page.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ export default function Courses() {
5151
const target = event.target as HTMLElement;
5252
if (
5353
!(
54-
target.classList.contains('memberCard') ||
55-
target.parentElement?.classList.contains('memberCard')
54+
target.classList.contains('card-clickable') ||
55+
target.parentElement?.classList.contains('card-clickable')
5656
) &&
5757
!memberDetailsRef.current?.contains(target)
5858
)

new-dti-website/src/app/globals.css

+9
Original file line numberDiff line numberDiff line change
@@ -306,3 +306,12 @@ details[open] > summary::after {
306306
left: -13px;
307307
border-radius: 16px;
308308
}
309+
310+
.icons:focus-visible {
311+
opacity: 0.6;
312+
}
313+
314+
.coffee-calendar-hover {
315+
filter: brightness(0) invert(1);
316+
-webkit-filter: brightness(0) invert(1);
317+
}

0 commit comments

Comments
 (0)