import React from 'react'; import { Globe, Shield } from 'lucide-react'; import { ResourceType } from 'librechat-data-provider'; import { Switch, InfoHoverCard, ESide, Label } from '@librechat/client'; import type { AccessRoleIds } from 'librechat-data-provider'; import AccessRolesPicker from './AccessRolesPicker'; import { useLocalize } from '~/hooks'; import { cn } from '~/utils'; interface PublicSharingToggleProps { isPublic: boolean; publicRole?: AccessRoleIds; onPublicToggle: (isPublic: boolean) => void; onPublicRoleChange: (role: AccessRoleIds) => void; resourceType?: ResourceType; className?: string; } const accessDescriptions: Record = { [ResourceType.AGENT]: 'com_ui_agent', [ResourceType.PROMPTGROUP]: 'com_ui_prompt', }; export default function PublicSharingToggle({ isPublic, publicRole, onPublicToggle, onPublicRoleChange, resourceType = ResourceType.AGENT, className, }: PublicSharingToggleProps) { const localize = useLocalize(); const handleToggle = React.useCallback( (checked: boolean) => { onPublicToggle(checked); }, [onPublicToggle], ); return (
{/* Main toggle section */}
{/* Permission level section with smooth animation */}
); }