diff --git a/frontend/components/Icon/Icon.jsx b/frontend/components/Icon/Icon.jsx
new file mode 100644
index 0000000000..5a80ef9c39
--- /dev/null
+++ b/frontend/components/Icon/Icon.jsx
@@ -0,0 +1,28 @@
+import React, { Component, PropTypes } from 'react';
+import classnames from 'classnames';
+
+const baseClass = 'kolidecon';
+
+export class Icon extends Component {
+ static propTypes = {
+ className: PropTypes.string,
+ fw: PropTypes.bool,
+ name: PropTypes.string.isRequired,
+ size: PropTypes.string,
+ title: PropTypes.string,
+ };
+
+ render () {
+ const { className, fw, name, size, title } = this.props;
+ const iconClasses = classnames(baseClass, `${baseClass}-${name}`, className, {
+ [`${baseClass}-fw`]: fw,
+ [`${baseClass}-${size}`]: size,
+ });
+
+ return (
+
+ );
+ }
+}
+
+export default Icon;
diff --git a/frontend/components/Icon/Icon.tests.jsx b/frontend/components/Icon/Icon.tests.jsx
new file mode 100644
index 0000000000..4b602746cf
--- /dev/null
+++ b/frontend/components/Icon/Icon.tests.jsx
@@ -0,0 +1,11 @@
+import React from 'react';
+import expect from 'expect';
+import { mount } from 'enzyme';
+
+import Icon from './Icon';
+
+describe('Icon - component', () => {
+ it('renders', () => {
+ expect(mount()).toExist();
+ });
+});
diff --git a/frontend/components/Icon/index.js b/frontend/components/Icon/index.js
new file mode 100644
index 0000000000..3680ed0ed3
--- /dev/null
+++ b/frontend/components/Icon/index.js
@@ -0,0 +1 @@
+export default from './Icon';
diff --git a/frontend/components/buttons/Rocker/Rocker.jsx b/frontend/components/buttons/Rocker/Rocker.jsx
index 9fc0f28b8a..23bea52e28 100644
--- a/frontend/components/buttons/Rocker/Rocker.jsx
+++ b/frontend/components/buttons/Rocker/Rocker.jsx
@@ -2,6 +2,8 @@ import React, { Component, PropTypes } from 'react';
import { noop } from 'lodash';
import classnames from 'classnames';
+import Icon from 'components/Icon';
+
class Rocker extends Component {
static propTypes = {
@@ -34,12 +36,12 @@ class Rocker extends Component {
- {bText}
+ {bText}
- {aText}
+ {aText}
diff --git a/frontend/components/forms/ForgotPasswordForm/ForgotPasswordForm.jsx b/frontend/components/forms/ForgotPasswordForm/ForgotPasswordForm.jsx
index b2bcb7a8b7..62bd7e82d4 100644
--- a/frontend/components/forms/ForgotPasswordForm/ForgotPasswordForm.jsx
+++ b/frontend/components/forms/ForgotPasswordForm/ForgotPasswordForm.jsx
@@ -26,7 +26,7 @@ class ForgotPasswordForm extends Component {
diff --git a/frontend/components/forms/LoginForm/LoginForm.jsx b/frontend/components/forms/LoginForm/LoginForm.jsx
index a72c0249f2..9d0611dcc0 100644
--- a/frontend/components/forms/LoginForm/LoginForm.jsx
+++ b/frontend/components/forms/LoginForm/LoginForm.jsx
@@ -38,12 +38,12 @@ class LoginForm extends Component {
diff --git a/frontend/components/forms/RegistrationForm/AdminDetails/AdminDetails.jsx b/frontend/components/forms/RegistrationForm/AdminDetails/AdminDetails.jsx
index 3182506fd5..f2718d5b56 100644
--- a/frontend/components/forms/RegistrationForm/AdminDetails/AdminDetails.jsx
+++ b/frontend/components/forms/RegistrationForm/AdminDetails/AdminDetails.jsx
@@ -32,24 +32,24 @@ class AdminDetails extends Component {
/>