git sync for colleagues.
All in 1 big commit :)... Do as I say... not as I do (in my private stuff anyway)
This commit is contained in:
11
src/components/filters/filter-list-item.tsx
Normal file
11
src/components/filters/filter-list-item.tsx
Normal file
@@ -0,0 +1,11 @@
|
||||
import React, { FunctionComponent } from "react";
|
||||
|
||||
type Props = { label: string; link?: string; onClick?: () => {} };
|
||||
|
||||
export const FilterListItem: FunctionComponent<Props> = ({ label, link, onClick }) => {
|
||||
return (
|
||||
<li onClick={onClick} key={link} className="filter">
|
||||
{link !== undefined ? <a href={link}>{label}</a> : label}
|
||||
</li>
|
||||
);
|
||||
};
|
11
src/components/filters/filter-list.tsx
Normal file
11
src/components/filters/filter-list.tsx
Normal file
@@ -0,0 +1,11 @@
|
||||
import React, { FunctionComponent } from "react";
|
||||
|
||||
type Props = {};
|
||||
|
||||
export const FilterList: FunctionComponent<Props> = ({ children }) => {
|
||||
return (
|
||||
<ul id="filter-list" className="clearfix">
|
||||
{children}
|
||||
</ul>
|
||||
);
|
||||
};
|
20
src/components/info-panel.tsx
Normal file
20
src/components/info-panel.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
import { Pill } from "models/pill";
|
||||
import React, { FunctionComponent } from "react";
|
||||
import { InfoPill } from "./info-pill";
|
||||
import { SectionTitle } from "./section-title";
|
||||
|
||||
type Props = { title: string; pills?: Pill[] };
|
||||
|
||||
export const InfoPanel: FunctionComponent<Props> = ({ title, pills }) => {
|
||||
return (
|
||||
<div className="personal-info col-md-12 no-padding">
|
||||
<SectionTitle>{title}</SectionTitle>
|
||||
<ul>
|
||||
{pills !== undefined &&
|
||||
pills.map((pill: Pill) => {
|
||||
return <InfoPill title={pill.key} value={pill.value} link={pill.link} key={pill.key} />;
|
||||
})}
|
||||
</ul>
|
||||
</div>
|
||||
);
|
||||
};
|
23
src/components/info-pill.tsx
Normal file
23
src/components/info-pill.tsx
Normal file
@@ -0,0 +1,23 @@
|
||||
import React from "react";
|
||||
import { FunctionComponent } from "react";
|
||||
|
||||
type Props = { title: string; value: string; link: string; rest?: {} };
|
||||
|
||||
export const InfoPill: FunctionComponent<Props> = ({ title, value, link, ...rest }) => {
|
||||
return (
|
||||
<li>
|
||||
<div className="p-info">
|
||||
<em>{title}</em>
|
||||
<span>
|
||||
{link !== undefined ? (
|
||||
<a href={link} {...rest}>
|
||||
{value}
|
||||
</a>
|
||||
) : (
|
||||
value
|
||||
)}
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
);
|
||||
};
|
13
src/components/section-title.tsx
Normal file
13
src/components/section-title.tsx
Normal file
@@ -0,0 +1,13 @@
|
||||
import React from "react";
|
||||
import { FunctionComponent } from "react";
|
||||
|
||||
type Props = {};
|
||||
|
||||
export const SectionTitle: FunctionComponent<Props> = ({ children }) => {
|
||||
return (
|
||||
<div>
|
||||
<h4>{children}</h4>
|
||||
<div className="sep2" />
|
||||
</div>
|
||||
);
|
||||
};
|
13
src/components/section.tsx
Normal file
13
src/components/section.tsx
Normal file
@@ -0,0 +1,13 @@
|
||||
import React, { FunctionComponent } from "react";
|
||||
import { SectionTitle } from "./section-title";
|
||||
|
||||
type Props = { title: string };
|
||||
|
||||
export const Section: FunctionComponent<Props> = ({ title, children }) => {
|
||||
return (
|
||||
<>
|
||||
<SectionTitle>{title}</SectionTitle>
|
||||
{children}
|
||||
</>
|
||||
);
|
||||
};
|
28
src/components/social-bar.tsx
Normal file
28
src/components/social-bar.tsx
Normal file
@@ -0,0 +1,28 @@
|
||||
import React, { FunctionComponent } from "react";
|
||||
import socialMediaItems from "../data/social-media";
|
||||
type Props = {};
|
||||
|
||||
export const SocialBar: FunctionComponent<Props> = () => {
|
||||
return (
|
||||
<div className="socialimages">
|
||||
<span>
|
||||
{socialMediaItems.map((socialButton) => {
|
||||
return (
|
||||
<a
|
||||
key={socialButton.service}
|
||||
className="socialimage"
|
||||
href={socialButton.url}
|
||||
data-icon-text={socialButton.text}
|
||||
>
|
||||
<img
|
||||
src={socialButton.grayIcon}
|
||||
alt={`${socialButton.service} black and gray overlay`}
|
||||
/>
|
||||
<img src={socialButton.icon} alt={`${socialButton.service} color image`} />
|
||||
</a>
|
||||
);
|
||||
})}
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
};
|
Reference in New Issue
Block a user