Skip to content

Commit

Permalink
Implement more brand & social media icon components
Browse files Browse the repository at this point in the history
This includes the official logo of Arctic Ice Studio, more UI icons as
well as several social media & community sites and services:

- Discord (1)
- GitHub (2)
- Keybase (3)
- Reddit (4)
- Slack (5)
- Spectrum (6)
- Twitter (7)

References:
  (1) https://discordapp.com
  (2) https://github.com
  (3) https://keybase.io
  (4) https://reddit.com
  (5) https://slack.com
  (6) https://spectrum.chat
  (7) https://twitter.com
  https://akveo.github.io/eva-icons
  https://simpleicons.org

Associated epic: GH-74
GH-106
  • Loading branch information
arcticicestudio committed Dec 26, 2018
1 parent b9e326f commit abf4318
Show file tree
Hide file tree
Showing 26 changed files with 428 additions and 10 deletions.
3 changes: 3 additions & 0 deletions src/assets/images/icons/eva-icons/heart-fill.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/images/icons/eva-icons/heart-outline.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/images/icons/simple-icons/discord.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/images/icons/simple-icons/github.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/assets/images/icons/simple-icons/keybase.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/images/icons/simple-icons/reddit.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions src/assets/images/icons/simple-icons/slack.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/images/icons/simple-icons/stackoverflow.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/images/icons/simple-icons/twitter.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/images/icons/spectrum.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/images/logos/arcticicestudio.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 36 additions & 0 deletions src/components/atoms/core/vectors/icons/Discord.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright (C) 2018-present Arctic Ice Studio <development@arcticicestudio.com>
* Copyright (C) 2018-present Sven Greb <development@svengreb.de>
*
* Project: Nord Docs
* Repository: https://github.com/arcticicestudio/nord-docs
* License: MIT
*/

import React from "react";
import styled from "styled-components";

import { ReactComponent as DiscordSVG } from "assets/images/icons/simple-icons/discord.svg";

import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";

const DiscordIcon = styled(DiscordSVG)`
${themeModeFillColorStyles};
`;

/**
* The "Discord" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
* By default, it uses the fill color and transition based on the current active global theme mode.
*
* @author Arctic Ice Studio <development@arcticicestudio.com>
* @author Sven Greb <development@svengreb.de>
* @see https://simpleicons.org
* @since 0.5.0
*/
const Discord = ({ className, svgRef }) => <DiscordIcon className={className} svgRef={svgRef} />;

Discord.propTypes = iconPropTypes;

Discord.defaultProps = iconDefaultProps;

export default Discord;
36 changes: 36 additions & 0 deletions src/components/atoms/core/vectors/icons/GitHub.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright (C) 2018-present Arctic Ice Studio <development@arcticicestudio.com>
* Copyright (C) 2018-present Sven Greb <development@svengreb.de>
*
* Project: Nord Docs
* Repository: https://github.com/arcticicestudio/nord-docs
* License: MIT
*/

import React from "react";
import styled from "styled-components";

import { ReactComponent as GitHubSVG } from "assets/images/icons/simple-icons/github.svg";

import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";

const GitHubIcon = styled(GitHubSVG)`
${themeModeFillColorStyles};
`;

/**
* The "GitHub" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
* By default, it uses the fill color and transition based on the current active global theme mode.
*
* @author Arctic Ice Studio <development@arcticicestudio.com>
* @author Sven Greb <development@svengreb.de>
* @see https://simpleicons.org
* @since 0.5.0
*/
const GitHub = ({ className, svgRef }) => <GitHubIcon className={className} svgRef={svgRef} />;

GitHub.propTypes = iconPropTypes;

GitHub.defaultProps = iconDefaultProps;

export default GitHub;
47 changes: 47 additions & 0 deletions src/components/atoms/core/vectors/icons/Heart.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright (C) 2018-present Arctic Ice Studio <development@arcticicestudio.com>
* Copyright (C) 2018-present Sven Greb <development@svengreb.de>
*
* Project: Nord Docs
* Repository: https://github.com/arcticicestudio/nord-docs
* License: MIT
*/

