import React from 'react'; // jshint ignore:line import { connect } from 'react-redux'; import BanDetails from './ban-details'; // jshint ignore:line import Details from './details'; // jshint ignore:line import { Posts, Threads } from './feed'; // jshint ignore:line import Followers from './followers'; // jshint ignore:line import Follows from './follows'; // jshint ignore:line import UsernameHistory from './username-history'; // jshint ignore:line import Header from './header'; // jshint ignore:line import ModerationNav from './moderation/nav'; // jshint ignore:line import { SideNav, CompactNav } from './navs'; // jshint ignore:line import Avatar from 'misago/components/avatar'; // jshint ignore:line import WithDropdown from 'misago/components/with-dropdown'; import misago from 'misago'; import { hydrate } 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 WithDropdown { constructor(props) { super(props); this.startPolling(props.profile.api.index); } startPolling(api) { polls.start({ poll: 'user-profile', url: api, frequency: 90 * 1000, update: this.update }); } /* jshint ignore:start */ update = (data) => { store.dispatch(hydrate(data)); }; /* jshint ignore:end */ render() { /* jshint ignore:start */ const baseUrl = misago.get('PROFILE').url; const pages = misago.get('PROFILE_PAGES'); return (