From e2053e62b1e9db169ec53fcbf6867eb1a5175337 Mon Sep 17 00:00:00 2001 From: b38peng Date: Sun, 11 Jul 2021 14:13:20 -0300 Subject: [PATCH] mobile exec popup --- components/TeamMember.module.css | 13 +++--- components/TeamMember.tsx | 5 ++- pages/about/team.module.css | 52 +++++++++++++++++++++++- pages/about/team.tsx | 65 ++++++++++++++++++++++++++---- public/images/team/popup-close.svg | 4 ++ 5 files changed, 123 insertions(+), 16 deletions(-) create mode 100644 public/images/team/popup-close.svg diff --git a/components/TeamMember.module.css b/components/TeamMember.module.css index 6824f042..0a764cb8 100644 --- a/components/TeamMember.module.css +++ b/components/TeamMember.module.css @@ -11,12 +11,12 @@ object-fit: cover; } -.small { +.img_small { width: calc(110rem / 16); height: calc(110rem / 16); } -.medium { +.img_medium { width: calc(130rem / 16); height: calc(130rem / 16); } @@ -41,13 +41,16 @@ width: min-content; } - .small { + .img_small { width: calc(85rem / 16); height: calc(85rem / 16); } - .name, - .role { + .caption { font-size: calc(11rem / 16); } + + .caption_medium { + font-size: calc(14rem / 16); + } } diff --git a/components/TeamMember.tsx b/components/TeamMember.tsx index 1a6f5be0..453b097b 100644 --- a/components/TeamMember.tsx +++ b/components/TeamMember.tsx @@ -15,7 +15,8 @@ export const TeamMember: React.FC = ({ image, size, }) => { - const imgSize = size ? size : "small"; + const imgSize = size ? "img_" + size : "img_small"; + const captionSize = size ? "caption_" + size : ""; return (
= ({ src={image ?? "/images/team-member-placeholder.svg"} alt={`Picture of ${name}`} /> -
+
{name}
{role}
diff --git a/pages/about/team.module.css b/pages/about/team.module.css index ea1315d9..262c7c5f 100644 --- a/pages/about/team.module.css +++ b/pages/about/team.module.css @@ -37,6 +37,55 @@ display: none; } +.reset_button { + /* reset default button styling */ + background: transparent; + border: 0px solid transparent; + font-family: inherit; + line-height: inherit; +} + +.execButton { + display: flex; + justify-content: center; +} + +.popup_background { + position: fixed; + background-color: var(--navbar-gray); + width: 100%; + height: 100%; + top: 0; + left: 0; +} + +.popup_container { + position: fixed; + background-color: var(--off-white); + padding: calc(20rem / 16) calc(40rem / 16); + top: 0; + left: 0; +} + +.popup_content { + display: flex; + flex-direction: column; +} + +.close { + float: right; +} + +.exec { + display: flex; + flex-direction: column; + align-items: center; +} + +.exec > p { + font-size: calc(14rem / 16); +} + .execsDesktop { display: flex; flex-direction: column; @@ -104,10 +153,9 @@ .execsMobile { display: grid; - grid-template-columns: repeat(auto-fill, minmax(calc(100rem / 16), 1fr)); + grid-template-columns: repeat(auto-fill, minmax(calc(130rem / 16), 1fr)); row-gap: calc(24rem / 16); column-gap: calc(24rem / 16); - justify-items: center; } .execsDesktop { diff --git a/pages/about/team.tsx b/pages/about/team.tsx index b08d68d0..c61fd7b9 100644 --- a/pages/about/team.tsx +++ b/pages/about/team.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { ComponentType, ReactNode, useState } from "react"; import { MDXProvider } from "@mdx-js/react"; import { Image } from "../../components/Image"; import { TeamMemberCard } from "../../components/TeamMemberCard"; @@ -27,7 +27,6 @@ import MaxErenberg, { } from "../../content/meet-the-team/execs/Max-Erenberg.team-member.mdx"; // TODO: get hotdog for elections -// mobile export default function MeetTheTeam() { return ( @@ -78,11 +77,11 @@ export default function MeetTheTeam() {
- - - - - + + + + +

Programme Committee

@@ -115,6 +114,15 @@ interface Metadata { image?: string; } +interface MobileExecProps { + metadata: Metadata; + content: ComponentType; +} + +interface Propup extends MobileExecProps { + handleClose: () => void; +} + function MembersList(props: MembersProps) { return (
@@ -125,6 +133,49 @@ function MembersList(props: MembersProps) { ); } +function MobileExec(props: MobileExecProps) { + const [isOpen, setIsOpen] = useState(false); + const togglePopup = () => { + setIsOpen(!isOpen); + }; + return ( + <> + + {isOpen && ( + <> +
+ + + )} + + ); +} + +function ExecPopup(props: Propup) { + return ( +
+
+ +
+ + +
+
+
+ ); +} + // -- Dynamic Import logic -- // import { readdirSync } from "fs"; diff --git a/public/images/team/popup-close.svg b/public/images/team/popup-close.svg new file mode 100644 index 00000000..5e462dda --- /dev/null +++ b/public/images/team/popup-close.svg @@ -0,0 +1,4 @@ + + + +