feat(core): show expiration time in link invitation dialog (#11610)

close BS-3095
This commit is contained in:
JimmFly
2025-04-16 10:30:34 +00:00
parent 022e5f2c93
commit 1c1c5ce64b
3 changed files with 37 additions and 12 deletions
@@ -111,24 +111,42 @@ export const LinkInvite = ({
}); });
}, [revokeInvitationLink]); }, [revokeInvitationLink]);
const expireTime = useMemo(() => {
return t['com.affine.payment.member.team.invite.expire-at']({
expireTime: invitationLink?.expireTime
? new Date(invitationLink.expireTime).toLocaleString()
: '',
});
}, [invitationLink, t]);
return ( return (
<> <>
<div className={styles.invitationLinkContainer}> <div className={styles.invitationLinkContainer}>
<div className={styles.modalSubTitle}> <div className={styles.modalSubTitle}>
{t['com.affine.payment.member.team.invite.link-expiration']()} {t['com.affine.payment.member.team.invite.link-expiration']()}
</div> </div>
<Menu {invitationLink ? (
items={items} <Input
contentOptions={{ value={expireTime}
style: { disabled
width: 'var(--radix-dropdown-menu-trigger-width)', style={{
}, backgroundColor: cssVarV2('input/background'),
}} }}
> />
<MenuTrigger style={{ width: '100%' }}> ) : (
{currentSelectedLabel} <Menu
</MenuTrigger> items={items}
</Menu> contentOptions={{
style: {
width: 'var(--radix-dropdown-menu-trigger-width)',
},
}}
>
<MenuTrigger style={{ width: '100%' }}>
{currentSelectedLabel}
</MenuTrigger>
</Menu>
)}
</div> </div>
<div className={styles.invitationLinkContainer}> <div className={styles.invitationLinkContainer}>
<div className={styles.modalSubTitle}> <div className={styles.modalSubTitle}>
+6
View File
@@ -3952,6 +3952,12 @@ export function useAFFiNEI18N(): {
["com.affine.payment.member.team.invite.expiration-date"](options: { ["com.affine.payment.member.team.invite.expiration-date"](options: {
readonly number: string; readonly number: string;
}): string; }): string;
/**
* `To expire at: {{expireTime}}`
*/
["com.affine.payment.member.team.invite.expire-at"](options: {
readonly expireTime: string;
}): string;
/** /**
* `Invitation link` * `Invitation link`
*/ */
@@ -981,6 +981,7 @@
"com.affine.payment.member.team.invite.send-invites": "Send Invites", "com.affine.payment.member.team.invite.send-invites": "Send Invites",
"com.affine.payment.member.team.invite.link-expiration": "Link expiration", "com.affine.payment.member.team.invite.link-expiration": "Link expiration",
"com.affine.payment.member.team.invite.expiration-date": "{{number}} days", "com.affine.payment.member.team.invite.expiration-date": "{{number}} days",
"com.affine.payment.member.team.invite.expire-at": "To expire at: {{expireTime}}",
"com.affine.payment.member.team.invite.invitation-link": "Invitation link", "com.affine.payment.member.team.invite.invitation-link": "Invitation link",
"com.affine.payment.member.team.invite.invitation-link.description": "Generate a link to invite members to your workspace", "com.affine.payment.member.team.invite.invitation-link.description": "Generate a link to invite members to your workspace",
"com.affine.payment.member.team.invite.generate": "Generate", "com.affine.payment.member.team.invite.generate": "Generate",