import React from "react" import { connect } from "react-redux" import Avatar from "misago/components/avatar" import ChangeAvatarModal, { select } from "misago/components/change-avatar/root" import NavbarSearch from "misago/components/navbar-search" import misago from "misago" import dropdown from "misago/services/mobile-navbar-dropdown" import modal from "misago/services/modal" export class UserMenu extends React.Component { logout() { let decision = confirm(gettext("Are you sure you want to sign out?")) if (decision) { $("#hidden-logout-form").submit() } } changeAvatar() { modal.show(connect(select)(ChangeAvatarModal)) } render() { const { user } = this.props return ( ) } } export function PrivateThreadsBadge({ user }) { if (!user.unread_private_threads) return null return {user.unread_private_threads} } export function UserNav({ user }) { return ( ) } export function UserPrivateThreadsLink({ user }) { if (!user.acl.can_use_private_threads) return null let title = null if (user.unread_private_threads) { title = gettext("You have unread private threads!") } else { title = gettext("Private threads") } return (
  • message {user.unread_private_threads > 0 && ( {user.unread_private_threads} )}
  • ) } export function selectUserMenu(state) { return { user: state.auth.user } } export class CompactUserNav extends React.Component { showUserMenu() { dropdown.showConnected("user-menu", connect(selectUserMenu)(UserMenu)) } render() { return ( ) } }