diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 2a8faf1..0000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/** -dist/** diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 3826c4d..0000000 --- a/.eslintrc +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parser": "babel-eslint", - "extends": "airbnb", - "env": { - "browser": true, - "mocha": true, - "node": true - }, - "rules": { - "react/jsx-filename-extension": [2, { "extensions": [".js", ".jsx"] }] - }, - "settings": { - "import/resolver": { - "webpack": { - "config": "./webpack.config.development.babel.js" - } - } - }, - "plugins": [ - "react", "import" - ] -} diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 72f7c03..0000000 --- a/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "printWidth": 80, - "singleQuote": true, - "trailingComma": "all" -} diff --git a/.stylelintrc b/.stylelintrc deleted file mode 100644 index 383818d..0000000 --- a/.stylelintrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "stylelint-config-standard", - "ignoreFiles": ["node_modules/**/*.css"], - "rules": { - } -} diff --git a/package-lock.json b/package-lock.json index 851b600..dd1f4fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "jira-timer", - "version": "0.1.11", + "version": "0.1.13", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 743f6fb..ad920d6 100644 --- a/package.json +++ b/package.json @@ -1,164 +1,161 @@ -{ - "name": "jira-timer", - "version": "0.1.11", - "description": "Jira Timer", - "productName": "Jira Timer", - "main": "index.js", - "scripts": { - "postinstall": "electron-builder install-app-deps", - "start": "NODE_ENV=development electron .", - "dev": "concurrently -k 'node -r babel-register server.js' 'npm start'", - "pack": "NODE_ENV=production webpack --config webpack.config.production.babel.js", - "build": "npm run pack && electron-builder", - "release": "npm --no-git-tag-version version patch && npm run pack && electron-builder --mac -p always && open-url https://github.com/alexcroox/jira-timer-menubar/releases" - }, - "author": "Alex Crooks", - "repository": { - "type": "git", - "url": "https://github.com/alexcroox/jira-timer" - }, - "license": "MIT", - "engine-strict": true, - "build": { - "productName": "Jira Timer", - "appId": "org.sidigital.jira-timer", - "publish": [ - { - "provider": "github", - "owner": "alexcroox", - "repo": "jira-timer-menubar" - } - ], - "directories": { - "output": "release" - }, - "files": [ - "dist/", - "static/", - "index.html", - "index.js", - "jira-worklogs.js", - "node_modules/", - "package.json", - "!**/signing/" - ], - "dmg": { - "contents": [ - { - "x": 410, - "y": 150, - "type": "link", - "path": "/Applications" - }, - { - "x": 130, - "y": 150, - "type": "file" - } - ] - }, - "mac": { - "icon": "static/app.icns" - }, - "linux": { - "target": [ - "AppImage" - ], - "icon": "static/", - "category": "Utility" - } - }, - "dependencies": { - "@fortawesome/fontawesome": "^1.1.3", - "@fortawesome/fontawesome-free-solid": "^5.0.6", - "@fortawesome/react-fontawesome": "0.0.17", - "array-flatten": "^2.1.1", - "auto-launch": "^5.0.5", - "babel-core": "^6.26.0", - "babel-eslint": "^8.0.2", - "babel-loader": "^7.1.2", - "babel-plugin-styled-components": "^1.5.0", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.6.1", - "babel-preset-react": "^6.24.1", - "babel-preset-react-hmre": "^1.1.1", - "babel-preset-stage-0": "^6.16.0", - "babel-register": "^6.26.0", - "contra": "^1.9.4", - "date-fns": "^1.29.0", - "delay": "^2.0.0", - "electron-log": "^2.2.14", - "electron-store": "^1.3.0", - "electron-updater": "^2.20.1", - "fix-path": "^2.1.0", - "hh-mm-ss": "^1.2.0", - "history": "^4.7.2", - "keytar": "^4.1.0", - "keytar-prebuild": "^4.1.1", - "lodash.filter": "^4.6.0", - "lodash.find": "^4.6.0", - "lodash.findindex": "^4.6.0", - "lodash.isboolean": "^3.0.3", - "lodash.isempty": "^4.4.0", - "lodash.orderby": "^4.6.0", - "lodash.remove": "^4.7.0", - "lodash.sortby": "^4.7.0", - "menubar": "^5.1.0", - "node-loader": "^0.6.0", - "object-get": "^2.1.0", - "opn": "^5.2.0", - "parse-duration": "^0.1.1", - "performance-now": "^2.1.0", - "pretty-ms": "^3.1.0", - "prop-types": "^15.6.0", - "ramda": "^0.25.0", - "react": "^16.2.0", - "react-dom": "^16.2.0", - "react-hot-loader": "^4.0.0-beta.18", - "react-redux": "^5.0.6", - "react-router": "^4.2.0", - "react-router-dom": "^4.2.2", - "react-select": "^1.2.1", - "redux": "^3.6.0", - "redux-persist": "^5.5.0", - "redux-seamless-immutable": "^0.3.2", - "redux-thunk": "^2.1.0", - "request": "^2.83.0", - "request-promise": "^4.2.2", - "revalidation": "^0.12.1", - "seamless-immutable": "^7.1.2", - "string-template": "^1.0.0", - "styled-components": "^3.0.2", - "styled-components-spacing": "^2.1.3", - "uuid": "^3.2.1" - }, - "devDependencies": { - "concurrently": "^3.5.1", - "css-loader": "^0.28.9", - "devtron": "^1.4.0", - "electron": "^1.8.2-beta.5", - "electron-builder": "^20.0.4", - "electron-debug": "^1.5.0", - "electron-devtools-installer": "^2.2.3", - "eslint": "^4.16.0", - "eslint-config-airbnb": "^16.1.0", - "eslint-import-resolver-webpack": "^0.8.4", - "eslint-plugin-import": "^2.2.0", - "eslint-plugin-jsx-a11y": "^6.0.3", - "eslint-plugin-react": "^7.6.0", - "express": "^4.14.0", - "file-loader": "^1.1.6", - "json": "^9.0.6", - "npm-version": "^1.1.0", - "open-url": "^2.0.2", - "style-loader": "^0.19.1", - "stylelint": "^8.4.0", - "stylelint-config-standard": "^17.0.0", - "uglifyjs-webpack-plugin": "^1.1.6", - "webpack": "^3.8.1", - "webpack-dev-middleware": "^2.0.4", - "webpack-hot-middleware": "^2.13.2", - "webpack-merge": "^4.1.1" - } -} +{ + "name": "jira-timer", + "version": "1.0.0", + "description": "Jira Timer", + "productName": "Jira Timer", + "main": "index.js", + "scripts": { + "postinstall": "electron-builder install-app-deps", + "start": "NODE_ENV=development electron .", + "dev": "concurrently -k 'node -r babel-register server.js' 'npm start'", + "pack": "NODE_ENV=production webpack --config webpack.config.production.babel.js", + "build": "npm run pack && electron-builder", + "release": "npm --no-git-tag-version version patch && npm run pack && electron-builder --mac --linux -p always && open-url https://github.com/alexcroox/jira-timer-menubar/releases" + }, + "author": "Alex Crooks", + "repository": { + "type": "git", + "url": "https://github.com/alexcroox/jira-timer" + }, + "license": "MIT", + "engine-strict": true, + "build": { + "productName": "Jira Timer", + "appId": "org.sidigital.jira-timer", + "publish": [ + { + "provider": "github", + "owner": "alexcroox", + "repo": "jira-timer-menubar" + } + ], + "directories": { + "output": "release" + }, + "files": [ + "dist/", + "static/", + "index.html", + "index.js", + "jira-worklogs.js", + "node_modules/", + "package.json", + "!**/signing/" + ], + "dmg": { + "contents": [ + { + "x": 410, + "y": 150, + "type": "link", + "path": "/Applications" + }, + { + "x": 130, + "y": 150, + "type": "file" + } + ] + }, + "mac": { + "icon": "static/app.icns" + }, + "linux": { + "icon": "static", + "category": "Utility" + } + }, + "dependencies": { + "@fortawesome/fontawesome": "^1.1.3", + "@fortawesome/fontawesome-free-solid": "^5.0.6", + "@fortawesome/react-fontawesome": "0.0.17", + "array-flatten": "^2.1.1", + "auto-launch": "^5.0.5", + "babel-core": "^6.26.0", + "babel-eslint": "^8.0.2", + "babel-loader": "^7.1.2", + "babel-plugin-styled-components": "^1.5.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "^1.6.1", + "babel-preset-react": "^6.24.1", + "babel-preset-react-hmre": "^1.1.1", + "babel-preset-stage-0": "^6.16.0", + "babel-register": "^6.26.0", + "contra": "^1.9.4", + "date-fns": "^1.29.0", + "delay": "^2.0.0", + "electron-log": "^2.2.14", + "electron-store": "^1.3.0", + "electron-updater": "^2.20.1", + "fix-path": "^2.1.0", + "hh-mm-ss": "^1.2.0", + "history": "^4.7.2", + "keytar": "^4.1.0", + "keytar-prebuild": "^4.1.1", + "lodash.filter": "^4.6.0", + "lodash.find": "^4.6.0", + "lodash.findindex": "^4.6.0", + "lodash.isboolean": "^3.0.3", + "lodash.isempty": "^4.4.0", + "lodash.orderby": "^4.6.0", + "lodash.remove": "^4.7.0", + "lodash.sortby": "^4.7.0", + "menubar": "^5.1.0", + "node-loader": "^0.6.0", + "object-get": "^2.1.0", + "opn": "^5.2.0", + "parse-duration": "^0.1.1", + "performance-now": "^2.1.0", + "pretty-ms": "^3.1.0", + "prop-types": "^15.6.0", + "ramda": "^0.25.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-hot-loader": "^4.0.0-beta.18", + "react-redux": "^5.0.6", + "react-router": "^4.2.0", + "react-router-dom": "^4.2.2", + "react-select": "^1.2.1", + "redux": "^3.6.0", + "redux-persist": "^5.5.0", + "redux-seamless-immutable": "^0.3.2", + "redux-thunk": "^2.1.0", + "request": "^2.83.0", + "request-promise": "^4.2.2", + "revalidation": "^0.12.1", + "seamless-immutable": "^7.1.2", + "string-template": "^1.0.0", + "styled-components": "^3.0.2", + "styled-components-spacing": "^2.1.3", + "uuid": "^3.2.1" + }, + "devDependencies": { + "concurrently": "^3.5.1", + "css-loader": "^0.28.9", + "devtron": "^1.4.0", + "electron": "^1.8.2-beta.5", + "electron-builder": "^20.0.4", + "electron-debug": "^1.5.0", + "electron-devtools-installer": "^2.2.3", + "eslint": "^4.16.0", + "eslint-config-airbnb": "^16.1.0", + "eslint-import-resolver-webpack": "^0.8.4", + "eslint-plugin-import": "^2.2.0", + "eslint-plugin-jsx-a11y": "^6.0.3", + "eslint-plugin-react": "^7.6.0", + "express": "^4.14.0", + "file-loader": "^1.1.6", + "json": "^9.0.6", + "npm-version": "^1.1.0", + "open-url": "^2.0.2", + "style-loader": "^0.19.1", + "stylelint": "^8.4.0", + "stylelint-config-standard": "^17.0.0", + "uglifyjs-webpack-plugin": "^1.1.6", + "webpack": "^3.8.1", + "webpack-dev-middleware": "^2.0.4", + "webpack-hot-middleware": "^2.13.2", + "webpack-merge": "^4.1.1" + } +} diff --git a/src/containers/settings/settings-container.js b/src/containers/settings/settings-container.js index e8bf889..d98be5f 100644 --- a/src/containers/settings/settings-container.js +++ b/src/containers/settings/settings-container.js @@ -19,12 +19,17 @@ class SettingsContainer extends Component { super(props) this.onOpenDevTools = this.onOpenDevTools.bind(this) + this.onCheckForUpdates = this.onCheckForUpdates.bind(this) } onOpenDevTools () { ipcRenderer.send('openDevTools') } + onCheckForUpdates () { + ipcRenderer.send('updateStatus') + } + render () { return ( @@ -59,7 +64,11 @@ class SettingsContainer extends Component {
About App version v{this.props.version} - + + + + +
); @@ -90,6 +99,13 @@ const ProfileName = styled.span` } ` +const FlexContainer = styled.div` + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 10px; +` + const mapDispatchToProps = { userLogout } diff --git a/src/index.js b/src/index.js index 58f757e..30aa3bf 100644 --- a/src/index.js +++ b/src/index.js @@ -59,7 +59,7 @@ ipcRenderer.on('worklogs', (event, worklogPayload) => { let worklogs = payload.worklogs let fullWeek = payload.fullWeek - console.log('Got worklogs from main process', payload.worklogs.length) + console.log('Got worklogs from main process', fullWeek, payload.worklogs.length) store.dispatch(addWorklogs(worklogs, fullWeek)) store.dispatch(setUpdating(false)) }); diff --git a/src/modules/worklog.js b/src/modules/worklog.js index 361ab95..addeff4 100644 --- a/src/modules/worklog.js +++ b/src/modules/worklog.js @@ -50,8 +50,6 @@ export default function reducer (state = initialState, action = {}) { let currentWorklogs = Immutable.asMutable(state.list, {deep: true}) let workLogs = action.worklogs - console.log('Sent worklogs', action.worklogs) - // If we are sending less than the full week lets add to the array if new // or update existing time if duplicate if (!action.fullRefresh) { @@ -99,7 +97,7 @@ export default function reducer (state = initialState, action = {}) { weekTotal += worklog.timeSpentSeconds }) - let nextState = state.set('list', Immutable(action.worklogs)) + let nextState = state.set('list', Immutable(workLogs)) nextState = nextState.setIn(['totals', 'day'], dayTotal) nextState = nextState.setIn(['totals', 'yesterday'], yesterdayTotal) nextState = nextState.setIn(['totals', 'week'], weekTotal) diff --git a/static/128x128.png b/static/128x128.png new file mode 100644 index 0000000..7a5ec54 Binary files /dev/null and b/static/128x128.png differ diff --git a/static/16x16.png b/static/16x16.png new file mode 100644 index 0000000..8cd3e63 Binary files /dev/null and b/static/16x16.png differ diff --git a/static/24x24.png b/static/24x24.png new file mode 100644 index 0000000..c98b669 Binary files /dev/null and b/static/24x24.png differ diff --git a/static/256x256.png b/static/256x256.png index 77e2e0a..32bcfaf 100644 Binary files a/static/256x256.png and b/static/256x256.png differ diff --git a/static/32x32.png b/static/32x32.png index c604f2f..d778501 100644 Binary files a/static/32x32.png and b/static/32x32.png differ diff --git a/static/48x48.png b/static/48x48.png new file mode 100644 index 0000000..c6edba3 Binary files /dev/null and b/static/48x48.png differ diff --git a/static/512x512.png b/static/512x512.png new file mode 100644 index 0000000..6bee969 Binary files /dev/null and b/static/512x512.png differ diff --git a/static/64x64.png b/static/64x64.png index f9953de..dcfea46 100644 Binary files a/static/64x64.png and b/static/64x64.png differ diff --git a/static/96x96.png b/static/96x96.png new file mode 100644 index 0000000..a52b11e Binary files /dev/null and b/static/96x96.png differ diff --git a/static/app.icns b/static/app.icns index eb25763..1a6fd59 100644 Binary files a/static/app.icns and b/static/app.icns differ