import React from "react";
import styled from "styled-components";

import { ReactComponent as HeartSVGFill } from "assets/images/icons/eva-icons/heart-fill.svg";
import { ReactComponent as HeartSVGOutline } from "assets/images/icons/eva-icons/heart-outline.svg";

import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";

const HeartIconFill = styled(HeartSVGFill)`
${themeModeFillColorStyles};
`;

const HeartIconOutline = styled(HeartSVGOutline)`
${themeModeFillColorStyles};
`;

/**
* The "heart" icon from "Eva Icons" as styled SVG vector graphic component.
* The "outline" variant can be used by passing the `outlined` boolean prop.
* By default, it uses the fill color and transition based on the current active global theme mode.
*
* @author Arctic Ice Studio <development@arcticicestudio.com>
* @author Sven Greb <development@svengreb.de>
* @see https://akveo.github.io/eva-icons
* @since 0.5.0
*/
const Heart = ({ className, outlined, svgRef }) =>
outlined ? (
<HeartIconOutline className={className} svgRef={svgRef} />
) : (
<HeartIconFill className={className} svgRef={svgRef} />
);

Heart.propTypes = iconPropTypes;

Heart.defaultProps = iconDefaultProps;

export default Heart;
36 changes: 36 additions & 0 deletions src/components/atoms/core/vectors/icons/Keybase.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright (C) 2018-present Arctic Ice Studio <development@arcticicestudio.com>
* Copyright (C) 2018-present Sven Greb <development@svengreb.de>
*
* Project: Nord Docs
* Repository: https://github.com/arcticicestudio/nord-docs
* License: MIT
*/

import React from "react";
import styled from "styled-components";

import { ReactComponent as KeybaseSVG } from "assets/images/icons/simple-icons/keybase.svg";

import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";

const KeybaseIcon = styled(KeybaseSVG)`
${themeModeFillColorStyles};
`;

/**
* The "Keybase" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
* By default, it uses the fill color and transition based on the current active global theme mode.
*
* @author Arctic Ice Studio <development@arcticicestudio.com>
* @author Sven Greb <development@svengreb.de>
* @see https://simpleicons.org
* @since 0.5.0
*/
const Keybase = ({ className, svgRef }) => <KeybaseIcon className={className} svgRef={svgRef} />;

Keybase.propTypes = iconPropTypes;

Keybase.defaultProps = iconDefaultProps;

export default Keybase;
4 changes: 2 additions & 2 deletions src/components/atoms/core/vectors/icons/Menu.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ const MenuIconOutline = styled(MenuSVGOutline)`
`;

/**
* The "menu" icon from "Eva Icons" as SVG vector graphic component.
* The "menu" icon from "Eva Icons" as styled SVG vector graphic component.
* By default, it uses the fill color and transition based on the current active global theme mode.
*
* @author Arctic Ice Studio <development@arcticicestudio.com>
* @author Sven Greb <development@svengreb.de>
* @see https://akveo.github.io/eva-icons
* @since 0.3.0
*/
const Menu = ({ svgRef }) => <MenuIconOutline svgRef={svgRef} />;
const Menu = ({ className, svgRef }) => <MenuIconOutline className={className} svgRef={svgRef} />;

Menu.propTypes = iconPropTypes;

Expand Down
10 changes: 7 additions & 3 deletions src/components/atoms/core/vectors/icons/Moon.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const MoonIconOutline = styled(MoonSVGOutline)`
`;

/**
* The "moon" icon from "Eva Icons" as SVG vector graphic component.
* The "moon" icon from "Eva Icons" as styled SVG vector graphic component.
* The "outline" variant can be used by passing the `outlined` boolean prop.
* By default, it uses the fill color and transition based on the current active global theme mode.
*
Expand All @@ -33,8 +33,12 @@ const MoonIconOutline = styled(MoonSVGOutline)`
* @see https://akveo.github.io/eva-icons
* @since 0.3.0
*/
const Moon = ({ outlined, svgRef }) =>
outlined ? <MoonIconOutline svgRef={svgRef} /> : <MoonIconFill svgRef={svgRef} />;
const Moon = ({ className, outlined, svgRef }) =>
outlined ? (
<MoonIconOutline className={className} svgRef={svgRef} />
) : (
<MoonIconFill className={className} svgRef={svgRef} />
);

