import React from 'react' import { connect } from 'react-redux' import Sidebar from './Sidebar.jsx' import imgProfil from '../img/imgProfil.png' import { translate } from 'react-i18next' import Radium from 'radium' import color from 'color' import { PageWrapper, PageTitle, PageContent } from 'tracim_frontend_lib' import { getWorkspaceDetail, getWorkspaceMemberList } from '../action-creator.async.js' import { addFlashMessage, setWorkspaceDetail, setWorkspaceMemberList } from '../action-creator.sync.js' class Dashboard extends React.Component { constructor (props) { super(props) this.state = { workspaceIdInUrl: props.match.params.idws ? parseInt(props.match.params.idws) : null, // this is used to avoid handling the parseInt everytime displayNewMemberDashboard: false, displayNotifBtn: false, displayWebdavBtn: false, displayCalendarBtn: false } } async componentDidMount () { const { props, state } = this const fetchWorkspaceDetail = await props.dispatch(getWorkspaceDetail(props.user, state.workspaceIdInUrl)) switch (fetchWorkspaceDetail.status) { case 200: props.dispatch(setWorkspaceDetail(fetchWorkspaceDetail.json)) break case 400: case 500: props.dispatch(addFlashMessage(props.t('An error has happened'), 'warning')) break } const fetchWorkspaceMemberList = await props.dispatch(getWorkspaceMemberList(props.user, state.workspaceIdInUrl)) switch (fetchWorkspaceMemberList.status) { case 200: props.dispatch(setWorkspaceMemberList(fetchWorkspaceMemberList.json)) break case 400: case 500: props.dispatch(addFlashMessage(props.t('An error has happened'), 'warning')) break } } handleToggleNewMemberDashboard = () => this.setState(prevState => ({ displayNewMemberDashboard: !prevState.displayNewMemberDashboard })) handleToggleNotifBtn = () => this.setState(prevState => ({ displayNotifBtn: !prevState.displayNotifBtn })) handleToggleWebdavBtn = () => this.setState(prevState => ({ displayWebdavBtn: !prevState.displayWebdavBtn })) handleToggleCalendarBtn = () => this.setState(prevState => ({ displayCalendarBtn: !prevState.displayCalendarBtn })) render () { const { props, state } = this return (