aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/@next/components
diff options
context:
space:
mode:
authorEzekiel Aquino <ezekiel@bakkenbaeck.no>2018-12-10 18:21:40 +0800
committerEzekiel Aquino <ezekiel@bakkenbaeck.no>2018-12-10 18:22:00 +0800
commit16f69ad718173266bd31b26b49f573cc175aed38 (patch)
tree5b9a2e74b9a0045b059b4e580104c2ed08c4997c /packages/website/ts/@next/components
parent03ca8256398f2b178381c43aa0f3d648b4dba752 (diff)
downloaddexon-sol-tools-16f69ad718173266bd31b26b49f573cc175aed38.tar
dexon-sol-tools-16f69ad718173266bd31b26b49f573cc175aed38.tar.gz
dexon-sol-tools-16f69ad718173266bd31b26b49f573cc175aed38.tar.bz2
dexon-sol-tools-16f69ad718173266bd31b26b49f573cc175aed38.tar.lz
dexon-sol-tools-16f69ad718173266bd31b26b49f573cc175aed38.tar.xz
dexon-sol-tools-16f69ad718173266bd31b26b49f573cc175aed38.tar.zst
dexon-sol-tools-16f69ad718173266bd31b26b49f573cc175aed38.zip
Refactors <Icon>
Diffstat (limited to 'packages/website/ts/@next/components')
-rw-r--r--packages/website/ts/@next/components/icon.tsx38
-rw-r--r--packages/website/ts/@next/components/layout.tsx5
2 files changed, 29 insertions, 14 deletions
diff --git a/packages/website/ts/@next/components/icon.tsx b/packages/website/ts/@next/components/icon.tsx
index 28a8b3c60..2775601b0 100644
--- a/packages/website/ts/@next/components/icon.tsx
+++ b/packages/website/ts/@next/components/icon.tsx
@@ -1,23 +1,43 @@
import * as React from 'react';
import styled from 'styled-components';
+import IconCoin from 'ts/@next/icons/illustrations/coin.svg';
interface Props {
- icon: any;
+ name: string;
size?: string;
}
-export const IconClass: React.FunctionComponent<Props> = (props: Props) => {
+const ICONS = {
+ coin: IconCoin,
+};
+
+export const Icon: React.FunctionComponent<Props> = (props: Props) => {
+ const IconSVG = ICONS[props.name];
+
return (
- <div />
+ <StyledIcon {...props}>
+ <IconSVG />
+ </StyledIcon>
);
};
-export const Icon = styled(IconClass)`
- margin: auto;
+const _getSize = (size: string | number = 'small'): string => {
+ if (isNaN(size)) {
+ return `var(--${size}Icon)`;
+ }
+
+ return `${size}px`;
+};
+
+const StyledIcon = styled.figure`
+ width: ${props => _getSize(props.size)};
+ height: ${props => _getSize(props.size)};
+ margin: 0;
flex-shrink: 0;
- ${(props: Props) => props.size && `
- width: ${props.size};
- height: auto;
- `}
+ svg {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ }
`;
diff --git a/packages/website/ts/@next/components/layout.tsx b/packages/website/ts/@next/components/layout.tsx
index 1fa145368..48b8ec074 100644
--- a/packages/website/ts/@next/components/layout.tsx
+++ b/packages/website/ts/@next/components/layout.tsx
@@ -33,7 +33,6 @@ interface ColumnProps {
isNoPadding?: boolean;
isPadLarge?: boolean;
bgColor?: string;
- borderColor?: string;
}
interface GetColWidthArgs {
@@ -67,7 +66,6 @@ const COLUMN_WIDTHS: ColumnWidths = {
};
export const Main = styled.main`
- border: 1px dotted rgba(0, 0, 255, 0.3);
width: calc(100% - 0);
max-width: ${MAX_WIDTH}px;
margin: 0 auto;
@@ -87,7 +85,6 @@ export const Section = styled.section<SectionProps>`
margin-bottom: ${props => !props.isNoMargin && `${GUTTER}px`};
margin-left: ${props => props.isFullWidth && `-${GUTTER}px`};
background-color: ${props => props.bgColor};
- border: 1px dotted rgba(0, 255, 0, 0.15);
@media (min-width: 1560px) {
width: ${props => props.isFullWidth && '100vw'};
@@ -133,9 +130,7 @@ export const WrapGrid = styled(WrapBase)`
export const Column = styled.div<ColumnProps>`
padding: ${props => !props.isNoPadding && (props.isPadLarge ? '60px 30px' : '30px')};
- border: 1px dotted rgba(255, 0, 0, 0.15);
background-color: ${props => props.bgColor};
- border-color: ${props => props.borderColor && `${props.borderColor}`};
@media (min-width: ${BREAKPOINTS.mobile}) {
width: ${props => props.colWidth ? COLUMN_WIDTHS[props.colWidth] : '100%'};