import React from 'react';
import { connect } from 'react-redux';
import Avatar from 'misago/components/avatar'; // jshint ignore:line
import Header from 'misago/components/profile/Header'; // jshint ignore:line
import ModerationNav from 'misago/components/profile/moderation/nav'; // jshint ignore:line
import { SideNav, CompactNav } from 'misago/components/profile/navs'; // jshint ignore:line
import misago from 'misago/index';
import { dehydrate } from 'misago/reducers/profile'; // jshint ignore:line
import polls from 'misago/services/polls';
import store from 'misago/services/store'; // jshint ignore:line
export default class extends React.Component {
constructor(props) {
super(props);
this.state = {
dropdown: false
};
this.startPolling(props.profile.api_url.root);
}
startPolling(api) {
polls.start({
poll: 'user-profile',
url: api,
frequency: 90 * 1000,
update: this.update
});
}
/* jshint ignore:start */
update = (data) => {
store.dispatch(dehydrate(data));
};
/* jshint ignore:end */
/* jshint ignore:start */
toggleNav = () => {
if (this.state.dropdown === 'pages') {
this.setState({
dropdown: false
});
} else {
this.setState({
dropdown: 'pages'
});
}
};
toggleModeration = () => {
if (this.state.dropdown === 'moderation') {
this.setState({
dropdown: false
});
} else {
console.log('show moderation!');
this.setState({
dropdown: 'moderation'
});
}
};
hideNav = () => {
this.setState({
dropdown: false
});
};
/* jshint ignore:end */
getToggleNavClassName() {
if (this.state.dropdown) {
return 'btn btn-default btn-icon open';
} else {
return 'btn btn-default btn-icon';
}
}
getCompactNavClassName() {
if (this.state.dropdown) {
return 'compact-nav open';
} else {
return 'compact-nav';
}
}
getNavDropdown() {
if (this.state.dropdown === 'pages') {
/* jshint ignore:start */
return
{"Hello, I'm placeholder for " + this.props.route.name}