|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
import { Loading } from '@/components/Loading';
|
|
|
|
|
import { PillTabPane, PillTabs } from '@/components/PillTabs';
|
|
|
|
|
import { PillTabs } from '@/components/PillTabs';
|
|
|
|
|
import { AllPermission } from 'tailchat-shared';
|
|
|
|
|
import React, { useMemo, useState } from 'react';
|
|
|
|
|
import { t, useGroupInfo } from 'tailchat-shared';
|
|
|
|
@ -61,44 +61,57 @@ export const GroupRole: React.FC<GroupPermissionProps> = React.memo((props) => {
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="flex-1 overflow-y-auto">
|
|
|
|
|
<PillTabs defaultActiveKey="permission">
|
|
|
|
|
<PillTabPane
|
|
|
|
|
key="summary"
|
|
|
|
|
tab={t('概述')}
|
|
|
|
|
disabled={roleId === AllPermission}
|
|
|
|
|
>
|
|
|
|
|
{currentRoleInfo && (
|
|
|
|
|
<RoleSummary
|
|
|
|
|
currentRoleInfo={currentRoleInfo}
|
|
|
|
|
onChangeRoleName={handleChangeRoleName}
|
|
|
|
|
onDeleteRole={async () => {
|
|
|
|
|
await handleDeleteRole();
|
|
|
|
|
setRoleId(AllPermission); // 删除身份组后切换到所有人
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
)}
|
|
|
|
|
</PillTabPane>
|
|
|
|
|
<PillTabPane key="permission" tab={t('权限')}>
|
|
|
|
|
<RolePermission
|
|
|
|
|
roleId={roleId}
|
|
|
|
|
fallbackPermissions={groupInfo?.fallbackPermissions ?? []}
|
|
|
|
|
currentRoleInfo={currentRoleInfo}
|
|
|
|
|
onSavePermission={handleSavePermission}
|
|
|
|
|
/>
|
|
|
|
|
</PillTabPane>
|
|
|
|
|
<PillTabPane
|
|
|
|
|
key="member"
|
|
|
|
|
tab={t('管理成员')}
|
|
|
|
|
disabled={roleId === AllPermission}
|
|
|
|
|
>
|
|
|
|
|
{currentRoleInfo && (
|
|
|
|
|
<RoleMember
|
|
|
|
|
groupId={groupId}
|
|
|
|
|
currentRoleInfo={currentRoleInfo}
|
|
|
|
|
/>
|
|
|
|
|
)}
|
|
|
|
|
</PillTabPane>
|
|
|
|
|
</PillTabs>
|
|
|
|
|
<PillTabs
|
|
|
|
|
defaultActiveKey="permission"
|
|
|
|
|
items={[
|
|
|
|
|
{
|
|
|
|
|
key: 'summary',
|
|
|
|
|
label: t('概述'),
|
|
|
|
|
disabled: roleId === AllPermission,
|
|
|
|
|
children: (
|
|
|
|
|
<>
|
|
|
|
|
{currentRoleInfo && (
|
|
|
|
|
<RoleSummary
|
|
|
|
|
currentRoleInfo={currentRoleInfo}
|
|
|
|
|
onChangeRoleName={handleChangeRoleName}
|
|
|
|
|
onDeleteRole={async () => {
|
|
|
|
|
await handleDeleteRole();
|
|
|
|
|
setRoleId(AllPermission); // 删除身份组后切换到所有人
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
)}
|
|
|
|
|
</>
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
key: 'permission',
|
|
|
|
|
label: t('权限'),
|
|
|
|
|
children: (
|
|
|
|
|
<RolePermission
|
|
|
|
|
roleId={roleId}
|
|
|
|
|
fallbackPermissions={groupInfo?.fallbackPermissions ?? []}
|
|
|
|
|
currentRoleInfo={currentRoleInfo}
|
|
|
|
|
onSavePermission={handleSavePermission}
|
|
|
|
|
/>
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
key: 'member',
|
|
|
|
|
label: t('管理成员'),
|
|
|
|
|
disabled: roleId === AllPermission,
|
|
|
|
|
children: (
|
|
|
|
|
<>
|
|
|
|
|
{currentRoleInfo && (
|
|
|
|
|
<RoleMember
|
|
|
|
|
groupId={groupId}
|
|
|
|
|
currentRoleInfo={currentRoleInfo}
|
|
|
|
|
/>
|
|
|
|
|
)}
|
|
|
|
|
</>
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
]}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Loading>
|
|
|
|
|