0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-16 20:26:19 -05:00

fix: fixup

This commit is contained in:
Charles Zhao 2024-03-13 17:44:41 +08:00
parent 9a733bfbaa
commit 30dd19ffaf
No known key found for this signature in database
GPG key ID: 4858774754C92DF2
36 changed files with 808 additions and 88 deletions

View file

@ -23,3 +23,7 @@ export type TenantResponse = GetArrayElementType<GuardedResponse<GetRoutes['/api
export type TenantMemberResponse = GetArrayElementType<
GuardedResponse<GetTenantAuthRoutes['/api/tenants/:tenantId/members']>
>;
export type TenantInvitationResponse = GetArrayElementType<
GuardedResponse<GetTenantAuthRoutes['/api/tenants/:tenantId/invitations']>
>;

View file

@ -11,20 +11,24 @@ import ItemPreview from '.';
type Props = {
user: Pick<User, 'id' | 'avatar' | 'name' | 'primaryEmail' | 'primaryPhone' | 'username'> &
Partial<Pick<User, 'isSuspended'>>;
/**
* Whether to show the user's avatar. Explicitly set to `false` to hide it.
*/
showAvatar?: false;
/**
* Whether to provide a link to user details page. Explicitly set to `false` to hide it.
*/
userDetailsLink?: false;
hasUserDetailsLink?: false;
};
/** A component that renders a preview of a user. It's useful for displaying a user in a list. */
function UserPreview({ user, userDetailsLink }: Props) {
function UserPreview({ user, showAvatar, hasUserDetailsLink }: Props) {
return (
<ItemPreview
title={getUserTitle(user)}
subtitle={getUserSubtitle(user)}
icon={<UserAvatar size="large" user={user} />}
to={conditional(userDetailsLink !== false && `/users/${user.id}`)}
icon={conditional(showAvatar !== false && <UserAvatar size="large" user={user} />)}
to={conditional(hasUserDetailsLink !== false && `/users/${user.id}`)}
suffix={conditional(user.isSuspended && <SuspendedTag />)}
/>
);

View file

@ -1,5 +1,82 @@
import { useContext } from 'react';
import { useTranslation } from 'react-i18next';
import useSWR from 'swr';
import { useAuthedCloudApi } from '@/cloud/hooks/use-cloud-api';
import { type TenantInvitationResponse } from '@/cloud/types/router';
import ActionsButton from '@/components/ActionsButton';
import EmptyDataPlaceholder from '@/components/EmptyDataPlaceholder';
import { RoleOption } from '@/components/OrganizationRolesSelect';
import { TenantsContext } from '@/contexts/TenantsProvider';
import Table from '@/ds-components/Table';
import Tag from '@/ds-components/Tag';
import { type RequestError } from '@/hooks/use-api';
function Invitations() {
return <div>Invitations</div>;
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console.tenant_members' });
const cloudApi = useAuthedCloudApi();
const { currentTenantId } = useContext(TenantsContext);
const { data, error, isLoading, mutate } = useSWR<TenantInvitationResponse[], RequestError>(
`api/tenant/${currentTenantId}/invitations`,
async () =>
cloudApi.get('/api/tenants/:tenantId/invitations', { params: { tenantId: currentTenantId } })
);
return (
<Table
isRowHoverEffectDisabled
placeholder={<EmptyDataPlaceholder />}
isLoading={isLoading}
errorMessage={error?.toString()}
rowGroups={[{ key: 'data', data }]}
columns={[
{
dataIndex: 'user',
title: t('user'),
render: (invitation) => <span>{invitation.invitee}</span>,
},
{
dataIndex: 'roles',
title: t('roles'),
render: ({ organizationRoles }) => {
if (organizationRoles.length === 0) {
return '-';
}
return organizationRoles.map(({ id, name }) => (
<Tag key={id} variant="cell">
<RoleOption value={id} title={name} />
</Tag>
));
},
},
{
dataIndex: 'actions',
title: null,
colSpan: 1,
render: (invitation) => (
<ActionsButton
deleteConfirmation="tenant_members.delete_user_confirm"
fieldName="tenant_members.user"
textOverrides={{
edit: 'tenant_members.menu_options.resend_invite',
delete: 'tenant_members.menu_options.revoke',
deleteConfirmation: 'general.remove',
}}
onDelete={async () => {
await cloudApi.delete(`/api/tenants/:tenantId/invitations/:invitationId`, {
params: { tenantId: currentTenantId, invitationId: invitation.id },
});
void mutate();
}}
/>
),
},
]}
rowIndexKey="id"
/>
);
}
export default Invitations;

View file

@ -1,7 +0,0 @@
@use '@/scss/underscore' as _;
.roles {
display: flex;
flex-wrap: wrap;
gap: _.unit(2);
}

View file

@ -15,8 +15,6 @@ import { type RequestError } from '@/hooks/use-api';
import EditMemberModal from '../EditMemberModal';
import * as styles from './index.module.scss';
function Members() {
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console.tenant_members' });
const cloudApi = useAuthedCloudApi();
@ -43,7 +41,7 @@ function Members() {
dataIndex: 'user',
title: t('user'),
colSpan: 4,
render: (user) => <UserPreview user={user} userDetailsLink={false} />,
render: (user) => <UserPreview user={user} hasUserDetailsLink={false} />,
},
{
dataIndex: 'roles',
@ -54,15 +52,11 @@ function Members() {
return '-';
}
return (
<div className={styles.roles}>
{organizationRoles.map(({ id, name }) => (
<Tag key={id} variant="cell">
<RoleOption value={id} title={name} />
</Tag>
))}
</div>
);
return organizationRoles.map(({ id, name }) => (
<Tag key={id} variant="cell">
<RoleOption value={id} title={name} />
</Tag>
));
},
},
{
@ -71,11 +65,11 @@ function Members() {
colSpan: 1,
render: (user) => (
<ActionsButton
deleteConfirmation="organization_details.remove_user_from_organization_description"
fieldName="organization_details.user"
deleteConfirmation="tenant_members.delete_user_confirm"
fieldName="tenant_members.user"
textOverrides={{
edit: 'organization_details.edit_organization_roles',
delete: 'organization_details.remove_user_from_organization',
edit: 'tenant_members.menu_options.edit',
delete: 'tenant_members.menu_options.delete',
deleteConfirmation: 'general.remove',
}}
onEdit={() => {

View file

@ -43,7 +43,12 @@ function TenantMembers() {
}}
/>
<Spacer />
<Button type="primary" size="large" icon={<PlusIcon />} title="tenant_members.new_member" />
<Button
type="primary"
size="large"
icon={<PlusIcon />}
title="tenant_members.invite_member"
/>
</div>
<Routes>
<Route path="*" element={<NotFound />} />

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -38,6 +38,17 @@ const tenants = {
'Das Löschen des Mandanten führt zur dauerhaften Entfernung aller zugehörigen Benutzerdaten und Konfigurationen. Bitte gehen Sie vorsichtig vor.',
tenant_deletion_button: 'Mieter löschen',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Mieter erstellen',
subtitle:
@ -77,6 +88,12 @@ const tenants = {
cannot_delete_description:
'Entschuldigung, Sie können diesen Mandanten momentan nicht löschen. Stellen Sie sicher, dass Sie sich im kostenlosen Tarif befinden und alle ausstehenden Rechnungen bezahlt haben.',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: 'Du hast noch keinen Mandanten erstellt',
description:

View file

@ -1,25 +1,41 @@
const tenant_members = {
members: 'Members',
invitations: 'Invitations',
new_member: 'New member',
invite_member: 'Invite member',
user: 'User',
roles: 'Roles',
admin: 'Admin',
member: 'Member',
invitation_status: 'Invitation status',
invitation_sent: 'Invitation sent',
expiration_date: 'Expiration date',
invite_modal: {
title: 'Invite people to Silverhand',
subtitle: 'To invite members to an organization, they must accept the invitation.',
to: 'To',
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
pending: 'Pending',
accepted: 'Accepted',
expired: 'Expired',
revoked: 'Revoked',
},
invitation_empty_placeholder: {
title: 'Invite team members',
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
edit: 'Edit tenant role',
delete: 'Remove user from tenant',
resend_invite: 'Resend invitation',
revoke: 'Revoke invitation',
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
title: 'Change roles of {{name}}',
},
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
assign_admin_confirm:
'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.<ul><li>Change the tenant billing plan</li><li>Add or remove collaborators</li><li>Delete the tenant</li></ul>',

View file

@ -35,6 +35,13 @@ const tenants = {
'Deleting the tenant will result in the permanent removal of all associated user data and configuration. Please proceed with caution.',
tenant_deletion_button: 'Delete tenant',
},
leave_tenant_card: {
title: 'LEAVE',
leave_tenant: 'Leave tenant',
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Create tenant',
subtitle:
@ -71,6 +78,10 @@ const tenants = {
cannot_delete_description:
"Sorry, you can't delete this tenant right now. Please make sure you're on the Free Plan and have paid all outstanding billings.",
},
leave_tenant_modal: {
description: 'Are you sure you want to leave this tenant?',
leave_button: 'Leave',
},
tenant_landing_page: {
title: "You haven't created a tenant yet",
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -38,6 +38,17 @@ const tenants = {
'Eliminar el inquilino resultará en la eliminación permanente de todos los datos de usuario y configuraciones asociadas. Por favor, proceda con precaución.',
tenant_deletion_button: 'Eliminar inquilino',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Crear inquilino',
subtitle:
@ -76,6 +87,12 @@ const tenants = {
cannot_delete_description:
'Lo siento, no puedes eliminar este inquilino en este momento. Asegúrate de estar en el Plan Gratuito y haber pagado todas las facturas pendientes.',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: 'Todavía no has creado un inquilino',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -38,6 +38,17 @@ const tenants = {
'La suppression du locataire entraînera la suppression permanente de toutes les données utilisateur et configurations associées. Veuillez procéder avec prudence.',
tenant_deletion_button: 'Supprimer le locataire',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Créer un locataire',
subtitle:
@ -77,6 +88,12 @@ const tenants = {
cannot_delete_description:
"Désolé, vous ne pouvez pas supprimer ce locataire pour le moment. Assurez-vous d'être sur le Plan Gratuit et d'avoir payé toutes les factures en cours.",
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: "Vous n'avez pas encore créé de locataire",
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -39,6 +39,17 @@ const tenants = {
"L'eliminazione dell'inquilino comporterà la rimozione permanente di tutti i dati utente e le configurazioni associate. Procedere con cautela.",
tenant_deletion_button: 'Elimina inquilino',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Crea nuovo inquilino',
subtitle:
@ -78,6 +89,12 @@ const tenants = {
cannot_delete_description:
'Spiacente, al momento non è possibile eliminare questo inquilino. Verifica di essere nel Piano Gratuito e di aver saldato tutte le fatture pendenti.',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: 'Non hai ancora creato un inquilino',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -36,6 +36,17 @@ const tenants = {
'テナントの削除は、関連するすべてのユーザーデータと設定の永久的な削除につながります。十分に注意して操作してください。',
tenant_deletion_button: 'テナントを削除する',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'テナントを作成する',
subtitle:
@ -73,6 +84,12 @@ const tenants = {
cannot_delete_description:
'申し訳ありませんが、現時点ではこのテナントを削除できません。無料プランに登録しており、未払いの請求がないことを確認してください。',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: 'まだテナントを作成していません',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -36,6 +36,17 @@ const tenants = {
'테넌트를 삭제하면 관련된 모든 사용자 데이터와 설정이 영구적으로 삭제됩니다. 신중하게 진행해주십시오.',
tenant_deletion_button: '테넌트 삭제',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: '테넌트 만들기',
subtitle:
@ -72,6 +83,12 @@ const tenants = {
cannot_delete_description:
'죄송합니다. 현재이 테넌트를 삭제할 수 없습니다. 무료 플랜에 있고 미결제 청구서가 없는지 확인하십시오.',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: '아직 테넌트를 만들지 않았습니다.',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -38,6 +38,17 @@ const tenants = {
'Usunięcie najemcy spowoduje trwałe usunięcie wszystkich powiązanych danych użytkowników i konfiguracji. Proszę postępować ostrożnie.',
tenant_deletion_button: 'Usuń najemcę',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Utwórz nowego najemcę',
subtitle:
@ -77,6 +88,12 @@ const tenants = {
cannot_delete_description:
'Przepraszam, nie możesz teraz usunąć tego najemcy. Upewnij się, że korzystasz z planu darmowego i uregulowałeś wszystkie zaległe płatności.',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: 'Nie utworzyłeś jeszcze najemcy',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -38,6 +38,17 @@ const tenants = {
'A exclusão do locatário resultará na remoção permanente de todos os dados de usuário e configuração associados. Por favor, prossiga com cuidado.',
tenant_deletion_button: 'Excluir locatário',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Criar inquilino',
subtitle:
@ -76,6 +87,12 @@ const tenants = {
cannot_delete_description:
'Desculpe, você não pode excluir este locatário no momento. Certifique-se de estar no Plano Gratuito e ter pago todas as faturas pendentes.',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: 'Você ainda não criou um inquilino',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -38,6 +38,17 @@ const tenants = {
'A eliminação do inquilino resultará na remoção permanente de todos os dados de utilizador e configuração associados. Por favor, proceda com cuidado.',
tenant_deletion_button: 'Eliminar inquilino',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Criar inquilino',
subtitle:
@ -76,6 +87,12 @@ const tenants = {
cannot_delete_description:
'Desculpe, não é possível apagar este inquilino neste momento. Certifique-se de estar no Plano Gratuito e de ter pago todas as faturas em atraso.',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: 'Ainda não criou um inquilino',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -37,6 +37,17 @@ const tenants = {
'Удаление арендатора приведет к окончательному удалению всех связанных пользовательских данных и настроек. Пожалуйста, действуйте осторожно.',
tenant_deletion_button: 'Удалить арендатора',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Создать арендатора',
subtitle:
@ -76,6 +87,12 @@ const tenants = {
cannot_delete_description:
'Извините, вы не можете удалить этого арендатора прямо сейчас. Пожалуйста, убедитесь, что вы используете бесплатный план и оплатили все невыполненные счета.',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: 'Вы еще не создали арендатора',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -37,6 +37,17 @@ const tenants = {
'Kiracının silinmesi, tüm ilişkili kullanıcı verilerinin ve yapılandırmalarının kalıcı olarak silinmesine neden olur. Lütfen dikkatli bir şekilde devam edin.',
tenant_deletion_button: 'Kiracıyı Sil',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: 'Kiracı Oluştur',
subtitle:
@ -75,6 +86,12 @@ const tenants = {
cannot_delete_description:
'Üzgünüm, bu kiracıyı şu anda silemezsiniz. Ücretsiz Plan üzerinde olduğunuzdan ve tüm ödenmemiş faturaları ödediğinizden emin olun.',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: 'Henüz bir kiracı oluşturmadınız',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -34,6 +34,17 @@ const tenants = {
tenant_deletion_description: '删除租户将导致永久删除所有相关的用户数据和配置。请谨慎操作。',
tenant_deletion_button: '删除租户',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: '创建租户',
subtitle: '创建一个具有隔离资源和用户的新租户。数据托管的区域和租户类型在创建后无法修改。',
@ -67,6 +78,12 @@ const tenants = {
cannot_delete_description:
'抱歉,您现在无法删除此租户。请确保您处于免费计划并已支付所有未结账单。',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: '您还没有创建租户',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -34,6 +34,17 @@ const tenants = {
tenant_deletion_description: '刪除租戶將導致永久刪除所有相關的用戶數據和配置。請謹慎操作。',
tenant_deletion_button: '刪除租戶',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: '創建租戶',
subtitle: '創建一個具有隔離資源和用戶的新租戶。數據托管的區域和租戶類型在創建後無法修改。',
@ -67,6 +78,12 @@ const tenants = {
cannot_delete_description:
'抱歉,您現在無法刪除此租戶。請確保您處於免費計劃並已支付所有未結賬單。',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: '您尚未建立租戶',
description:

View file

@ -4,7 +4,7 @@ const tenant_members = {
/** UNTRANSLATED */
invitations: 'Invitations',
/** UNTRANSLATED */
new_member: 'New member',
invite_member: 'Invite member',
/** UNTRANSLATED */
user: 'User',
/** UNTRANSLATED */
@ -13,6 +13,12 @@ const tenant_members = {
admin: 'Admin',
/** UNTRANSLATED */
member: 'Member',
/** UNTRANSLATED */
invitation_status: 'Invitation status',
/** UNTRANSLATED */
invitation_sent: 'Invitation sent',
/** UNTRANSLATED */
expiration_date: 'Expiration date',
invite_modal: {
/** UNTRANSLATED */
title: 'Invite people to Silverhand',
@ -23,19 +29,40 @@ const tenant_members = {
/** UNTRANSLATED */
added_as: 'Added as roles',
},
user_options: {
invitation_statuses: {
/** UNTRANSLATED */
pending: 'Pending',
/** UNTRANSLATED */
accepted: 'Accepted',
/** UNTRANSLATED */
expired: 'Expired',
/** UNTRANSLATED */
revoked: 'Revoked',
},
invitation_empty_placeholder: {
/** UNTRANSLATED */
title: 'Invite team members',
/** UNTRANSLATED */
description:
'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.',
},
menu_options: {
/** UNTRANSLATED */
edit: 'Edit tenant role',
/** UNTRANSLATED */
delete: 'Remove user from tenant',
/** UNTRANSLATED */
resend_invite: 'Resend invitation',
/** UNTRANSLATED */
revoke: 'Revoke invitation',
/** UNTRANSLATED */
delete_invitation_record: 'Delete this invitation record',
},
edit_modal: {
/** UNTRANSLATED */
title: 'Change roles of {{name}}',
},
/** UNTRANSLATED */
leave_tenant_confirm: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
delete_user_confirm: 'Are you sure you want to remove this user from this tenant?',
/** UNTRANSLATED */
assign_admin_confirm:

View file

@ -34,6 +34,17 @@ const tenants = {
tenant_deletion_description: '刪除租戶將導致所有相關的使用者資料和設定永久移除。請謹慎進行。',
tenant_deletion_button: '刪除租戶',
},
leave_tenant_card: {
/** UNTRANSLATED */
title: 'LEAVE',
/** UNTRANSLATED */
leave_tenant: 'Leave tenant',
/** UNTRANSLATED */
leave_tenant_description:
'Any resources in the tenant will remain but you no longer have access to this tenant.',
/** UNTRANSLATED */
last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.',
},
create_modal: {
title: '建立客戶',
subtitle: '創建一個具有隔離資源和用戶的新租戶。數據托管的區域和租戶類型在創建後無法修改。',
@ -67,6 +78,12 @@ const tenants = {
cannot_delete_description:
'抱歉,您現在無法刪除此租戶。請確保您處於免費方案並已支付所有未結賬單。',
},
leave_tenant_modal: {
/** UNTRANSLATED */
description: 'Are you sure you want to leave this tenant?',
/** UNTRANSLATED */
leave_button: 'Leave',
},
tenant_landing_page: {
title: '您尚未建立租戶',
description: