import React, {FC} from 'react'; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; import { faGithub, faFacebook, faInstagram, faLinkedin, faTwitter, } from '@fortawesome/free-brands-svg-icons'; import { faGlobe, IconDefinition, faCheck, faStar, faEye, faCodeBranch, } from '@fortawesome/free-solid-svg-icons'; import Dev, {dummyDev as dev} from '../models/Dev'; import Experience from '../types/Experience'; import {getTimePeriod} from '../types/TimePeriod'; import Education from '../types/Education'; import Repo from '../types/Repo'; /** * Dev personal profile as seen by other people. */ const Profile: FC = () => { /** return the icon corresponding to the social name */ const renderSocialIcon = (name: string): IconDefinition => { switch (name) { case 'facebook': return faFacebook; case 'github': return faGithub; case 'instagram': return faInstagram; case 'linkedin': return faLinkedin; case 'twitter': return faTwitter; default: return faGlobe; } }; return (
Back to profiles
Some guy

{dev.name}

{dev.description}

{dev.location}

{Object.entries(dev.links).map(([icon, webAddress], i: number) => ( ))}

{`${dev.name}'s Bio`}

{dev.bio}

Skill Set

{dev.skills.map((s: string, i: number) => (
{s}
))}

Experiences

{dev.experiences.map((exp: Experience, i: number) => (

{exp.company}

{getTimePeriod(exp.from, exp.to)}

Position: {exp.position}

Description: {exp.description}

))}

Education

{dev.educations.map((edu: Education, i: number) => (

{edu.school}

{getTimePeriod(edu.from, edu.to)}

Degree: {edu.degree}

Field: {edu.field}

Description: {edu.description}

))}

GitHub Repos

{dev.repos.map((r: Repo, i: number) => (

{r.name}

{r.description}

  • Stars: 42
  • Watchers: 2
  • Forks: 4
))}
); }; export default Profile;