Moon.propTypes = iconPropTypes;

Expand Down
36 changes: 36 additions & 0 deletions src/components/atoms/core/vectors/icons/Reddit.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright (C) 2018-present Arctic Ice Studio <development@arcticicestudio.com>
* Copyright (C) 2018-present Sven Greb <development@svengreb.de>
*
* Project: Nord Docs
* Repository: https://github.com/arcticicestudio/nord-docs
* License: MIT
*/

import React from "react";
import styled from "styled-components";

import { ReactComponent as RedditSVG } from "assets/images/icons/simple-icons/reddit.svg";

import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";

const RedditIcon = styled(RedditSVG)`
${themeModeFillColorStyles};
`;

/**
* The "Reddit" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
* By default, it uses the fill color and transition based on the current active global theme mode.
*
* @author Arctic Ice Studio <development@arcticicestudio.com>
* @author Sven Greb <development@svengreb.de>
* @see https://simpleicons.org
* @since 0.5.0
*/
const Reddit = ({ className, svgRef }) => <RedditIcon className={className} svgRef={svgRef} />;

Reddit.propTypes = iconPropTypes;

Reddit.defaultProps = iconDefaultProps;

export default Reddit;
36 changes: 36 additions & 0 deletions src/components/atoms/core/vectors/icons/Slack.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright (C) 2018-present Arctic Ice Studio <development@arcticicestudio.com>
* Copyright (C) 2018-present Sven Greb <development@svengreb.de>
*
* Project: Nord Docs
* Repository: https://github.com/arcticicestudio/nord-docs
* License: MIT
*/

import React from "react";
import styled from "styled-components";

import { ReactComponent as SlackSVG } from "assets/images/icons/simple-icons/slack.svg";

import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";

const SlackIcon = styled(SlackSVG)`
${themeModeFillColorStyles};
`;

/**
* The "Slack" logo icon from the "Simple Icons" project as styled SVG vector graphic component.
* By default, it uses the fill color and transition based on the current active global theme mode.
*
* @author Arctic Ice Studio <development@arcticicestudio.com>
* @author Sven Greb <development@svengreb.de>
* @see https://simpleicons.org
* @since 0.5.0
*/
const Slack = ({ className, svgRef }) => <SlackIcon className={className} svgRef={svgRef} />;

Slack.propTypes = iconPropTypes;

Slack.defaultProps = iconDefaultProps;

export default Slack;
36 changes: 36 additions & 0 deletions src/components/atoms/core/vectors/icons/Spectrum.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright (C) 2018-present Arctic Ice Studio <development@arcticicestudio.com>
* Copyright (C) 2018-present Sven Greb <development@svengreb.de>
*
* Project: Nord Docs
* Repository: https://github.com/arcticicestudio/nord-docs
* License: MIT
*/

import React from "react";
import styled from "styled-components";

import { ReactComponent as SpectrumSVG } from "assets/images/icons/spectrum.svg";

import { iconDefaultProps, iconPropTypes, themeModeFillColorStyles } from "../shared";

const SpectrumIcon = styled(SpectrumSVG)`
${themeModeFillColorStyles};
`;

/**
* The "Spectrum" logo icon as styled SVG vector graphic component.
* By default, it uses the fill color and transition based on the current active global theme mode.
*
* @author Arctic Ice Studio <development@arcticicestudio.com>
* @author Sven Greb <development@svengreb.de>
* @see https://github.com/withspectrum/spectrum/blob/alpha/public/img/mark.svg
* @since 0.5.0
*/
const Spectrum = ({ className, svgRef }) => <SpectrumIcon className={className} svgRef={svgRef} />;

Spectrum.propTypes = iconPropTypes;

Spectrum.defaultProps = iconDefaultProps;

export default Spectrum;
Loading

0 comments on commit abf4318

Please sign in to comment.