mirror of
https://github.com/roleypoly/roleypoly-v1.git
synced 2025-04-25 12:19:10 +00:00
Merge pull request #64 from kayteh/modernize-deps
chore: modernize deps
This commit is contained in:
commit
3ee2e01d0d
28 changed files with 20598 additions and 15468 deletions
36
Dockerfile
36
Dockerfile
|
@ -1,18 +1,32 @@
|
||||||
FROM node:10 AS builder
|
FROM node:12-alpine AS base
|
||||||
# ENV NODE_ENV production
|
|
||||||
COPY ./UI /src/UI
|
|
||||||
RUN cd /src/UI && yarn && yarn build
|
|
||||||
|
|
||||||
COPY ./Server /src/Server
|
FROM base AS uibase
|
||||||
RUN cd /src/Server && yarn
|
WORKDIR /src/UI
|
||||||
|
|
||||||
RUN cp -r /src/UI/build /src/Server/public
|
FROM base AS serverbase
|
||||||
|
WORKDIR /src/Server
|
||||||
|
RUN apk add --no-cache git python build-base
|
||||||
|
|
||||||
|
FROM uibase AS uideps
|
||||||
|
COPY ./UI/package-lock.json ./UI/package.json ./
|
||||||
|
RUN npm ci
|
||||||
|
|
||||||
FROM mhart/alpine-node:10
|
FROM serverbase AS serverdeps
|
||||||
|
COPY ./Server/package-lock.json ./Server/package.json ./
|
||||||
|
RUN npm ci
|
||||||
|
|
||||||
|
FROM uideps AS uibuild
|
||||||
|
COPY ./UI .
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM scratch AS combined
|
||||||
|
COPY ./Server/ /src/Server
|
||||||
|
COPY --from=serverdeps /src/Server/node_modules /src/Server/node_modules
|
||||||
|
COPY --from=uibuild /src/UI/build /src/Server/public
|
||||||
|
|
||||||
|
FROM base
|
||||||
ENV NODE_ENV production
|
ENV NODE_ENV production
|
||||||
WORKDIR /dist
|
WORKDIR /dist
|
||||||
EXPOSE 6769
|
EXPOSE 6769
|
||||||
RUN npm i -g pm2
|
COPY --from=combined /src/Server /dist
|
||||||
COPY --from=builder /src/Server /dist
|
CMD node index.js
|
||||||
CMD pm2-docker index.js
|
|
5062
Server/package-lock.json
generated
Normal file
5062
Server/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -10,32 +10,33 @@
|
||||||
"pm2": "pm2"
|
"pm2": "pm2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@discordjs/uws": "^11.149.1",
|
"@discordjs/uws": "^10.149.0",
|
||||||
"@roleypoly/rpc": "^3.0.0-alpha.12",
|
"@roleypoly/rpc": "^3.0.0-alpha.12",
|
||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"discord.js": "^11.4.2",
|
"discord.js": "^11.5.1",
|
||||||
"dotenv": "^7.0.0",
|
"dotenv": "^8.2.0",
|
||||||
"erlpack": "github:discordapp/erlpack",
|
"erlpack": "github:discordapp/erlpack",
|
||||||
"eslint": "^5.16.0",
|
"eslint": "^6.6.0",
|
||||||
"eslint-config-standard": "^12.0.0",
|
"eslint-config-standard": "^14.1.0",
|
||||||
"glob": "^7.1.3",
|
"glob": "^7.1.6",
|
||||||
"immutable": "^4.0.0-rc.12",
|
"immutable": "^4.0.0-rc.12",
|
||||||
"koa": "^2.7.0",
|
"koa": "^2.11.0",
|
||||||
"koa-better-router": "^2.1.1",
|
"koa-better-router": "^2.1.1",
|
||||||
"koa-bodyparser": "^4.2.1",
|
"koa-bodyparser": "^4.2.1",
|
||||||
"koa-compress": "^3.0.0",
|
"koa-compress": "^3.0.0",
|
||||||
"koa-send": "5.0.0",
|
"koa-send": "5.0.0",
|
||||||
"koa-session": "^5.10.1",
|
"koa-session": "^5.12.3",
|
||||||
"koa-static": "^5.0.0",
|
"koa-static": "^5.0.0",
|
||||||
"ksuid": "^1.2.0",
|
"ksuid": "^1.2.0",
|
||||||
"lru-cache": "^5.1.1",
|
"lru-cache": "^5.1.1",
|
||||||
"pg": "^7.9.0",
|
"pg": "^7.13.0",
|
||||||
"pg-hstore": "^2.3.2",
|
"pg-hstore": "^2.3.3",
|
||||||
"pm2": "^3.5.0",
|
"pm2": "^3.5.0",
|
||||||
"sequelize": "^5.21.1",
|
"sequelize": "^5.21.2",
|
||||||
"socket.io": "^2.2.0",
|
"socket.io": "^2.3.0",
|
||||||
"superagent": "^5.0.2",
|
"superagent": "^5.1.0",
|
||||||
"uuid": "^3.3.2"
|
"uuid": "^3.3.3",
|
||||||
|
"zucc": "^0.1.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"prettier": "^1.19.1"
|
"prettier": "^1.19.1"
|
||||||
|
|
3855
Server/yarn.lock
3855
Server/yarn.lock
File diff suppressed because it is too large
Load diff
1
UI/.prettierignore
Normal file
1
UI/.prettierignore
Normal file
|
@ -0,0 +1 @@
|
||||||
|
build
|
|
@ -1,2 +0,0 @@
|
||||||
const { override, addDecoratorsLegacy } = require("customize-cra");
|
|
||||||
module.exports = override(addDecoratorsLegacy());
|
|
15401
UI/package-lock.json
generated
Normal file
15401
UI/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -3,35 +3,34 @@
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"color": "^3.1.0",
|
"color": "^3.1.2",
|
||||||
"history": "^4.7.2",
|
"history": "^4.10.1",
|
||||||
"immutable": "^3.8.2",
|
"immutable": "^3.8.2",
|
||||||
"moment": "^2.22.2",
|
"moment": "^2.24.0",
|
||||||
"prop-types": "^15.6.2",
|
"prop-types": "^15.7.2",
|
||||||
"react": "^16.6.3",
|
"react": "^16.12.0",
|
||||||
"react-custom-scrollbars": "^4.2.1",
|
"react-custom-scrollbars": "^4.2.1",
|
||||||
"react-dnd": "^7.0.0",
|
"react-dnd": "^7.0.0",
|
||||||
"react-dnd-html5-backend": "^7.0.0",
|
"react-dnd-html5-backend": "^7.0.0",
|
||||||
"react-dom": "^16.6.3",
|
"react-dom": "^16.12.0",
|
||||||
"react-immutable-proptypes": "^2.1.0",
|
"react-immutable-proptypes": "^2.1.0",
|
||||||
"react-redux": "^5.1.1",
|
"react-redux": "^7.1.3",
|
||||||
"react-router": "^4.3.1",
|
"react-router": "^4.3.1",
|
||||||
"react-router-dom": "^4.3.1",
|
"react-router-dom": "^4.3.1",
|
||||||
"react-router-redux": "^5.0.0-alpha.8",
|
"react-scripts": "3.2.0",
|
||||||
"react-scripts": "2.1.8",
|
"react-typist": "^2.0.5",
|
||||||
"react-typist": "^2.0.4",
|
|
||||||
"react-typist-cycle": "^0.1.2",
|
"react-typist-cycle": "^0.1.2",
|
||||||
"redux": "^4.0.1",
|
"redux": "^4.0.4",
|
||||||
"redux-logger": "^3.0.6",
|
"redux-logger": "^3.0.6",
|
||||||
"redux-thunk": "^2.3.0",
|
"redux-thunk": "^2.3.0",
|
||||||
"superagent": "^5.0.2",
|
"superagent": "^5.1.0",
|
||||||
"uuid": "^3.3.2"
|
"uuid": "^3.3.3"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "react-app-rewired start",
|
"start": "react-scripts start",
|
||||||
"build": "react-app-rewired build",
|
"build": "react-scripts build",
|
||||||
"test": "react-app-rewired test",
|
"test": "react-scripts test",
|
||||||
"eject": "react-app-rewired eject",
|
"eject": "react-scripts eject",
|
||||||
"lint:prettier": "prettier -c '**/*.{ts,tsx,css,yml,yaml,md,json,js,jsx}'"
|
"lint:prettier": "prettier -c '**/*.{ts,tsx,css,yml,yaml,md,json,js,jsx}'"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
|
@ -45,20 +44,14 @@
|
||||||
],
|
],
|
||||||
"proxy": "http://localhost:6769",
|
"proxy": "http://localhost:6769",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/plugin-proposal-decorators": "^7.4.0",
|
"@babel/plugin-proposal-decorators": "^7.7.0",
|
||||||
"customize-cra": "^0.2.12",
|
"eslint-config-standard": "^14.1.0",
|
||||||
"eslint-config-standard": "^12.0.0",
|
"eslint-plugin-import": "^2.18.2",
|
||||||
"eslint-plugin-import": "^2.14.0",
|
"eslint-plugin-node": "^10.0.0",
|
||||||
"eslint-plugin-node": "^8.0.0",
|
"eslint-plugin-promise": "^4.2.1",
|
||||||
"eslint-plugin-promise": "^4.0.1",
|
"eslint-plugin-react": "^7.16.0",
|
||||||
"eslint-plugin-react": "^7.11.1",
|
"eslint-plugin-standard": "^4.0.1",
|
||||||
"eslint-plugin-standard": "^4.0.0",
|
"node-sass-chokidar": "^1.4.0",
|
||||||
"node-sass-chokidar": "^1.3.4",
|
"prettier": "^1.19.1"
|
||||||
"prettier": "^1.19.1",
|
|
||||||
"react-app-rewire-scss": "^1.0.2",
|
|
||||||
"react-app-rewired": "^2.1.1",
|
|
||||||
"redux-devtools": "^3.4.1",
|
|
||||||
"redux-devtools-dock-monitor": "^1.1.3",
|
|
||||||
"redux-devtools-log-monitor": "^1.4.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,39 +1,36 @@
|
||||||
import React, { Component } from 'react'
|
import React, { Component } from 'react'
|
||||||
import { Provider } from 'react-redux'
|
import { Provider } from 'react-redux'
|
||||||
import { ConnectedRouter } from 'react-router-redux'
|
|
||||||
import { DragDropContext } from 'react-dnd'
|
import { DragDropContext } from 'react-dnd'
|
||||||
import HTML5Backend from 'react-dnd-html5-backend'
|
import HTML5Backend from 'react-dnd-html5-backend'
|
||||||
import createHistory from 'history/createBrowserHistory'
|
|
||||||
import configureStore from './store/configureStore'
|
import configureStore from './store/configureStore'
|
||||||
import './App.css'
|
import './App.css'
|
||||||
import './generic.sass'
|
import './generic.sass'
|
||||||
|
import { Router } from 'react-router-dom'
|
||||||
import Wrapper from './components/wrapper'
|
import Wrapper from './components/wrapper'
|
||||||
import AppRouter from './router'
|
import AppRouter from './router'
|
||||||
import { userInit } from './actions'
|
import { userInit } from './actions'
|
||||||
|
import { history } from './router/history'
|
||||||
|
|
||||||
const history = createHistory()
|
const store = configureStore(undefined)
|
||||||
const store = configureStore(undefined, history)
|
|
||||||
|
|
||||||
window.__APP_STORE__ = store
|
window.__APP_STORE__ = store
|
||||||
|
|
||||||
@DragDropContext(HTML5Backend)
|
class _App extends Component {
|
||||||
class App extends Component {
|
componentDidMount() {
|
||||||
componentWillMount() {
|
|
||||||
store.dispatch(userInit)
|
store.dispatch(userInit)
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<ConnectedRouter history={history}>
|
<Router history={history}>
|
||||||
<Wrapper>
|
<Wrapper>
|
||||||
<AppRouter />
|
<AppRouter />
|
||||||
</Wrapper>
|
</Wrapper>
|
||||||
</ConnectedRouter>
|
</Router>
|
||||||
</Provider>
|
</Provider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default App
|
export default DragDropContext(HTML5Backend)(_App)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import superagent from 'superagent'
|
import superagent from 'superagent'
|
||||||
import { push } from 'react-router-redux'
|
import { history } from '../router/history'
|
||||||
|
|
||||||
export const fetchServers = async dispatch => {
|
export const fetchServers = async dispatch => {
|
||||||
const rsp = await superagent.get('/api/servers')
|
const rsp = await superagent.get('/api/servers')
|
||||||
|
@ -79,7 +79,7 @@ const poll = (dispatch, getState) => {
|
||||||
const upd = newServers.keySeq().toSet()
|
const upd = newServers.keySeq().toSet()
|
||||||
const newSrv = upd.subtract(old)
|
const newSrv = upd.subtract(old)
|
||||||
stopPolling()
|
stopPolling()
|
||||||
dispatch(push(`/s/${newSrv.toJS()[0]}/edit`))
|
history.push(`/s/${newSrv.toJS()[0]}/edit`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,10 @@ import React, { Component } from 'react'
|
||||||
import { connect } from 'react-redux'
|
import { connect } from 'react-redux'
|
||||||
import superagent from 'superagent'
|
import superagent from 'superagent'
|
||||||
|
|
||||||
@connect()
|
|
||||||
class OauthCallback extends Component {
|
class OauthCallback extends Component {
|
||||||
state = {
|
state = {
|
||||||
notReady: true,
|
notReady: true,
|
||||||
message: 'chotto matte kudasai...',
|
message: 'giving discord the good news...',
|
||||||
url: null,
|
url: null,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,4 +28,4 @@ class OauthCallback extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default OauthCallback
|
export default connect()(OauthCallback)
|
||||||
|
|
|
@ -4,11 +4,10 @@ import superagent from 'superagent'
|
||||||
import { connect } from 'react-redux'
|
import { connect } from 'react-redux'
|
||||||
import { fetchServers } from '../../actions'
|
import { fetchServers } from '../../actions'
|
||||||
|
|
||||||
@connect()
|
|
||||||
class OauthCallback extends Component {
|
class OauthCallback extends Component {
|
||||||
state = {
|
state = {
|
||||||
notReady: true,
|
notReady: true,
|
||||||
message: 'chotto matte kudasai...',
|
message: 'shaking hands with discord...',
|
||||||
redirect: '/s',
|
redirect: '/s',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,4 +83,4 @@ class OauthCallback extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default OauthCallback
|
export default connect()(OauthCallback)
|
||||||
|
|
|
@ -5,11 +5,10 @@ import { connect } from 'react-redux'
|
||||||
import uuidv4 from 'uuid/v4'
|
import uuidv4 from 'uuid/v4'
|
||||||
import { fetchServers } from '../../actions'
|
import { fetchServers } from '../../actions'
|
||||||
|
|
||||||
@connect()
|
|
||||||
class OauthCallback extends Component {
|
class OauthCallback extends Component {
|
||||||
state = {
|
state = {
|
||||||
notReady: true,
|
notReady: true,
|
||||||
message: 'chotto matte kudasai...',
|
message: 'sending you to discord...',
|
||||||
redirect: '/s',
|
redirect: '/s',
|
||||||
url: null,
|
url: null,
|
||||||
}
|
}
|
||||||
|
@ -83,4 +82,4 @@ class OauthCallback extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default OauthCallback
|
export default connect()(OauthCallback)
|
||||||
|
|
|
@ -1,29 +1,8 @@
|
||||||
import React, { Component } from 'react'
|
import React, { Component } from 'react'
|
||||||
import { DropTarget } from 'react-dnd'
|
import { DropTarget } from 'react-dnd'
|
||||||
|
|
||||||
import Role from '../role/draggable'
|
import Role from '../role/draggable'
|
||||||
import CategoryEditor from './CategoryEditor'
|
import CategoryEditor from './CategoryEditor'
|
||||||
|
|
||||||
@DropTarget(
|
|
||||||
Symbol.for('dnd: role'),
|
|
||||||
{
|
|
||||||
drop(props, monitor, element) {
|
|
||||||
props.onDrop(monitor.getItem())
|
|
||||||
},
|
|
||||||
canDrop(props, monitor) {
|
|
||||||
return (
|
|
||||||
props.mode !== Symbol.for('edit') && monitor.getItem().category !== props.name
|
|
||||||
)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
(connect, monitor) => ({
|
|
||||||
connectDropTarget: connect.dropTarget(),
|
|
||||||
isOver: monitor.isOver(),
|
|
||||||
isOverCurrent: monitor.isOver({ shallow: true }),
|
|
||||||
canDrop: monitor.canDrop(),
|
|
||||||
itemType: monitor.getItemType(),
|
|
||||||
})
|
|
||||||
)
|
|
||||||
class Category extends Component {
|
class Category extends Component {
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
|
@ -66,4 +45,26 @@ class Category extends Component {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default Category
|
|
||||||
|
const dropTarget = DropTarget(
|
||||||
|
Symbol.for('dnd: role'),
|
||||||
|
{
|
||||||
|
drop(props, monitor, element) {
|
||||||
|
props.onDrop(monitor.getItem())
|
||||||
|
},
|
||||||
|
canDrop(props, monitor) {
|
||||||
|
return (
|
||||||
|
props.mode !== Symbol.for('edit') && monitor.getItem().category !== props.name
|
||||||
|
)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
(connect, monitor) => ({
|
||||||
|
connectDropTarget: connect.dropTarget(),
|
||||||
|
isOver: monitor.isOver(),
|
||||||
|
isOverCurrent: monitor.isOver({ shallow: true }),
|
||||||
|
canDrop: monitor.canDrop(),
|
||||||
|
itemType: monitor.getItemType(),
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
export default dropTarget(Category)
|
||||||
|
|
|
@ -16,8 +16,7 @@ const mapState = ({ rolePicker, roleEditor, servers }, ownProps) => ({
|
||||||
server: servers.get(ownProps.match.params.server),
|
server: servers.get(ownProps.match.params.server),
|
||||||
})
|
})
|
||||||
|
|
||||||
@connect(mapState)
|
const dropTarget = DropTarget(
|
||||||
@DropTarget(
|
|
||||||
Symbol.for('dnd: role'),
|
Symbol.for('dnd: role'),
|
||||||
{
|
{
|
||||||
drop(props, monitor, element) {
|
drop(props, monitor, element) {
|
||||||
|
@ -36,7 +35,7 @@ const mapState = ({ rolePicker, roleEditor, servers }, ownProps) => ({
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
class RoleEditor extends Component {
|
class RoleEditor extends Component {
|
||||||
componentWillMount() {
|
componentDidMount() {
|
||||||
const {
|
const {
|
||||||
dispatch,
|
dispatch,
|
||||||
match: {
|
match: {
|
||||||
|
@ -232,4 +231,4 @@ class RoleEditor extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default RoleEditor
|
export default connect(mapState)(dropTarget(RoleEditor))
|
||||||
|
|
|
@ -14,9 +14,8 @@ const mapState = ({ rolePicker, servers }, ownProps) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@connect(mapState)
|
|
||||||
class RolePicker extends Component {
|
class RolePicker extends Component {
|
||||||
componentWillMount() {
|
componentDidMount() {
|
||||||
const {
|
const {
|
||||||
dispatch,
|
dispatch,
|
||||||
match: {
|
match: {
|
||||||
|
@ -207,4 +206,4 @@ class RolePicker extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default RolePicker
|
export default connect(mapState)(RolePicker)
|
||||||
|
|
|
@ -1,19 +1,8 @@
|
||||||
import React, { Component } from 'react'
|
import React, { Component } from 'react'
|
||||||
import { DragSource } from 'react-dnd'
|
import { DragSource } from 'react-dnd'
|
||||||
|
|
||||||
import Role from './index'
|
import Role from './index'
|
||||||
|
|
||||||
// @DragSource(Symbol.for('dnd: role'), {
|
const dragSource = DragSource(
|
||||||
// beginDrag ({ role, categoryId }) {
|
|
||||||
// return { role, category: categoryId }
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// (connect, monitor) => ({
|
|
||||||
// connectDragSource: connect.dragSource(),
|
|
||||||
// isDragging: monitor.isDragging()
|
|
||||||
// }))
|
|
||||||
export default
|
|
||||||
@DragSource(
|
|
||||||
Symbol.for('dnd: role'),
|
Symbol.for('dnd: role'),
|
||||||
{
|
{
|
||||||
beginDrag({ role, categoryId }) {
|
beginDrag({ role, categoryId }) {
|
||||||
|
@ -25,8 +14,11 @@ export default
|
||||||
isDragging: monitor.isDragging(),
|
isDragging: monitor.isDragging(),
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
class DraggableRole extends Component {
|
class DraggableRole extends Component {
|
||||||
render() {
|
render() {
|
||||||
return <Role {...this.props} type="drag" />
|
return <Role {...this.props} type="drag" />
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default dragSource(DraggableRole)
|
||||||
|
|
|
@ -9,7 +9,7 @@ export default class ServerLanding extends Component {
|
||||||
exit: false,
|
exit: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
async componentWillMount() {
|
async componentDidMount() {
|
||||||
console.log(this.props)
|
console.log(this.props)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
import React, { Component } from 'react'
|
import React, { Component } from 'react'
|
||||||
import ImmutablePropTypes from 'react-immutable-proptypes'
|
import ImmutablePropTypes from 'react-immutable-proptypes'
|
||||||
import { NavLink } from 'react-router-dom'
|
|
||||||
import { connect } from 'react-redux'
|
import { connect } from 'react-redux'
|
||||||
|
import { NavLink } from 'react-router-dom'
|
||||||
import * as Actions from '../../actions'
|
import * as Actions from '../../actions'
|
||||||
import './UserCard.sass'
|
import './UserCard.sass'
|
||||||
|
|
||||||
@connect()
|
|
||||||
class UserCard extends Component {
|
class UserCard extends Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
user: ImmutablePropTypes.map,
|
user: ImmutablePropTypes.map,
|
||||||
|
@ -67,4 +66,4 @@ class UserCard extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default UserCard
|
export default connect()(UserCard)
|
||||||
|
|
|
@ -20,7 +20,6 @@ const mapState = ({ servers, user, appState }) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@connect(mapState)
|
|
||||||
class Servers extends Component {
|
class Servers extends Component {
|
||||||
get defaultPath() {
|
get defaultPath() {
|
||||||
console.log(this.props.servers.toJS())
|
console.log(this.props.servers.toJS())
|
||||||
|
@ -65,4 +64,4 @@ class Servers extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Servers
|
export default connect(mapState)(Servers)
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
import { combineReducers } from 'redux'
|
import { combineReducers } from 'redux'
|
||||||
|
|
||||||
import servers from './servers'
|
import servers from './servers'
|
||||||
import user from './user'
|
import user from './user'
|
||||||
import rolePicker from './role-picker'
|
import rolePicker from './role-picker'
|
||||||
import roleEditor from './role-editor'
|
import roleEditor from './role-editor'
|
||||||
import { routerMiddleware } from 'react-router-redux'
|
|
||||||
// import roles from './roles'
|
// import roles from './roles'
|
||||||
|
|
||||||
const initialState = {
|
const initialState = {
|
||||||
|
@ -36,7 +34,6 @@ const rootReducer = combineReducers({
|
||||||
appState,
|
appState,
|
||||||
servers,
|
servers,
|
||||||
user,
|
user,
|
||||||
router: routerMiddleware,
|
|
||||||
// roles,
|
// roles,
|
||||||
rolePicker,
|
rolePicker,
|
||||||
roleEditor,
|
roleEditor,
|
||||||
|
|
3
UI/src/router/history.js
Normal file
3
UI/src/router/history.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import createHistory from 'history/createBrowserHistory'
|
||||||
|
|
||||||
|
export const history = createHistory()
|
|
@ -9,10 +9,7 @@ import Servers from '../components/servers'
|
||||||
import ServerLanding from '../components/servers/ServerLanding'
|
import ServerLanding from '../components/servers/ServerLanding'
|
||||||
import Pages, { Error404, Landing } from '../pages'
|
import Pages, { Error404, Landing } from '../pages'
|
||||||
|
|
||||||
export default
|
class _AppRouter extends Component {
|
||||||
@withRouter
|
|
||||||
@connect(({ appState, user }) => ({ ready: appState.ready, user }))
|
|
||||||
class AppRouter extends Component {
|
|
||||||
render() {
|
render() {
|
||||||
const isLoggedIn = this.props.user.get('isLoggedIn')
|
const isLoggedIn = this.props.user.get('isLoggedIn')
|
||||||
|
|
||||||
|
@ -24,7 +21,7 @@ class AppRouter extends Component {
|
||||||
<Switch>
|
<Switch>
|
||||||
{isLoggedIn === true ? (
|
{isLoggedIn === true ? (
|
||||||
// YES LOGGED IN
|
// YES LOGGED IN
|
||||||
<Route path="/s" component={Servers} />
|
<Route path="/s" component={() => <Servers />} />
|
||||||
) : (
|
) : (
|
||||||
// NOT LOGGED IN
|
// NOT LOGGED IN
|
||||||
[
|
[
|
||||||
|
@ -52,3 +49,7 @@ class AppRouter extends Component {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default withRouter(
|
||||||
|
connect(({ appState, user }) => ({ ready: appState.ready, user }))(_AppRouter)
|
||||||
|
)
|
||||||
|
|
|
@ -1,16 +1,13 @@
|
||||||
import { routerMiddleware } from 'react-router-redux'
|
|
||||||
import { applyMiddleware, compose, createStore } from 'redux'
|
import { applyMiddleware, compose, createStore } from 'redux'
|
||||||
import { createLogger } from 'redux-logger'
|
import { createLogger } from 'redux-logger'
|
||||||
import thunk from 'redux-thunk'
|
import thunk from 'redux-thunk'
|
||||||
import rootReducer from '../reducers'
|
import rootReducer from '../reducers'
|
||||||
|
|
||||||
const configureStore = (preloadedState, history) => {
|
const configureStore = preloadedState => {
|
||||||
const store = createStore(
|
const store = createStore(
|
||||||
rootReducer,
|
rootReducer,
|
||||||
preloadedState,
|
preloadedState,
|
||||||
compose(
|
compose(applyMiddleware(thunk, createLogger()))
|
||||||
applyMiddleware(thunk, routerMiddleware(history), createLogger())
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (module.hot) {
|
if (module.hot) {
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
import { createStore, applyMiddleware } from 'redux'
|
import { createStore, applyMiddleware } from 'redux'
|
||||||
import { routerMiddleware } from 'react-router-redux'
|
|
||||||
|
|
||||||
import thunk from 'redux-thunk'
|
import thunk from 'redux-thunk'
|
||||||
// import api from '../middleware/api'
|
// import api from '../middleware/api'
|
||||||
import rootReducer from '../reducers'
|
import rootReducer from '../reducers'
|
||||||
|
|
||||||
const configureStore = (preloadedState, history) =>
|
const configureStore = preloadedState =>
|
||||||
createStore(
|
createStore(rootReducer, preloadedState, applyMiddleware(thunk))
|
||||||
rootReducer,
|
|
||||||
preloadedState,
|
|
||||||
applyMiddleware(thunk, routerMiddleware(history))
|
|
||||||
)
|
|
||||||
|
|
||||||
export default configureStore
|
export default configureStore
|
||||||
|
|
11461
UI/yarn.lock
11461
UI/yarn.lock
File diff suppressed because it is too large
Load diff
8
start.sh
8
start.sh
|
@ -3,12 +3,12 @@
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
|
|
||||||
pushd Server
|
pushd Server
|
||||||
yarn
|
npm i
|
||||||
yarn dev
|
npm run dev
|
||||||
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd UI
|
pushd UI
|
||||||
yarn
|
npm i
|
||||||
yarn start
|
npm start
|
||||||
popd
|
popd
|
Loading…
Add table
Reference in a new issue