refactor: disable oauth login in mobile

pull/100/head
moonrailgun 2 years ago
parent a6eb722b4d
commit d2aa750152

@ -20,6 +20,7 @@ export {
openReconfirmModal, openReconfirmModal,
} from '@/components/Modal'; } from '@/components/Modal';
export { Loadable } from '@/components/Loadable'; export { Loadable } from '@/components/Loadable';
export { useIsMobile } from '@/hooks/useIsMobile';
export { export {
getGlobalState, getGlobalState,
useGlobalSocketEvent, useGlobalSocketEvent,

@ -5,6 +5,7 @@ import {
useNavigate, useNavigate,
loginWithToken, loginWithToken,
setUserJWT, setUserJWT,
useIsMobile,
} from '@capital/common'; } from '@capital/common';
import { Divider, Image, Tooltip } from '@capital/component'; import { Divider, Image, Tooltip } from '@capital/component';
import { request } from './request'; import { request } from './request';
@ -18,6 +19,7 @@ export const IAMAction: React.FC = React.memo(() => {
}, []); }, []);
const newWin = useRef<Window>(); const newWin = useRef<Window>();
const navigate = useNavigate(); const navigate = useNavigate();
const isMobile = useIsMobile();
useEffect(() => { useEffect(() => {
const fn = (event: MessageEvent<any>) => { const fn = (event: MessageEvent<any>) => {
@ -59,31 +61,39 @@ export const IAMAction: React.FC = React.memo(() => {
return ( return (
<div> <div>
<Divider>{Translate.iamLogin}</Divider> <Divider>{Translate.iamLogin}</Divider>
<div style={{ display: 'flex', justifyContent: 'center' }}> {isMobile ? (
{strategies.map((s) => ( <div
<Tooltip key={s.name} title={s.name}> style={{ textAlign: 'center', opacity: 0.8, fontSize: '0.75rem' }}
<Image >
style={{ {Translate.notSupportMobile}
width: 40, </div>
height: 40, ) : (
cursor: 'pointer', <div style={{ display: 'flex', justifyContent: 'center' }}>
borderRadius: 20, {strategies.map((s) => (
}} <Tooltip key={s.name} title={s.name}>
src={s.icon} <Image
onClick={async () => { style={{
if (s.type === 'oauth') { width: 40,
const { data: url } = await request.get( height: 40,
`${s.name}.loginUrl` cursor: 'pointer',
); borderRadius: 20,
}}
src={s.icon}
onClick={async () => {
if (s.type === 'oauth') {
const { data: url } = await request.get(
`${s.name}.loginUrl`
);
const win = window.open(url, 'square', 'frame=true'); const win = window.open(url, 'square', 'frame=true');
newWin.current = win; newWin.current = win;
} }
}} }}
/> />
</Tooltip> </Tooltip>
))} ))}
</div> </div>
)}
</div> </div>
); );
} }

@ -15,4 +15,8 @@ export const Translate = {
'zh-CN': '账号已存在,请使用账号密码登录', 'zh-CN': '账号已存在,请使用账号密码登录',
'en-US': 'Account Existed, please log in with account password', 'en-US': 'Account Existed, please log in with account password',
}), }),
notSupportMobile: localTrans({
'zh-CN': '第三方登录功能暂不支持移动端使用',
'en-US': 'The third-party login function does not support mobile use',
}),
}; };

Loading…
Cancel
Save