aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/@next/components/button.tsx
diff options
context:
space:
mode:
authorFred Carlsen <fred@sjelfull.no>2018-12-12 23:06:31 +0800
committerFred Carlsen <fred@sjelfull.no>2018-12-12 23:06:48 +0800
commit6d2da94f8a1bd2b80b548f6484e94173c4627adb (patch)
tree3944a8d8d487ded944d3b3d55117d4654c13ca34 /packages/website/ts/@next/components/button.tsx
parent20deb01e01f892124d1b92a2e66719aa65c14201 (diff)
downloaddexon-0x-contracts-6d2da94f8a1bd2b80b548f6484e94173c4627adb.tar.gz
dexon-0x-contracts-6d2da94f8a1bd2b80b548f6484e94173c4627adb.tar.zst
dexon-0x-contracts-6d2da94f8a1bd2b80b548f6484e94173c4627adb.zip
Fix header link active state
Diffstat (limited to 'packages/website/ts/@next/components/button.tsx')
-rw-r--r--packages/website/ts/@next/components/button.tsx29
1 files changed, 28 insertions, 1 deletions
diff --git a/packages/website/ts/@next/components/button.tsx b/packages/website/ts/@next/components/button.tsx
index 5d44f1ce5..3c22f705e 100644
--- a/packages/website/ts/@next/components/button.tsx
+++ b/packages/website/ts/@next/components/button.tsx
@@ -1,5 +1,5 @@
import * as React from 'react';
-import { Link as ReactRouterLink } from 'react-router-dom';
+import { Link as ReactRouterLink, NavLink as ReactRouterNavLink } from 'react-router-dom';
import styled from 'styled-components';
import { BREAKPOINTS } from 'ts/@next/components/layout';
@@ -86,6 +86,33 @@ Link.defaultProps = {
isTransparent: true,
};
+export const NavLink: React.ReactNode = (props: ButtonInterface) => {
+ const {
+ children,
+ href,
+ isWithArrow,
+ } = props;
+ const Component = Button.withComponent(ReactRouterNavLink);
+
+ return (
+ <Component to={href} {...props}>
+ {children}
+
+ { isWithArrow &&
+ <svg width="16" height="15" fill="none" xmlns="http://www.w3.org/2000/svg">
+ <path
+ d="M4.484.246l.024 1.411 8.146.053L.817 13.547l.996.996L13.65 2.706l.052 8.146 1.412.024L15.045.315 4.484.246z"
+ />
+ </svg>
+ }
+ </Component>
+ );
+};
+
+NavLink.defaultProps = {
+ isTransparent: true,
+};
+
// Added this, & + & doesnt really work since we switch with element types...
export const ButtonWrap = styled.div`
button + button,