You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailchat/client/web/src/components/GlobalTemporaryTip.tsx

45 lines
1.1 KiB
TypeScript

import { openModal } from '@/plugin/common';
import { Button } from 'antd';
import React, { useCallback } from 'react';
import { t, Trans, useUserInfo } from 'tailchat-shared';
import { closeModal } from './Modal';
import { ClaimTemporaryUser } from './modals/ClaimTemporaryUser';
/**
* 访客账号提示
*/
export const GlobalTemporaryTip: React.FC = React.memo(() => {
const userInfo = useUserInfo();
const show = userInfo?.temporary === true;
const handleClaim = useCallback(() => {
if (!userInfo?._id) {
return;
}
const key = openModal(
<ClaimTemporaryUser
userId={userInfo._id}
onSuccess={() => closeModal(key)}
/>
);
}, [userInfo?._id]);
return show ? (
<div className="text-center bg-indigo-400 text-white">
<Trans>
使,{' '}
<Button
type="link"
className="text-indigo-700 font-bold"
size="small"
onClick={handleClaim}
>
</Button>
</Trans>
</div>
) : null;
});
GlobalTemporaryTip.displayName = 'GlobalTemporaryTip';