diff --git a/mobile/.expo/packager-info.json b/mobile/.expo/packager-info.json index b3be66d..76e10d9 100644 --- a/mobile/.expo/packager-info.json +++ b/mobile/.expo/packager-info.json @@ -1,5 +1,5 @@ { "expoServerPort": 19000, "packagerPort": 19001, - "packagerPid": 7732 + "packagerPid": 44581 } \ No newline at end of file diff --git a/website/package-lock.json b/website/package-lock.json index a850c43..404d4ca 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -1759,6 +1759,11 @@ "hoek": "4.2.0" } }, + "bowser": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.2.tgz", + "integrity": "sha512-fuiANC1Bqbqa/S4gmvfCt7bGBmNELMsGZj4Wg3PrP6esP66Ttoj1JSlzFlXtHyduMv07kDNmDsX6VsMWT/MLGg==" + }, "boxen": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz", @@ -2789,6 +2794,14 @@ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", "dev": true }, + "css-in-js-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.0.tgz", + "integrity": "sha512-yuWmPMD9FLi50Xf3k8W8oO3WM1eVnxEGCldCLyfusQ+CgivFk0s23yst4ooW6tfxMuSa03S6uUEga9UhX6GRrA==", + "requires": { + "hyphenate-style-name": "1.0.2" + } + }, "css-loader": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.1.tgz", @@ -4034,6 +4047,11 @@ "merge": "1.2.0" } }, + "exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" + }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", @@ -6215,6 +6233,11 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "hyphenate-style-name": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz", + "integrity": "sha1-MRYKNpMK2vH8BMYHT360FGXU7Es=" + }, "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", @@ -6321,6 +6344,15 @@ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", "dev": true }, + "inline-style-prefixer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-4.0.0.tgz", + "integrity": "sha1-MKA98bNGumsfuKgSvDydq+9IAi0=", + "requires": { + "bowser": "1.9.2", + "css-in-js-utils": "2.0.0" + } + }, "inquirer": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", @@ -10404,6 +10436,16 @@ "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", "dev": true }, + "radium": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/radium/-/radium-0.22.0.tgz", + "integrity": "sha512-9zOYegr4gXfgDiVcf02Qyj8zzupmYSTtIhxvSU/42Ls1Q/+r1cisuGUUJ5m06Ha2cc/f3e5vMM80rj2l34Slew==", + "requires": { + "exenv": "1.2.2", + "inline-style-prefixer": "4.0.0", + "prop-types": "15.6.0" + } + }, "raf": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", diff --git a/website/package.json b/website/package.json index 16f3ba6..280a3f6 100644 --- a/website/package.json +++ b/website/package.json @@ -9,6 +9,7 @@ "moment": "^2.18.1", "papaparse": "^4.3.3", "prop-types": "^15.5.10", + "radium": "^0.22.0", "rc-datepicker": "^5.0.7", "react": "^16.2.0", "react-data-grid": "^2.0.51", diff --git a/website/public/favicon-16x16.png b/website/public/favicon-16x16.png new file mode 100644 index 0000000..e3a84b6 Binary files /dev/null and b/website/public/favicon-16x16.png differ diff --git a/website/public/favicon-32x32.png b/website/public/favicon-32x32.png new file mode 100644 index 0000000..9d9fd0d Binary files /dev/null and b/website/public/favicon-32x32.png differ diff --git a/website/public/favicon-96x96.png b/website/public/favicon-96x96.png new file mode 100644 index 0000000..32410ab Binary files /dev/null and b/website/public/favicon-96x96.png differ diff --git a/website/public/favicon.ico b/website/public/favicon.ico index 5c125de..e3a84b6 100644 Binary files a/website/public/favicon.ico and b/website/public/favicon.ico differ diff --git a/website/public/favicon.png b/website/public/favicon.png deleted file mode 100644 index 8673efc..0000000 Binary files a/website/public/favicon.png and /dev/null differ diff --git a/website/public/index.html b/website/public/index.html index 56c026e..08ecbd6 100644 --- a/website/public/index.html +++ b/website/public/index.html @@ -1,20 +1,10 @@ - Transition Management Resources + Deighton AR - -
diff --git a/website/src/App.js b/website/src/App.js index 5a95c1b..38e8620 100644 --- a/website/src/App.js +++ b/website/src/App.js @@ -1,35 +1,38 @@ import React from 'react' -import './App.scss' -import { NavBar } from './Navigation' -import { Home } from './Home' import { Login, Logout, ResetPassword, ForgotPassword, ConfirmEmail, ProtectedRoute } from './Auth' -import { Dashboard } from './Dashboard' +import { Home } from './Home' import { Profile } from './Profile' import { Users } from './Users' -import { Footer } from './Footer' +import { HolyGrail } from './ui' import { BrowserRouter as Router, Route, Switch } from 'react-router-dom' +import logoImage from 'images/logo.png' export class App extends React.Component { render() { return ( - -
- - - - - - - - - - - - {/* No Match Route */} - -
-
+ + + + + + + + + + + + + + + + {/* No Match Route */} + + + + +
v1.0.0. Copyright © 2018, Deighton.
+
+
) } } diff --git a/website/src/App.scss b/website/src/App.scss deleted file mode 100644 index 60aec55..0000000 --- a/website/src/App.scss +++ /dev/null @@ -1,9 +0,0 @@ -.App { - text-align: center; -} - -@media screen and (max-width: 768px) { - html, body { - padding-top: 4em; - } -} diff --git a/website/src/Auth/Login.js b/website/src/Auth/Login.js index a5cdc98..9df28ea 100644 --- a/website/src/Auth/Login.js +++ b/website/src/Auth/Login.js @@ -4,9 +4,10 @@ import { Container, Header, Form, Message } from 'semantic-ui-react' import './Login.scss' import { regExpPattern } from 'regexp-pattern' import { api } from '../helpers' -import { Validator, ValidatedInput, ValidatedCheckbox, ValidatedButton } from '../Validated' +import { Validator, ValidatedInput, ValidatedCheckbox } from '../Validated' import { WaitDialog, MessageDialog } from '../Dialog' import { Link } from 'react-router-dom' +import { Button } from '../ui' export class Login extends React.Component { static propTypes = { @@ -106,8 +107,9 @@ export class Login extends React.Component { name='rememberMe' onChange={this.handleChange} validator={this.state.validator} message='Should we keep you logged in on this computer?' className='login-checkbox' /> - + { /* */ } + Please contact support@jamoki.com to request login credentials. diff --git a/website/src/Dashboard/Dashboard.js b/website/src/Dashboard/Dashboard.js deleted file mode 100644 index 98446a7..0000000 --- a/website/src/Dashboard/Dashboard.js +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react' -import { Container } from 'semantic-ui-react' -import { ProjectList } from './ProjectList' -import { api } from '../helpers' - -export class Dashboard extends React.Component { - constructor(props) { - super(props) - this.state = { - projects: [] - } - } - - componentDidMount() { - api.listDashboardProjects().then((list) => { - this.setState({ - projects: list.items - }) - }).catch((error) => { - console.error(error) - }) - } - - render() { - return ( - - - - ) - } -} diff --git a/website/src/Dashboard/ProjectCard.js b/website/src/Dashboard/ProjectCard.js deleted file mode 100644 index 349a294..0000000 --- a/website/src/Dashboard/ProjectCard.js +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react' -import PropTypes from 'prop-types' -import { Card, Image, Button, Icon, Popup } from 'semantic-ui-react' -import { Link } from 'react-router-dom' -import { Constants, api } from '../helpers' -import './ProjectCard.scss' - -export class ProjectCard extends React.Component { - static propTypes = { - project: PropTypes.object.isRequired // TODO: Add required fields - } - - render() { - let { project } = this.props - const corporationLink = `/corporations/${project.branch.corporation.fingerprint}` - const branchLink = corporationLink + `/branches/${project.branch.fingerprint}` - const projectLink = branchLink + `/projects/${project.fingerprint}` - return ( - - {/* Project/Corp Logo Link Section */} - - {project.branch.corporation.name} - - - {/* Project Info Section */} - - - - {project.branch.name} -  @  - {project.branch.corporation.name} - - - - {/* Project Link and Status Icon */} - - + ) + } +} + +export default Radium(Button) diff --git a/website/src/ui/Button.style.js b/website/src/ui/Button.style.js new file mode 100644 index 0000000..a69ad4c --- /dev/null +++ b/website/src/ui/Button.style.js @@ -0,0 +1,17 @@ +export default { + base: { + borderRadius: '10px', + fontFamily: 'Arial', + color: '#ffffff', + fontSize: '20px', + background: '#3498db', + padding: '10px 20px 10px 20px', + textDecoration: 'none', + outline: 'none', + + ':hover': { + background: '#3cb0fd', + textDecoration: 'none' + } + } +} diff --git a/website/src/ui/Checkbox.js b/website/src/ui/Checkbox.js new file mode 100644 index 0000000..c6055b7 --- /dev/null +++ b/website/src/ui/Checkbox.js @@ -0,0 +1,33 @@ +import Radium from 'radium' +import PropTypes from 'prop-types' +import React, { Component } from 'react' +import style from './Checkbox.style' +import { reactAutoBind } from 'auto-bind2' + +class Checkbox extends Component { + static propTypes = { + value: PropTypes.bool + } + + constructor(props) { + super(props) + reactAutoBind(this) + this.state = { + checked: props.value + } + } + + onClick() { + this.setState({ checked: !this.state.checked }) + } + + render() { + return ( +
+
+
+ ) + } +} + +export default Radium(Checkbox) diff --git a/website/src/ui/Checkbox.style.js b/website/src/ui/Checkbox.style.js new file mode 100644 index 0000000..c1cb3d6 --- /dev/null +++ b/website/src/ui/Checkbox.style.js @@ -0,0 +1,36 @@ +export default { + checkbox: { + cursor: 'pointer', + position: 'relative', + backgroundColor: '#2196F3', + top: 0, + left: 0, + height: 25, + width: 25 + }, + + checkboxUnchecked: { + backgroundColor: '#E0E0E0', + ':hover': { + backgroundColor: '#C0C0C0' + } + }, + + checkmark: { + position: 'absolute', + display: 'block', + content: '', + left: 10, + top: 5, + width: 6, + height: 12, + borderStyle: 'solid', + borderColor: '#FFFFFF', + borderWidth: '0 3px 3px 0', + transform: 'rotate(45deg)' + }, + + checkmarkUnchecked: { + display: 'none' + } +} diff --git a/website/src/ui/HolyGrail.js b/website/src/ui/HolyGrail.js new file mode 100644 index 0000000..569f570 --- /dev/null +++ b/website/src/ui/HolyGrail.js @@ -0,0 +1,54 @@ +import Radium from 'radium' +import React, { Component } from 'react' +import PropTypes from 'prop-types' +import style from './HolyGrail.style.js' + +class HolyGrail extends Component { + static propTypes = { + children: PropTypes.node + } + + render() { + return ( +
{this.props.children}
+ ) + } +} + +HolyGrail.Header = Radium(class HolyGrailHeader extends Component { + static propTypes = { + children: PropTypes.node + } + + render() { + return ( +
{this.props.children}
+ ) + } +}) + +HolyGrail.Footer = Radium(class HolyGrailFooter extends Component { + static propTypes = { + children: PropTypes.node + } + + render() { + return ( +
{this.props.children}
+ ) + } +}) + +HolyGrail.Body = Radium(class HolyGrailBody extends Component { + static propTypes = { + children: PropTypes.node + } + + render() { + return ( +
{this.props.children}
+ ) + } +}) + +export default Radium(HolyGrail) diff --git a/website/src/ui/HolyGrail.style.js b/website/src/ui/HolyGrail.style.js new file mode 100644 index 0000000..0ce4081 --- /dev/null +++ b/website/src/ui/HolyGrail.style.js @@ -0,0 +1,19 @@ +export default { + base: { + display: 'flex', + minHeight: '100vh', + flexDirection: 'column' + }, + body: { + display: 'flex', + flexGrow: 1 + }, + header: { + backgroundColor: '#FAFAFA', + borderBottom: '1px solid #B2B2B2' + }, + footer: { + backgroundColor: '#FAFAFA', + borderTop: '1px solid #B2B2B2' + } +} diff --git a/website/src/ui/Icon.js b/website/src/ui/Icon.js new file mode 100644 index 0000000..e69de29 diff --git a/website/src/ui/Icon.style.js b/website/src/ui/Icon.style.js new file mode 100644 index 0000000..e69de29 diff --git a/website/src/ui/Image.js b/website/src/ui/Image.js new file mode 100644 index 0000000..e69de29 diff --git a/website/src/ui/Image.style.js b/website/src/ui/Image.style.js new file mode 100644 index 0000000..e69de29 diff --git a/website/src/ui/Input.js b/website/src/ui/Input.js new file mode 100644 index 0000000..3dd97f5 --- /dev/null +++ b/website/src/ui/Input.js @@ -0,0 +1,19 @@ +import Radium from 'radium' +import PropTypes from 'prop-types' +import React, { Component } from 'react' +import style from './Input.style' + +class Input extends Component { + static propTypes = { + hidden: PropTypes.bool, + children: PropTypes.node + } + + render() { + return ( + {this.props.children} + ) + } +} + +export default Radium(Input) diff --git a/website/src/ui/Input.style.js b/website/src/ui/Input.style.js new file mode 100644 index 0000000..baadf02 --- /dev/null +++ b/website/src/ui/Input.style.js @@ -0,0 +1,18 @@ +export default { + base: { + padding: '5px', + fontSize: '16px', + borderWidth: '1px', + borderColor: '#b2b2b2', + backgroundColor: '#ffffff', + color: '#000000', + borderStyle: 'solid', + borderRadius: '5px', + // boxShadow: '0px 0px 0px rgba(66,66,66,.75)' + // textShadow: 'undefined 0px 0px 5px px rgba(66,66,66,.75)' + + ':focus': { + outline: 'none' + } + } +} diff --git a/website/src/ui/Text.js b/website/src/ui/Text.js new file mode 100644 index 0000000..e69de29 diff --git a/website/src/ui/Text.style.js b/website/src/ui/Text.style.js new file mode 100644 index 0000000..e69de29 diff --git a/website/src/ui/index.js b/website/src/ui/index.js new file mode 100644 index 0000000..850c6b0 --- /dev/null +++ b/website/src/ui/index.js @@ -0,0 +1,4 @@ +export { default as Button } from './Button' +export { default as Checkbox } from './Checkbox' +export { default as Input } from './Input' +export { default as HolyGrail } from './HolyGrail'