Prompt for login by default
Summary: This aligns behaviour with non-sandy behaviour of login: Prompt for login on startup if the user isn't yet signed in. Logic is based on https://www.internalfb.com/intern/diffusion/FBS/browse/master/xplat/sonar/desktop/app/src/chrome/UserAccount.tsx?commit=1fc905fdd1cd&lines=94 Reviewed By: jknoxville Differential Revision: D24922397 fbshipit-source-id: b4bab9c109a1054c0e260599d28320699c47dfda
This commit is contained in:
committed by
Facebook GitHub Bot
parent
9d101263a0
commit
dca419ee24
@@ -7,7 +7,13 @@
|
|||||||
* @format
|
* @format
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React, {cloneElement, useState, useCallback, useMemo} from 'react';
|
import React, {
|
||||||
|
cloneElement,
|
||||||
|
useState,
|
||||||
|
useCallback,
|
||||||
|
useMemo,
|
||||||
|
useEffect,
|
||||||
|
} from 'react';
|
||||||
import {Button, Divider, Badge, Tooltip, Avatar, Popover} from 'antd';
|
import {Button, Divider, Badge, Tooltip, Avatar, Popover} from 'antd';
|
||||||
import {
|
import {
|
||||||
MobileFilled,
|
MobileFilled,
|
||||||
@@ -37,7 +43,7 @@ import SignInSheet from '../chrome/SignInSheet';
|
|||||||
import {errorCounterAtom} from '../chrome/ConsoleLogs';
|
import {errorCounterAtom} from '../chrome/ConsoleLogs';
|
||||||
import {ToplevelProps} from './SandyApp';
|
import {ToplevelProps} from './SandyApp';
|
||||||
import {useValue} from 'flipper-plugin';
|
import {useValue} from 'flipper-plugin';
|
||||||
import {logout} from '../reducers/user';
|
import {logout, USER_NOT_SIGNEDIN, USER_UNAUTHORIZED} from '../reducers/user';
|
||||||
import config from '../fb-stubs/config';
|
import config from '../fb-stubs/config';
|
||||||
import styled from '@emotion/styled';
|
import styled from '@emotion/styled';
|
||||||
import {showEmulatorLauncher} from './appinspect/LaunchEmulator';
|
import {showEmulatorLauncher} from './appinspect/LaunchEmulator';
|
||||||
@@ -46,6 +52,7 @@ import SupportRequestFormV2 from '../fb-stubs/SupportRequestFormV2';
|
|||||||
import {setStaticView} from '../reducers/connections';
|
import {setStaticView} from '../reducers/connections';
|
||||||
import {getInstance} from '../fb-stubs/Logger';
|
import {getInstance} from '../fb-stubs/Logger';
|
||||||
import {isStaticViewActive} from '../chrome/mainsidebar/sidebarUtils';
|
import {isStaticViewActive} from '../chrome/mainsidebar/sidebarUtils';
|
||||||
|
import {getUser} from '../fb-stubs/user';
|
||||||
|
|
||||||
const LeftRailButtonElem = styled(Button)<{kind?: 'small'}>(({kind}) => ({
|
const LeftRailButtonElem = styled(Button)<{kind?: 'small'}>(({kind}) => ({
|
||||||
width: kind === 'small' ? 32 : 36,
|
width: kind === 'small' ? 32 : 36,
|
||||||
@@ -353,6 +360,17 @@ function LoginButton() {
|
|||||||
(visible) => setShowLogout(visible),
|
(visible) => setShowLogout(visible),
|
||||||
[],
|
[],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (config.showLogin) {
|
||||||
|
getUser().catch((error) => {
|
||||||
|
if (error === USER_UNAUTHORIZED || error === USER_NOT_SIGNEDIN) {
|
||||||
|
setShowLogin(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, []);
|
||||||
|
|
||||||
return login ? (
|
return login ? (
|
||||||
<Popover
|
<Popover
|
||||||
content={
|
content={
|
||||||
|
|||||||
Reference in New Issue
Block a user