mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 08:50:15 +01:00
* fix: remove duplicate keys in German language translations * wip: multi-convo role permissions * ci: Update loadDefaultInterface tests due to MULTI_CONVO * ci: update Role.spec.js with tests for MULTI_CONVO permission type * fix: Update ContentParts component to handle undefined content array * feat: render Multi-Convo based on UI permissions
56 lines
1.9 KiB
TypeScript
56 lines
1.9 KiB
TypeScript
import { memo } from 'react';
|
|
import * as Tabs from '@radix-ui/react-tabs';
|
|
import { SettingsTabValues, PermissionTypes, Permissions } from 'librechat-data-provider';
|
|
import HoverCardSettings from '~/components/Nav/SettingsTabs/HoverCardSettings';
|
|
import { useLocalize, useHasAccess } from '~/hooks';
|
|
import SlashCommandSwitch from './SlashCommandSwitch';
|
|
import PlusCommandSwitch from './PlusCommandSwitch';
|
|
import AtCommandSwitch from './AtCommandSwitch';
|
|
|
|
function Commands() {
|
|
const localize = useLocalize();
|
|
|
|
const hasAccessToPrompts = useHasAccess({
|
|
permissionType: PermissionTypes.PROMPTS,
|
|
permission: Permissions.USE,
|
|
});
|
|
|
|
const hasAccessToMultiConvo = useHasAccess({
|
|
permissionType: PermissionTypes.MULTI_CONVO,
|
|
permission: Permissions.USE,
|
|
});
|
|
|
|
return (
|
|
<Tabs.Content
|
|
value={SettingsTabValues.COMMANDS}
|
|
role="tabpanel"
|
|
className="w-full md:min-h-[271px]"
|
|
>
|
|
<div className="space-y-4">
|
|
<div className="flex items-center gap-2">
|
|
<h3 className="text-lg font-medium text-text-primary">
|
|
{localize('com_nav_chat_commands')}
|
|
</h3>
|
|
<HoverCardSettings side="bottom" text="com_nav_chat_commands_info" />
|
|
</div>
|
|
<div className="flex flex-col gap-3 text-sm text-text-primary">
|
|
<div className="border-b border-border-medium pb-3 last-of-type:border-b-0">
|
|
<AtCommandSwitch />
|
|
</div>
|
|
{hasAccessToMultiConvo === true && (
|
|
<div className="border-b border-border-medium pb-3 last-of-type:border-b-0">
|
|
<PlusCommandSwitch />
|
|
</div>
|
|
)}
|
|
{hasAccessToPrompts === true && (
|
|
<div className="border-b border-border-medium pb-3 last-of-type:border-b-0">
|
|
<SlashCommandSwitch />
|
|
</div>
|
|
)}
|
|
</div>
|
|
</div>
|
|
</Tabs.Content>
|
|
);
|
|
}
|
|
|
|
export default memo(Commands);
|