refactor: account menu controller [skip e2e]

This commit is contained in:
Aman Harwara
2023-08-11 01:18:08 +05:30
parent 0802476a35
commit 5910a5262e
2 changed files with 7 additions and 12 deletions

View File

@@ -4,16 +4,19 @@ import AccountMenu, { AccountMenuProps } from '../AccountMenu/AccountMenu'
import Icon from '../Icon/Icon' import Icon from '../Icon/Icon'
import Popover from '../Popover/Popover' import Popover from '../Popover/Popover'
import StyledTooltip from '../StyledTooltip/StyledTooltip' import StyledTooltip from '../StyledTooltip/StyledTooltip'
import { observer } from 'mobx-react-lite'
import { AccountMenuController } from '@/Controllers/AccountMenu/AccountMenuController'
type Props = AccountMenuProps & { type Props = AccountMenuProps & {
isOpen: boolean controller: AccountMenuController
hasError: boolean hasError: boolean
toggleMenu: () => void toggleMenu: () => void
user: unknown user: unknown
} }
const AccountMenuButton = ({ hasError, isOpen, mainApplicationGroup, onClickOutside, toggleMenu, user }: Props) => { const AccountMenuButton = ({ hasError, controller, mainApplicationGroup, onClickOutside, toggleMenu, user }: Props) => {
const buttonRef = useRef<HTMLButtonElement>(null) const buttonRef = useRef<HTMLButtonElement>(null)
const { show: isOpen } = controller
return ( return (
<> <>
@@ -46,4 +49,4 @@ const AccountMenuButton = ({ hasError, isOpen, mainApplicationGroup, onClickOuts
) )
} }
export default AccountMenuButton export default observer(AccountMenuButton)

View File

@@ -36,7 +36,6 @@ type State = {
showBetaWarning: boolean showBetaWarning: boolean
showSyncResolution: boolean showSyncResolution: boolean
newUpdateAvailable: boolean newUpdateAvailable: boolean
showAccountMenu: boolean
offline: boolean offline: boolean
hasError: boolean hasError: boolean
arbitraryStatusMessage?: string arbitraryStatusMessage?: string
@@ -62,7 +61,6 @@ class Footer extends AbstractComponent<Props, State> {
showBetaWarning: false, showBetaWarning: false,
showSyncResolution: false, showSyncResolution: false,
newUpdateAvailable: false, newUpdateAvailable: false,
showAccountMenu: false,
} }
this.webEventListenerDestroyer = props.application.addWebEventObserver((event, data) => { this.webEventListenerDestroyer = props.application.addWebEventObserver((event, data) => {
@@ -119,12 +117,6 @@ class Footer extends AbstractComponent<Props, State> {
arbitraryStatusMessage: message, arbitraryStatusMessage: message,
}) })
}) })
this.autorun(() => {
this.setState({
showAccountMenu: this.application.accountMenuController.show,
})
})
} }
reloadUpgradeStatus() { reloadUpgradeStatus() {
@@ -347,7 +339,7 @@ class Footer extends AbstractComponent<Props, State> {
<div className="sk-app-bar-item relative z-footer-bar-item ml-0 select-none"> <div className="sk-app-bar-item relative z-footer-bar-item ml-0 select-none">
<AccountMenuButton <AccountMenuButton
hasError={this.state.hasError} hasError={this.state.hasError}
isOpen={this.state.showAccountMenu} controller={this.application.accountMenuController}
mainApplicationGroup={this.props.applicationGroup} mainApplicationGroup={this.props.applicationGroup}
onClickOutside={this.clickOutsideAccountMenu} onClickOutside={this.clickOutsideAccountMenu}
toggleMenu={this.accountMenuClickHandler} toggleMenu={this.accountMenuClickHandler}