Skip to content

Commit 745e695

Browse files
fix(schedule): improve desktop speaker photos
1 parent cfb4c83 commit 745e695

1 file changed

Lines changed: 28 additions & 54 deletions

File tree

src/components/schedule-card.tsx

Lines changed: 28 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -42,81 +42,53 @@ const TalkCard: React.FC<{
4242
return (
4343
<Card
4444
sx={{
45-
minHeight: ["auto", "12.8rem"],
45+
minHeight: "auto",
4646
border: schedule.isKeynote ? ".3rem solid #ed4337" : undefined,
47-
borderRadius: ["3.2rem", "10rem"],
47+
borderRadius: ["3.2rem", "4rem"],
4848
boxShadow: schedule.isKeynote ? "0 8px 32px -12px #ed4337" : undefined,
49+
display: photos.length ? ["flex", "grid"] : "flex",
50+
gridTemplateColumns: photos.length
51+
? invert
52+
? `minmax(0, 1fr) ${photos.length > 1 ? "12rem" : "17rem"}`
53+
: `${photos.length > 1 ? "12rem" : "17rem"} minmax(0, 1fr)`
54+
: undefined,
55+
columnGap: "2.4rem",
56+
rowGap: "1rem",
57+
alignItems: "center",
58+
justifyItems: "center",
4959
p: photos.length
50-
? [
51-
"3rem 1.5rem 1.5rem",
52-
invert ? "2rem 17rem 2rem 10rem" : "2rem 10rem 2rem 17rem",
53-
]
54-
: ["2.4rem 1.5rem 1.5rem", "2rem 10rem"],
60+
? ["3rem 1.5rem 1.6rem", "2.8rem 3rem 2.2rem"]
61+
: ["2.4rem 1.5rem 1.5rem", "2.8rem 4rem 2.2rem"],
5562
}}
5663
>
5764
{photos.length > 0 && (
5865
<Box
5966
sx={{
60-
position: "absolute",
61-
top: "50%",
62-
left: invert ? "auto" : 0,
63-
right: invert ? 0 : "auto",
64-
transform: "translateY(-50%)",
65-
display: ["none", "flex"],
66-
alignItems: "center",
67-
justifyContent: "center",
68-
width: photos.length > 1 ? "14.4rem" : undefined,
69-
height: photos.length > 1 ? "14.4rem" : undefined,
70-
}}
71-
>
72-
{photos.map((photo, index) => (
73-
<Avatar
74-
key={photo}
75-
src={photo}
76-
sx={{
77-
width: photos.length > 1 ? "10rem" : "14.4rem",
78-
height: photos.length > 1 ? "10rem" : "14.4rem",
79-
position: photos.length > 1 ? "absolute" : undefined,
80-
top:
81-
photos.length > 1 ? (index === 0 ? 0 : "4.4rem") : undefined,
82-
left:
83-
photos.length > 1 ? (index === 0 ? 0 : "4.4rem") : undefined,
84-
zIndex: photos.length - index,
85-
border: photos.length > 1 ? ".4rem solid white" : undefined,
86-
boxShadow:
87-
photos.length > 1 ? "2px 8px 24px -8px #ed4337" : undefined,
88-
}}
89-
/>
90-
))}
91-
</Box>
92-
)}
93-
94-
{photos.length > 0 && (
95-
<Box
96-
sx={{
97-
display: ["flex", "none"],
67+
gridColumn: invert ? 2 : 1,
68+
gridRow: "1 / span 2",
69+
position: "relative",
70+
display: "flex",
9871
alignItems: "center",
9972
justifyContent: "center",
100-
width: photos.length > 1 ? "7.2rem" : undefined,
101-
height: photos.length > 1 ? "7.2rem" : undefined,
102-
mb: "1rem",
103-
position: "relative",
73+
width: photos.length > 1 ? ["7.2rem", "12rem"] : ["6.4rem", "15.2rem"],
74+
height: photos.length > 1 ? ["7.2rem", "12rem"] : ["6.4rem", "15.2rem"],
75+
mb: ["1rem", 0],
10476
}}
10577
>
10678
{photos.map((photo, index) => (
10779
<Avatar
10880
key={photo}
10981
src={photo}
11082
sx={{
111-
width: photos.length > 1 ? "4.8rem" : "6.4rem",
112-
height: photos.length > 1 ? "4.8rem" : "6.4rem",
83+
width: photos.length > 1 ? ["4.8rem", "8rem"] : ["6.4rem", "15.2rem"],
84+
height: photos.length > 1 ? ["4.8rem", "8rem"] : ["6.4rem", "15.2rem"],
11385
position: photos.length > 1 ? "absolute" : undefined,
11486
top:
115-
photos.length > 1 ? (index === 0 ? 0 : "2.4rem") : undefined,
87+
photos.length > 1 ? (index === 0 ? 0 : ["2.4rem", "4rem"]) : undefined,
11688
left:
117-
photos.length > 1 ? (index === 0 ? 0 : "2.4rem") : undefined,
89+
photos.length > 1 ? (index === 0 ? 0 : ["2.4rem", "4rem"]) : undefined,
11890
zIndex: photos.length - index,
119-
border: photos.length > 1 ? ".3rem solid white" : undefined,
91+
border: photos.length > 1 ? [".3rem solid white", ".35rem solid white"] : undefined,
12092
boxShadow:
12193
photos.length > 1 ? "2px 8px 24px -8px #ed4337" : undefined,
12294
}}
@@ -128,6 +100,7 @@ const TalkCard: React.FC<{
128100
<Heading
129101
as="h2"
130102
sx={{
103+
gridColumn: photos.length ? (invert ? 1 : 2) : undefined,
131104
mt: 0,
132105
mb: ["1rem", ".5rem"],
133106
fontSize: ["1.7rem", "body"],
@@ -141,6 +114,7 @@ const TalkCard: React.FC<{
141114

142115
<Box
143116
sx={{
117+
gridColumn: photos.length ? (invert ? 1 : 2) : undefined,
144118
display: "flex",
145119
justifyContent: "center",
146120
gap: ".75rem",

0 commit comments

Comments
 (0)