From 2a5f7e17928429114aca1d18ef2192b178173f91 Mon Sep 17 00:00:00 2001 From: slugb0t Date: Mon, 23 Dec 2024 10:13:03 -0800 Subject: [PATCH 01/10] refactor: :recycle: remove action workflow --- .github/workflows/release-please.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 .github/workflows/release-please.yml diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml deleted file mode 100644 index 7112600..0000000 --- a/.github/workflows/release-please.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: release-please -on: - push: - branches: - - main - workflow_dispatch: - -permissions: - contents: write - pull-requests: write - -jobs: - release-please: - runs-on: ubuntu-latest - steps: - - uses: google-github-actions/release-please-action@v3 - with: - release-type: node - package-name: aireadi.org From 585a5ac2ef81cd41c265b08944ea3660db889242 Mon Sep 17 00:00:00 2001 From: slugb0t Date: Mon, 23 Dec 2024 12:13:09 -0800 Subject: [PATCH 02/10] refactor: :recycle: :construction: creating team member component --- public/data/team.json | 30 +++ src/pages/team/index.tsx | 543 +++++++++++++++++++++------------------ tailwind.config.js | 5 + 3 files changed, 330 insertions(+), 248 deletions(-) diff --git a/public/data/team.json b/public/data/team.json index d5eedc1..2a8175c 100644 --- a/public/data/team.json +++ b/public/data/team.json @@ -16,6 +16,16 @@ "american-indian-engagement", "data-collection" ], + "education": [ + { "degree": "MD Internal Medicine", "institution": "" }, + { "degree": "MS Ophthalmology", "institution": "" }, + { "degree": "MCR Translational Research", "institution": "" } + ], + "expertise": [ + "Translational Medicine", + "Research Methodology Training", + "Grant Writing" + ], "social": { "website": ["https://fairdataihub.org"], "linkedin": "https://linkedin.com/in/bvhpatel", @@ -34,6 +44,16 @@ "image": "https://ucarecdn.com/dca922ac-d2dc-4fb4-8c37-5bdc2d5aa768/-/quality/smart_retina/-/format/auto/-/progressive/yes/", "moduleImageParams": "-/crop/face/200px150p/", "modules": ["data-sharing", "data-sharing", "data-collection"], + "education": [ + { "degree": "MD Internal Medicine", "institution": "" }, + { "degree": "MS Ophthalmology", "institution": "" }, + { "degree": "MCR Translational Research", "institution": "" } + ], + "expertise": [ + "Translational Medicine", + "Research Methodology Training", + "Grant Writing" + ], "social": { "website": ["https://sanjaysoundarajan.dev"], "github": "https://github.com/megasanjay", @@ -52,6 +72,16 @@ "image": "https://ucarecdn.com/a3ed77eb-24bc-4b55-b8f9-118a9d07f760/-/quality/smart_retina/-/format/auto/-/progressive/yes/", "moduleImageParams": "-/crop/face/200px200p/", "modules": ["data-sharing", "data-collection"], + "education": [ + { "degree": "MD Internal Medicine", "institution": "" }, + { "degree": "MS Ophthalmology", "institution": "" }, + { "degree": "MCR Translational Research", "institution": "" } + ], + "expertise": [ + "Translational Medicine", + "Research Methodology Training", + "Grant Writing" + ], "social": { "website": ["https://dorianportillo.dev"], "github": "https://github.com/slugb0t", diff --git a/src/pages/team/index.tsx b/src/pages/team/index.tsx index 15addd3..5b071bd 100644 --- a/src/pages/team/index.tsx +++ b/src/pages/team/index.tsx @@ -1,255 +1,317 @@ /* eslint-disable @next/next/no-img-element */ -import { Divider } from '@chakra-ui/react'; +import { + Grid, + GridItem, + Modal, + ModalBody, + ModalCloseButton, + ModalContent, + ModalOverlay, + Tag, + useDisclosure, + VStack, +} from '@chakra-ui/react'; import { SkipNavContent, SkipNavLink } from '@chakra-ui/skip-nav'; +import { motion } from 'framer-motion'; import { InferGetStaticPropsType } from 'next'; import Image from 'next/image'; import { getPlaiceholder } from 'plaiceholder'; -import { AiFillGithub, AiFillLinkedin, AiOutlineTwitter } from 'react-icons/ai'; -import { BiBuildingHouse } from 'react-icons/bi'; -import { BsGlobe, BsMastodon } from 'react-icons/bs'; -import { FaHospitalUser } from 'react-icons/fa'; -import { HiUserGroup } from 'react-icons/hi'; +import { useState } from 'react'; +import { FaLinkedin } from 'react-icons/fa'; import { IoSchoolSharp } from 'react-icons/io5'; -import { MdLocationOn } from 'react-icons/md'; -import { RiInstagramFill } from 'react-icons/ri'; +import { RiAwardFill } from 'react-icons/ri'; import Layout from '@/components/layout/Layout'; +import UnstyledLink from '@/components/links/UnstyledLink'; import Seo from '@/components/Seo'; +import { FramerContainer } from '@/utils/framer'; + import TEAM_JSON from '~/data/team.json'; -const TeamPage: React.FC> = ({ - TeamMembers, -}) => ( - <> - Skip to content - - - - -
- - -
-
-
-

- Our Team -

-

- Meet the people behind the scenes who make it all happen -

+interface Member { + id: string; + name: string; + image: string; + blurDataURL: string; + moduleImageParams: string; + education: { degree: string; institution: string }[]; + expertise: string[]; + about: string; + after: string; + social: { + linkedin?: string; + resume?: string; + medprofile?: string; + website?: string[]; + twitter?: string; + instagram?: string; + github?: string; + }; +} + +const MembersGrid: React.FC<{ + members: Member[]; + openModal: (scholarId: string) => void; +}> = ({ members, openModal }) => { + return ( + + {members.map((scholar) => ( + openModal(scholar.id)} + className='parent hover:child:shadow-xl flex h-full flex-col items-center justify-between rounded-lg border-solid bg-slate-50 px-4 py-4 transition-all hover:shadow-xl' + > +
+ {/* {scholar.tag.length > 0 ? ( + + {scholar.tag.map((tag) => ( + + + {tag} + + + ))} + + ) : ( +
+ )} */} + +
+ {scholar.name +
+

+ {scholar.name} +

+ + + + + + + +

+ {scholar.education[0].degree} +

+
+ + {/* + + */} + + {/* + + {scholar.expertise.map((expertise, index) => ( + + + {expertise} + + + ))} + + */} +
+
-
- {TeamMembers.map((member, index) => ( -
-
- user profile picture -
- -
-

- {member.name}{' '} - {member.pronoun && ( - - ({member.pronoun}) - - )} -

- - {member.roles.map((role, index) => ( -

- {role} -

- ))} - - - -
- {member.department && ( -
-
- -
-

{member.department}

-
- )} - - {member.organization && ( -
-
- -
-

{member.organization}

-
- )} -
- -
- -

{member.location}

-
- - - -

- {member.caption} -

+ {/* */} +
+ + ))} + + ); +}; - {/* */} +const ScholarsPage: React.FC< + InferGetStaticPropsType +> = ({ AllMembers }) => { + const { isOpen, onOpen, onClose } = useDisclosure(); + const [selectedScholar, setSelectedScholar] = useState(null); - {/* */} + const openModal = (scholarid: string) => { + const scholar = AllMembers.find((scholar) => scholar.id === scholarid); - {Object.keys(member.social).length > 0 && ( - - )} + if (!scholar) { + return; + } -
    - {'twitter' in member.social && ( -
  • - - - Twitter page - -
  • - )} - - {'mastodon' in member.social && ( -
  • - - - mastodon page - -
  • - )} - - {'instagram' in member.social && ( -
  • - - - instagram page - -
  • - )} - - {'github' in member.social && ( -
  • - - - Github page - -
  • - )} - - {'linkedin' in member.social && ( -
  • - - - Linkedin - -
  • - )} - - {'profiles' in member.social && ( -
  • - - - website - -
  • - )} - - {'medprofile' in member.social && ( -
  • - - - website - -
  • - )} - - {'website' in member.social && - member.social.website?.map((website: string) => ( -
  • - - - website - + setSelectedScholar(scholar); + + onOpen(); + }; + + return ( + <> + Skip to content + + + + +
    + + +

    + Meet the Team +

    + + + + + + + + + + + + {selectedScholar?.name} + + + {'linkedin' in (selectedScholar?.social || {}) && ( + <> + +
    + +
    +
    + + + + LinkedIn Profile + + + + )} + + {'resume' in (selectedScholar?.social || {}) && ( + <> + + + + + + + Resume + + + + )} +
    +
    +
    + + + +

    + {selectedScholar?.name} +

    + +

    + Education +

    + +
      + {selectedScholar?.education.map((edu, index) => ( +
    • + {edu.degree}{' '} + {edu.institution && <>({edu.institution})}
    • ))} -
    -
-
- ))} -
-
-
-
-
- -); + + +

+ Expertise +

+ +

+ {selectedScholar?.expertise.map((expertise, index) => ( + + {expertise} + + ))} +

+ +

+ About Me +

+ +

+ {selectedScholar?.about} +

+ +

+ After AI-READI +

+ +

+ {selectedScholar?.after} +

+ + + + + + + + + + ); +}; export const getStaticProps = async () => { - const TeamMembers = await Promise.all( + const AllMembers = await Promise.all( TEAM_JSON.map(async (member) => { const { base64, @@ -267,7 +329,7 @@ export const getStaticProps = async () => { ).then((values) => values); // sort by name - TeamMembers.sort((a, b) => { + AllMembers.sort((a, b) => { if (a.name < b.name) { return -1; } @@ -279,26 +341,11 @@ export const getStaticProps = async () => { return 0; }); - // sort modules by name - TeamMembers.forEach((member) => { - member.modules.sort((a, b) => { - if (a < b) { - return -1; - } - - if (a > b) { - return 1; - } - - return 0; - }); - }); - return { props: { - TeamMembers, + AllMembers, }, }; }; -export default TeamPage; +export default ScholarsPage; diff --git a/tailwind.config.js b/tailwind.config.js index 79c01eb..725f5a6 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -59,6 +59,11 @@ module.exports = { }, }, }, + variants: { + extend: { + boxShadow: ['hover', 'hover:child'], + }, + }, plugins: [ require('@tailwindcss/forms'), require('@tailwindcss/typography'), From d42fa9438bb233aa8193c2eab7d30986655a9826 Mon Sep 17 00:00:00 2001 From: slugb0t Date: Mon, 23 Dec 2024 12:16:00 -0800 Subject: [PATCH 03/10] fix: :bug: type issue definition --- public/data/team.json | 6 +++--- src/pages/team/index.tsx | 9 --------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/public/data/team.json b/public/data/team.json index 2a8175c..46c1afe 100644 --- a/public/data/team.json +++ b/public/data/team.json @@ -7,7 +7,7 @@ "department": "FAIR Data Innovations Hub", "organization": "California Medical Innovations Institute", "location": "San Diego, CA", - "caption": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo.", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo.", "image": "https://ucarecdn.com/b36da179-1c47-4fa9-9e9b-9001ffc9b869/-/quality/smart_retina/-/format/auto/-/progressive/yes/", "moduleImageParams": "-/crop/face/200px180p/", "modules": [ @@ -40,7 +40,7 @@ "department": "FAIR Data Innovations Hub", "organization": "California Medical Innovations Institute", "location": "San Diego, CA", - "caption": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", "image": "https://ucarecdn.com/dca922ac-d2dc-4fb4-8c37-5bdc2d5aa768/-/quality/smart_retina/-/format/auto/-/progressive/yes/", "moduleImageParams": "-/crop/face/200px150p/", "modules": ["data-sharing", "data-sharing", "data-collection"], @@ -68,7 +68,7 @@ "department": "FAIR Data Innovations Hub", "organization": "California Medical Innovations Institute", "location": "San Bernardino, CA", - "caption": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", "image": "https://ucarecdn.com/a3ed77eb-24bc-4b55-b8f9-118a9d07f760/-/quality/smart_retina/-/format/auto/-/progressive/yes/", "moduleImageParams": "-/crop/face/200px200p/", "modules": ["data-sharing", "data-collection"], diff --git a/src/pages/team/index.tsx b/src/pages/team/index.tsx index 5b071bd..ae110bd 100644 --- a/src/pages/team/index.tsx +++ b/src/pages/team/index.tsx @@ -38,7 +38,6 @@ interface Member { education: { degree: string; institution: string }[]; expertise: string[]; about: string; - after: string; social: { linkedin?: string; resume?: string; @@ -290,14 +289,6 @@ const ScholarsPage: React.FC<

{selectedScholar?.about}

- -

- After AI-READI -

- -

- {selectedScholar?.after} -

From b293ed4779f6bbe582b053e37180cf290e71275a Mon Sep 17 00:00:00 2001 From: slugb0t Date: Thu, 26 Dec 2024 00:29:57 -0800 Subject: [PATCH 04/10] feat: :sparkles: team page component --- public/data/team.json | 6 +-- src/pages/team/index.tsx | 87 +++++++++++++++++----------------------- 2 files changed, 40 insertions(+), 53 deletions(-) diff --git a/public/data/team.json b/public/data/team.json index 46c1afe..bbc39da 100644 --- a/public/data/team.json +++ b/public/data/team.json @@ -9,7 +9,7 @@ "location": "San Diego, CA", "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo.", "image": "https://ucarecdn.com/b36da179-1c47-4fa9-9e9b-9001ffc9b869/-/quality/smart_retina/-/format/auto/-/progressive/yes/", - "moduleImageParams": "-/crop/face/200px180p/", + "moduleImageParams": "-/crop/face/250px200p/", "modules": [ "data-sharing", "capacity-building", @@ -42,7 +42,7 @@ "location": "San Diego, CA", "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", "image": "https://ucarecdn.com/dca922ac-d2dc-4fb4-8c37-5bdc2d5aa768/-/quality/smart_retina/-/format/auto/-/progressive/yes/", - "moduleImageParams": "-/crop/face/200px150p/", + "moduleImageParams": "-/crop/face/250px200p/", "modules": ["data-sharing", "data-sharing", "data-collection"], "education": [ { "degree": "MD Internal Medicine", "institution": "" }, @@ -70,7 +70,7 @@ "location": "San Bernardino, CA", "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", "image": "https://ucarecdn.com/a3ed77eb-24bc-4b55-b8f9-118a9d07f760/-/quality/smart_retina/-/format/auto/-/progressive/yes/", - "moduleImageParams": "-/crop/face/200px200p/", + "moduleImageParams": "-/crop/face/250px250p/", "modules": ["data-sharing", "data-collection"], "education": [ { "degree": "MD Internal Medicine", "institution": "" }, diff --git a/src/pages/team/index.tsx b/src/pages/team/index.tsx index ae110bd..9cb5694 100644 --- a/src/pages/team/index.tsx +++ b/src/pages/team/index.tsx @@ -63,14 +63,12 @@ const MembersGrid: React.FC<{ > {members.map((scholar) => ( openModal(scholar.id)} - className='parent hover:child:shadow-xl flex h-full flex-col items-center justify-between rounded-lg border-solid bg-slate-50 px-4 py-4 transition-all hover:shadow-xl' > -
- {/* {scholar.tag.length > 0 ? ( + {/* {scholar.tag.length > 0 ? ( {scholar.tag.map((tag) => ( @@ -88,42 +86,42 @@ const MembersGrid: React.FC<{ ) : (
)} */} - -
- {scholar.name -
-

- {scholar.name} -

- - - - - - - -

- {scholar.education[0].degree} -

-
- - {/* +
+ {scholar.name +
+

+ {scholar.name} +

+ + + + + + + +

+ {scholar.education[0].degree} +

+
+ + {/* */} - {/* + {/* {scholar.expertise.map((expertise, index) => ( @@ -134,19 +132,8 @@ const MembersGrid: React.FC<{ ))} */} -
-
+
- - {/* */}
))} @@ -188,7 +175,7 @@ const ScholarsPage: React.FC< - + From e13c441b635b13bb910d54f750ec44b21233c252 Mon Sep 17 00:00:00 2001 From: slugb0t Date: Thu, 26 Dec 2024 12:01:34 -0800 Subject: [PATCH 05/10] feat: :sparkles: socials update --- public/data/team.json | 92 +++++++++++++++++++ src/pages/team/index.tsx | 194 +++++++++++++++++++++++++++++---------- 2 files changed, 239 insertions(+), 47 deletions(-) diff --git a/public/data/team.json b/public/data/team.json index bbc39da..46bc586 100644 --- a/public/data/team.json +++ b/public/data/team.json @@ -87,5 +87,97 @@ "github": "https://github.com/slugb0t", "linkedin": "https://www.linkedin.com/in/dorian-portillo-4733b61b5/" } + }, + { + "id": "Bhavesh-Patel1", + "name": "Bhavesh Patel", + "pronoun": "he/him", + "roles": ["Associate Research Professor"], + "department": "FAIR Data Innovations Hub", + "organization": "California Medical Innovations Institute", + "location": "San Diego, CA", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo.", + "image": "https://ucarecdn.com/b36da179-1c47-4fa9-9e9b-9001ffc9b869/-/quality/smart_retina/-/format/auto/-/progressive/yes/", + "moduleImageParams": "-/crop/face/250px200p/", + "modules": [ + "data-sharing", + "capacity-building", + "american-indian-engagement", + "data-collection" + ], + "education": [ + { "degree": "MD Internal Medicine", "institution": "" }, + { "degree": "MS Ophthalmology", "institution": "" }, + { "degree": "MCR Translational Research", "institution": "" } + ], + "expertise": [ + "Translational Medicine", + "Research Methodology Training", + "Grant Writing" + ], + "social": { + "website": ["https://fairdataihub.org"], + "linkedin": "https://linkedin.com/in/bvhpatel", + "twitter": "https://twitter.com/fairdataihub", + "resume": "https://fairdataihub.org/resume", + "instagram": "https://instagram.com/fairdataihub", + "github": "https://github.com/slugb0t" + } + }, + { + "id": "Sanjay-Soundarajan1", + "name": "Sanjay Soundarajan", + "pronoun": "he/him", + "roles": ["Front End Developer"], + "department": "FAIR Data Innovations Hub", + "organization": "California Medical Innovations Institute", + "location": "San Diego, CA", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", + "image": "https://ucarecdn.com/dca922ac-d2dc-4fb4-8c37-5bdc2d5aa768/-/quality/smart_retina/-/format/auto/-/progressive/yes/", + "moduleImageParams": "-/crop/face/250px200p/", + "modules": ["data-sharing", "data-sharing", "data-collection"], + "education": [ + { "degree": "MD Internal Medicine", "institution": "" }, + { "degree": "MS Ophthalmology", "institution": "" }, + { "degree": "MCR Translational Research", "institution": "" } + ], + "expertise": [ + "Translational Medicine", + "Research Methodology Training", + "Grant Writing" + ], + "social": { + "website": ["https://sanjaysoundarajan.dev"], + "github": "https://github.com/megasanjay", + "twitter": "https://twitter.com/megasanjay" + } + }, + { + "id": "Dorian-Portillo1", + "name": "Dorian Portillo", + "pronoun": "they/them", + "roles": ["Web Developer"], + "department": "FAIR Data Innovations Hub", + "organization": "California Medical Innovations Institute", + "location": "San Bernardino, CA", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", + "image": "https://ucarecdn.com/a3ed77eb-24bc-4b55-b8f9-118a9d07f760/-/quality/smart_retina/-/format/auto/-/progressive/yes/", + "moduleImageParams": "-/crop/face/250px250p/", + "modules": ["data-sharing", "data-collection"], + "education": [ + { "degree": "MD Internal Medicine", "institution": "" }, + { "degree": "MS Ophthalmology", "institution": "" }, + { "degree": "MCR Translational Research", "institution": "" } + ], + "expertise": [ + "Translational Medicine", + "Research Methodology Training", + "Grant Writing" + ], + "social": { + "website": ["https://dorianportillo.dev"], + "github": "https://github.com/slugb0t", + "linkedin": "https://www.linkedin.com/in/dorian-portillo-4733b61b5/" + } } ] diff --git a/src/pages/team/index.tsx b/src/pages/team/index.tsx index 9cb5694..46390d7 100644 --- a/src/pages/team/index.tsx +++ b/src/pages/team/index.tsx @@ -17,8 +17,16 @@ import { InferGetStaticPropsType } from 'next'; import Image from 'next/image'; import { getPlaiceholder } from 'plaiceholder'; import { useState } from 'react'; -import { FaLinkedin } from 'react-icons/fa'; +import { + FaGithub, + FaGlobe, + FaInstagram, + FaLinkedin, + FaTwitter, +} from 'react-icons/fa'; +import { FaCircleInfo } from 'react-icons/fa6'; import { IoSchoolSharp } from 'react-icons/io5'; +import { MdOutlineBadge } from 'react-icons/md'; import { RiAwardFill } from 'react-icons/ri'; import Layout from '@/components/layout/Layout'; @@ -175,7 +183,7 @@ const ScholarsPage: React.FC< - + @@ -183,97 +191,189 @@ const ScholarsPage: React.FC< + {/* Left Section */} {selectedScholar?.name} - - + {'linkedin' in (selectedScholar?.social || {}) && ( <> -
- +
+ + + +
+ + + )} + {'resume' in (selectedScholar?.social || {}) && ( + <> + {/* */} + +
+ + +
+ + )} - - - LinkedIn Profile - + {'twitter' in (selectedScholar?.social || {}) && ( + <> + +
+ + + +
)} - {'resume' in (selectedScholar?.social || {}) && ( + {'instagram' in (selectedScholar?.social || {}) && ( <> - - + +
+ + + +
+ + )} - - - Resume - + {'github' in (selectedScholar?.social || {}) && ( + <> + +
+ + + +
)} + {'website' in (selectedScholar?.social || {}) && ( + <> + {selectedScholar?.social.website?.map( + (site, index) => ( + +
+ + + +
+
+ ), + )} + + )}
+ {/* Right Section */} -

+

{selectedScholar?.name}

-

- Education -

- -
    + {/* Education */} +
    + +

    + Education +

    +
    +
      {selectedScholar?.education.map((edu, index) => ( -
    • +
    • {edu.degree}{' '} - {edu.institution && <>({edu.institution})} + {edu.institution && ( + + ({edu.institution}) + + )}
    • ))}
    -

    - Expertise -

    - -

    + {/* Expertise */} +

    + +

    + Expertise +

    +
    +
    {selectedScholar?.expertise.map((expertise, index) => ( {expertise} ))} -

    - -

    - About Me -

    - -

    +

    + + {/* About Me */} +
    + +

    + About Me +

    +
    +

    {selectedScholar?.about}

    From 1c6fc7e14a5307b333444f0c0ae8123f6b783af2 Mon Sep 17 00:00:00 2001 From: slugb0t Date: Thu, 26 Dec 2024 12:04:00 -0800 Subject: [PATCH 06/10] refactor: :recycle: update team.json --- public/data/team.json | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/public/data/team.json b/public/data/team.json index 46bc586..7887677 100644 --- a/public/data/team.json +++ b/public/data/team.json @@ -29,7 +29,10 @@ "social": { "website": ["https://fairdataihub.org"], "linkedin": "https://linkedin.com/in/bvhpatel", - "twitter": "https://twitter.com/fairdataihub" + "twitter": "https://twitter.com/fairdataihub", + "resume": "https://fairdataihub.org/resume", + "instagram": "https://instagram.com/fairdataihub", + "github": "https://github.com/slugb0t" } }, { @@ -55,9 +58,12 @@ "Grant Writing" ], "social": { - "website": ["https://sanjaysoundarajan.dev"], - "github": "https://github.com/megasanjay", - "twitter": "https://twitter.com/megasanjay" + "website": ["https://fairdataihub.org"], + "linkedin": "https://linkedin.com/in/bvhpatel", + "twitter": "https://twitter.com/fairdataihub", + "resume": "https://fairdataihub.org/resume", + "instagram": "https://instagram.com/fairdataihub", + "github": "https://github.com/slugb0t" } }, { @@ -83,9 +89,12 @@ "Grant Writing" ], "social": { - "website": ["https://dorianportillo.dev"], - "github": "https://github.com/slugb0t", - "linkedin": "https://www.linkedin.com/in/dorian-portillo-4733b61b5/" + "website": ["https://fairdataihub.org"], + "linkedin": "https://linkedin.com/in/bvhpatel", + "twitter": "https://twitter.com/fairdataihub", + "resume": "https://fairdataihub.org/resume", + "instagram": "https://instagram.com/fairdataihub", + "github": "https://github.com/slugb0t" } }, { @@ -147,9 +156,12 @@ "Grant Writing" ], "social": { - "website": ["https://sanjaysoundarajan.dev"], - "github": "https://github.com/megasanjay", - "twitter": "https://twitter.com/megasanjay" + "website": ["https://fairdataihub.org"], + "linkedin": "https://linkedin.com/in/bvhpatel", + "twitter": "https://twitter.com/fairdataihub", + "resume": "https://fairdataihub.org/resume", + "instagram": "https://instagram.com/fairdataihub", + "github": "https://github.com/slugb0t" } }, { @@ -175,9 +187,12 @@ "Grant Writing" ], "social": { - "website": ["https://dorianportillo.dev"], - "github": "https://github.com/slugb0t", - "linkedin": "https://www.linkedin.com/in/dorian-portillo-4733b61b5/" + "website": ["https://fairdataihub.org"], + "linkedin": "https://linkedin.com/in/bvhpatel", + "twitter": "https://twitter.com/fairdataihub", + "resume": "https://fairdataihub.org/resume", + "instagram": "https://instagram.com/fairdataihub", + "github": "https://github.com/slugb0t" } } ] From 102c6370283b50acfef4fe5d946cc3f8eef274e2 Mon Sep 17 00:00:00 2001 From: slugb0t Date: Thu, 26 Dec 2024 12:45:06 -0800 Subject: [PATCH 07/10] feat: :sparkles: add roles, location, and org --- public/data/team.json | 2 +- src/pages/team/index.tsx | 61 +++++++++++++++++++++++++++++++++++----- 2 files changed, 55 insertions(+), 8 deletions(-) diff --git a/public/data/team.json b/public/data/team.json index 7887677..51056a5 100644 --- a/public/data/team.json +++ b/public/data/team.json @@ -3,7 +3,7 @@ "id": "Bhavesh-Patel", "name": "Bhavesh Patel", "pronoun": "he/him", - "roles": ["Associate Research Professor"], + "roles": ["Associate Research Professor", "Director"], "department": "FAIR Data Innovations Hub", "organization": "California Medical Innovations Institute", "location": "San Diego, CA", diff --git a/src/pages/team/index.tsx b/src/pages/team/index.tsx index 46390d7..a7a8adc 100644 --- a/src/pages/team/index.tsx +++ b/src/pages/team/index.tsx @@ -17,6 +17,7 @@ import { InferGetStaticPropsType } from 'next'; import Image from 'next/image'; import { getPlaiceholder } from 'plaiceholder'; import { useState } from 'react'; +import { FaRegBuilding } from 'react-icons/fa'; import { FaGithub, FaGlobe, @@ -26,7 +27,9 @@ import { } from 'react-icons/fa'; import { FaCircleInfo } from 'react-icons/fa6'; import { IoSchoolSharp } from 'react-icons/io5'; +import { IoLocationOutline } from 'react-icons/io5'; import { MdOutlineBadge } from 'react-icons/md'; +import { PiUserListBold } from 'react-icons/pi'; import { RiAwardFill } from 'react-icons/ri'; import Layout from '@/components/layout/Layout'; @@ -41,11 +44,15 @@ interface Member { id: string; name: string; image: string; + organization: string; blurDataURL: string; moduleImageParams: string; education: { degree: string; institution: string }[]; - expertise: string[]; + expertise?: string[]; about: string; + pronoun?: string; + roles?: string[]; + location?: string; social: { linkedin?: string; resume?: string; @@ -195,7 +202,7 @@ const ScholarsPage: React.FC< > {/* Left Section */} - + {selectedScholar?.name} -

    - {selectedScholar?.name} -

    +
    +

    + {selectedScholar?.name} +

    + ({selectedScholar?.pronoun}) +

    +

    + {/* Location */} +
    + + +

    + {selectedScholar?.location} +

    + + + +

    + {selectedScholar?.organization} +

    +
    +
    + + {/* Roles */} +
    + + {selectedScholar?.roles?.map((role, index) => ( + + {role} + + ))} +
    {/* Education */}
    @@ -341,7 +388,7 @@ const ScholarsPage: React.FC<
{/* Expertise */} -
+
- {selectedScholar?.expertise.map((expertise, index) => ( + {selectedScholar?.expertise?.map((expertise, index) => ( Date: Thu, 26 Dec 2024 14:45:48 -0800 Subject: [PATCH 08/10] feat: :sparkles: mobile friendly team page + modal cleanup --- public/data/team.json | 8 +- src/pages/team/index.tsx | 346 +++++++++++++++------------------------ 2 files changed, 134 insertions(+), 220 deletions(-) diff --git a/public/data/team.json b/public/data/team.json index 51056a5..749cf68 100644 --- a/public/data/team.json +++ b/public/data/team.json @@ -7,7 +7,7 @@ "department": "FAIR Data Innovations Hub", "organization": "California Medical Innovations Institute", "location": "San Diego, CA", - "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo.", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo.", "image": "https://ucarecdn.com/b36da179-1c47-4fa9-9e9b-9001ffc9b869/-/quality/smart_retina/-/format/auto/-/progressive/yes/", "moduleImageParams": "-/crop/face/250px200p/", "modules": [ @@ -91,8 +91,6 @@ "social": { "website": ["https://fairdataihub.org"], "linkedin": "https://linkedin.com/in/bvhpatel", - "twitter": "https://twitter.com/fairdataihub", - "resume": "https://fairdataihub.org/resume", "instagram": "https://instagram.com/fairdataihub", "github": "https://github.com/slugb0t" } @@ -159,9 +157,7 @@ "website": ["https://fairdataihub.org"], "linkedin": "https://linkedin.com/in/bvhpatel", "twitter": "https://twitter.com/fairdataihub", - "resume": "https://fairdataihub.org/resume", - "instagram": "https://instagram.com/fairdataihub", - "github": "https://github.com/slugb0t" + "resume": "https://fairdataihub.org/resume" } }, { diff --git a/src/pages/team/index.tsx b/src/pages/team/index.tsx index a7a8adc..f58ea39 100644 --- a/src/pages/team/index.tsx +++ b/src/pages/team/index.tsx @@ -78,76 +78,36 @@ const MembersGrid: React.FC<{ > {members.map((scholar) => ( openModal(scholar.id)} > - {/* {scholar.tag.length > 0 ? ( - - {scholar.tag.map((tag) => ( - - - {tag} - - - ))} - - ) : ( -
- )} */}
{scholar.name -
-

+ {/* Text overlay */} +
+

{scholar.name}

- - - - - - - -

- {scholar.education[0].degree} -

-
- - {/* - - */} - - {/* - - {scholar.expertise.map((expertise, index) => ( - - - {expertise} - - - ))} - - */} -
+
+ +

+ {scholar.education[0].degree} +

+

@@ -196,161 +156,126 @@ const ScholarsPage: React.FC< {/* Left Section */} - + {selectedScholar?.name} - + {/* Social Icons */} + {'linkedin' in (selectedScholar?.social || {}) && ( - <> - -
- - - -
-
- + + + + + )} {'resume' in (selectedScholar?.social || {}) && ( - <> - {/* */} - -
- - - -
-
- + + + + + )} - {'twitter' in (selectedScholar?.social || {}) && ( - <> - -
- - - -
-
- + + + + + )} - {'instagram' in (selectedScholar?.social || {}) && ( - <> - -
- - - -
-
- + + + + + )} - {'github' in (selectedScholar?.social || {}) && ( - <> - -
+ + + + + + )} + {'website' in (selectedScholar?.social || {}) && + selectedScholar?.social.website?.map( + (site, index) => ( + - + -
-
- - )} - {'website' in (selectedScholar?.social || {}) && ( - <> - {selectedScholar?.social.website?.map( - (site, index) => ( - -
- - - -
-
- ), - )} - - )} +
+ ), + )}
{/* Right Section */} - +
-

+

{selectedScholar?.name} -

+

({selectedScholar?.pronoun})

{/* Location */} -
- - -

- {selectedScholar?.location} -

- - - -

- {selectedScholar?.organization} -

+
+
+ +

{selectedScholar?.location}

+
+
+ +

+ {selectedScholar?.organization} +

+
{/* Roles */} -
+
{selectedScholar?.roles?.map((role, index) => ( {/* Education */} -
- -

+
+

+ Education

+
    + {selectedScholar?.education.map((edu, index) => ( +
  • + {edu.degree}{' '} + {edu.institution && ( + + ({edu.institution}) + + )} +
  • + ))} +
-
    - {selectedScholar?.education.map((edu, index) => ( -
  • - {edu.degree}{' '} - {edu.institution && ( - - ({edu.institution}) - - )} -
  • - ))} -
{/* Expertise */} -
- -

+
+

+ Expertise

-
-
- {selectedScholar?.expertise?.map((expertise, index) => ( - - {expertise} - - ))} +
+ {selectedScholar?.expertise?.map( + (expertise, index) => ( + + {expertise} + + ), + )} +
{/* About Me */} -
- -

+
+

+ About Me

+

+ {selectedScholar?.about} +

-

- {selectedScholar?.about} -

From 62df7418ee861593d5ad76dbb495a021019d32ff Mon Sep 17 00:00:00 2001 From: slugb0t Date: Fri, 27 Dec 2024 10:48:12 -0800 Subject: [PATCH 09/10] refactor: :recycle: update sizing of team cards --- public/data/team.json | 2 +- src/pages/team/index.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/data/team.json b/public/data/team.json index 749cf68..b53fd26 100644 --- a/public/data/team.json +++ b/public/data/team.json @@ -9,7 +9,7 @@ "location": "San Diego, CA", "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo.", "image": "https://ucarecdn.com/b36da179-1c47-4fa9-9e9b-9001ffc9b869/-/quality/smart_retina/-/format/auto/-/progressive/yes/", - "moduleImageParams": "-/crop/face/250px200p/", + "moduleImageParams": "-/crop/face/200px200p/", "modules": [ "data-sharing", "capacity-building", diff --git a/src/pages/team/index.tsx b/src/pages/team/index.tsx index f58ea39..9862d63 100644 --- a/src/pages/team/index.tsx +++ b/src/pages/team/index.tsx @@ -74,7 +74,7 @@ const MembersGrid: React.FC<{ initial='hidden' whileInView='show' viewport={{ once: true }} - className='align-center mx-auto grid max-w-screen-xl gap-8 px-4 pb-8 pt-4 text-center sm:grid-cols-2 md:grid-cols-3 lg:gap-8 lg:px-6 lg:pb-16 lg:pt-8' + className='align-center mx-auto grid max-w-screen-xl gap-8 px-4 pb-8 pt-4 text-center sm:grid-cols-2 md:grid-cols-3 lg:gap-8 lg:px-8 lg:pb-16 lg:pt-8' > {members.map((scholar) => ( openModal(scholar.id)} > -
+
Date: Fri, 27 Dec 2024 11:58:06 -0800 Subject: [PATCH 10/10] refactor: :recycle: update to the modal image --- public/data/team.json | 6 +++--- src/pages/team/index.tsx | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/public/data/team.json b/public/data/team.json index b53fd26..d9cf6a5 100644 --- a/public/data/team.json +++ b/public/data/team.json @@ -7,7 +7,7 @@ "department": "FAIR Data Innovations Hub", "organization": "California Medical Innovations Institute", "location": "San Diego, CA", - "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo.", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut. Qui molestiae aspernatur a ducimus architecto et.", "image": "https://ucarecdn.com/b36da179-1c47-4fa9-9e9b-9001ffc9b869/-/quality/smart_retina/-/format/auto/-/progressive/yes/", "moduleImageParams": "-/crop/face/200px200p/", "modules": [ @@ -43,7 +43,7 @@ "department": "FAIR Data Innovations Hub", "organization": "California Medical Innovations Institute", "location": "San Diego, CA", - "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut. Qui molestiae aspernatur a ducimus architecto et.", "image": "https://ucarecdn.com/dca922ac-d2dc-4fb4-8c37-5bdc2d5aa768/-/quality/smart_retina/-/format/auto/-/progressive/yes/", "moduleImageParams": "-/crop/face/250px200p/", "modules": ["data-sharing", "data-sharing", "data-collection"], @@ -74,7 +74,7 @@ "department": "FAIR Data Innovations Hub", "organization": "California Medical Innovations Institute", "location": "San Bernardino, CA", - "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. ", + "about": "Qui molestiae aspernatur a ducimus architecto et impedit molestias aut voluptatem molestiae in omnis placeat aut veniam exercitationem. Sit autem nobis ex sequi quia ut quia provident eos quas molestiae ab eveniet eaque ut eius dignissimos? Et error sequi et voluptates iure eum nulla optio aut quia illo. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut. Qui molestiae aspernatur a ducimus architecto et impedit molestias aut. Qui molestiae aspernatur a ducimus architecto et.", "image": "https://ucarecdn.com/a3ed77eb-24bc-4b55-b8f9-118a9d07f760/-/quality/smart_retina/-/format/auto/-/progressive/yes/", "moduleImageParams": "-/crop/face/250px250p/", "modules": ["data-sharing", "data-collection"], diff --git a/src/pages/team/index.tsx b/src/pages/team/index.tsx index 9862d63..c99443b 100644 --- a/src/pages/team/index.tsx +++ b/src/pages/team/index.tsx @@ -166,7 +166,7 @@ const ScholarsPage: React.FC< {selectedScholar?.name} {/* Social Icons */}