-
+
diff --git a/website/src/assets/icons/admin.svg b/website/src/assets/icons/admin.svg
new file mode 100644
index 0000000..9658e53
--- /dev/null
+++ b/website/src/assets/icons/admin.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/website/src/assets/icons/confirmed.svg b/website/src/assets/icons/confirmed.svg
new file mode 100644
index 0000000..f5b440d
--- /dev/null
+++ b/website/src/assets/icons/confirmed.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/website/src/assets/icons/edit.svg b/website/src/assets/icons/edit.svg
new file mode 100644
index 0000000..e04bfed
--- /dev/null
+++ b/website/src/assets/icons/edit.svg
@@ -0,0 +1,14 @@
+
+
\ No newline at end of file
diff --git a/website/src/assets/icons/hold.svg b/website/src/assets/icons/hand.svg
similarity index 100%
rename from website/src/assets/icons/hold.svg
rename to website/src/assets/icons/hand.svg
diff --git a/website/src/assets/icons/help.svg b/website/src/assets/icons/help.svg
new file mode 100644
index 0000000..604d67f
--- /dev/null
+++ b/website/src/assets/icons/help.svg
@@ -0,0 +1,18 @@
+
+
\ No newline at end of file
diff --git a/website/src/assets/icons/users.png b/website/src/assets/icons/users.png
deleted file mode 100644
index 372bb2f..0000000
Binary files a/website/src/assets/icons/users.png and /dev/null differ
diff --git a/website/src/assets/icons/warning.svg b/website/src/assets/icons/warning.svg
new file mode 100644
index 0000000..e1d9f6e
--- /dev/null
+++ b/website/src/assets/icons/warning.svg
@@ -0,0 +1,18 @@
+
+
\ No newline at end of file
diff --git a/website/src/ui/BoundButton.js b/website/src/ui/BoundButton.js
index 64f068a..ebe8e94 100644
--- a/website/src/ui/BoundButton.js
+++ b/website/src/ui/BoundButton.js
@@ -9,7 +9,8 @@ export default class BoundButton extends React.Component {
text: PropTypes.string,
binder: PropTypes.object.isRequired,
submit: PropTypes.string,
- onClick: PropTypes.func
+ onClick: PropTypes.func,
+ width: PropTypes.oneOfType([ PropTypes.string, PropTypes.number ]),
}
constructor(props) {
@@ -39,11 +40,12 @@ export default class BoundButton extends React.Component {
}
render() {
- const { name, text, submit, onClick } = this.props
+ const { name, text, submit, width, onClick } = this.props
const { visible, disabled } = this.state
return (
-
+
)
}
}
diff --git a/website/src/ui/BoundEmailIcon.js b/website/src/ui/BoundEmailIcon.js
index 20e5eaf..262b9d4 100644
--- a/website/src/ui/BoundEmailIcon.js
+++ b/website/src/ui/BoundEmailIcon.js
@@ -20,13 +20,13 @@ export default class BoundEmailIcon extends React.Component {
}
render() {
- // const { value } = this.state
+ const { value } = this.state
return (
-
+
)
}
diff --git a/website/src/ui/BoundInput.js b/website/src/ui/BoundInput.js
index d92fcf6..af6c27e 100644
--- a/website/src/ui/BoundInput.js
+++ b/website/src/ui/BoundInput.js
@@ -49,7 +49,6 @@ export default class BoundInput extends React.Component {
name={name}
onChange={this.handleChange}
placeholder={placeholder} />
-
{message}
)
diff --git a/website/src/ui/Box.js b/website/src/ui/Box.js
index bf1456d..fc8f54e 100644
--- a/website/src/ui/Box.js
+++ b/website/src/ui/Box.js
@@ -6,25 +6,27 @@ import React, { Component } from 'react'
class Box extends Component {
static propTypes = {
- borderTop: PropTypes.string,
- borderBottom: PropTypes.string,
- borderRight: PropTypes.string,
- borderLeft: PropTypes.string,
- border: PropTypes.string,
+ borderTop: PropTypes.object,
+ borderBottom: PropTypes.object,
+ borderRight: PropTypes.object,
+ borderLeft: PropTypes.object,
+ border: PropTypes.object,
radius: PropTypes.number,
- color: PropTypes.string,
+ background: PropTypes.string,
children: PropTypes.node,
}
render() {
- const { children, color, borderTop, borderBottom, borderLeft, borderRight, border, radius } = this.props
+ const { children, background, borderTop, borderBottom, borderLeft,
+ borderRight, border, radius } = this.props
return (
+ border ? { border } : { borderTop, borderBottom, borderLeft, borderRight },
+ ]}>
{children}
)
diff --git a/website/src/ui/Button.js b/website/src/ui/Button.js
index cab6c5a..c97ed19 100644
--- a/website/src/ui/Button.js
+++ b/website/src/ui/Button.js
@@ -1,8 +1,7 @@
import Radium from 'radium'
import PropTypes from 'prop-types'
import React, { Component } from 'react'
-import { colorInfo, sizeInfo } from './style'
-import { Text } from '.'
+import { fontInfo, colorInfo, sizeInfo } from './style'
class Button extends Component {
static propTypes = {
@@ -22,7 +21,11 @@ class Button extends Component {
static style = {
button: {
+ fontSize: fontInfo.size.medium,
+ fontFamily: fontInfo.family,
+ color: fontInfo.color.inverse,
height: sizeInfo.buttonHeight,
+ borderWidth: 0,
borderRadius: 10,
background: colorInfo.buttonBackgroundHover,
verticalAlign: 'middle',
@@ -35,7 +38,6 @@ class Button extends Component {
background: colorInfo.disabledButtonBackground,
},
':active': {
- borderWidth: 0,
background: colorInfo.buttonBackgroundActive,
}
}
@@ -45,12 +47,10 @@ class Button extends Component {
const { name, submit, visible, disabled, width, text, onClick } = this.props
return (
-
+ onClick={onClick} value={text} />
)
}
}
diff --git a/website/src/ui/HeaderText.js b/website/src/ui/HeaderText.js
new file mode 100644
index 0000000..0d59c17
--- /dev/null
+++ b/website/src/ui/HeaderText.js
@@ -0,0 +1,35 @@
+import Radium from 'radium'
+import PropTypes from 'prop-types'
+import React, { Component } from 'react'
+import { sizeInfo, fontInfo } from 'ui/style'
+
+class HeaderText extends Component {
+ static propTypes = {
+ text: PropTypes.string,
+ }
+
+ static style = {
+ position: 'relative',
+ top: 3,
+ display: 'inline-block',
+ fontSize: fontInfo.size.huge,
+ fontFamily: fontInfo.family,
+ color: fontInfo.color.normal,
+ textAlign: 'left',
+ background: 'transparent',
+ verticalAlign: 'middle',
+ borderWidth: 0,
+ paddingLeft: 10,
+ }
+
+ render() {
+ const height = sizeInfo.headerHeight - sizeInfo.headerBorderWidth
+ const { text } = this.props
+
+ return (
+ {text}
+ )
+ }
+}
+
+export default Radium(HeaderText)
diff --git a/website/src/ui/Icon.js b/website/src/ui/Icon.js
index 26bc6ee..ec5a00f 100644
--- a/website/src/ui/Icon.js
+++ b/website/src/ui/Icon.js
@@ -19,10 +19,15 @@ export default class Icon extends Component {
static svgs = {
logout: require('icons/logout.svg'),
profile: require('icons/profile.svg'),
- hold: require('icons/hold.svg'),
+ admin: require('icons/admin.svg'),
+ hand: require('icons/hand.svg'),
users: require('icons/users.svg'),
teams: require('icons/teams.svg'),
system: require('icons/system.svg'),
+ confirmed: require('icons/confirmed.svg'),
+ help: require('icons/help.svg'),
+ warning: require('icons/warning.svg'),
+ edit: require('icons/edit.svg'),
placeholder: require('icons/placeholder.svg'),
}
diff --git a/website/src/ui/Input.js b/website/src/ui/Input.js
index 40a92dc..372f93d 100644
--- a/website/src/ui/Input.js
+++ b/website/src/ui/Input.js
@@ -2,6 +2,8 @@ import Radium from 'radium'
import PropTypes from 'prop-types'
import React, { Component } from 'react'
+// See https://stackoverflow.com/a/6891562/576235 for why we wrap the element
+
class Input extends Component {
static propTypes = {
password: PropTypes.bool,
@@ -35,7 +37,11 @@ class Input extends Component {
margin: 0,
width: '100%',
outline: 'none',
- }
+ ':disabled': {
+ color: '#AAAAAA',
+ background: '#ffffff'
+ }
+ },
}
render() {
diff --git a/website/src/ui/List.js b/website/src/ui/List.js
index 1964a5b..c45f189 100644
--- a/website/src/ui/List.js
+++ b/website/src/ui/List.js
@@ -11,7 +11,6 @@ class List extends Component {
render() {
const { children } = this.props
- const listGapItem = ()
return (
-
- {listGapItem}
-
+
+
{children}
- {listGapItem}
)
@@ -93,7 +96,8 @@ List.Text = Radium(class ListText extends Component {
color: fontInfo.color.normal,
align: 'left',
verticalAlign: 'middle',
- textAlign: 'left'
+ textAlign: 'left',
+ cursor: 'default',
}}>{children}
)
}
diff --git a/website/src/ui/index.js b/website/src/ui/index.js
index 06e0c77..411e348 100644
--- a/website/src/ui/index.js
+++ b/website/src/ui/index.js
@@ -2,6 +2,7 @@ export { default as Anime } from './Anime'
export { default as Box } from './Box'
export { default as Button } from './Button'
export { default as HeaderButton } from './HeaderButton'
+export { default as HeaderText } from './HeaderText'
export { default as PanelButton } from './PanelButton'
export { default as Checkbox } from './Checkbox'
export { default as Input } from './Input'