'use client'; import { useTranslations } from 'next-intl'; import { AlertTriangle } from '@/components/icons'; import { useConfig } from '@/hooks/use-config'; import { productName } from '@/lib/product-name'; import { cn } from '@/lib/utils'; import { HIGH_RISK_PERMISSIONS, permissionKey, visiblePermissions } from '@/lib/plugin-sandbox/permission-text'; interface PluginPermissionListProps { permissions: readonly string[]; /** Sites the plugin may send requests to (manifest httpOrigins). */ httpOrigins?: readonly string[]; /** Server endpoints it may call with the user's login (apiPostPaths). */ apiPostPaths?: readonly string[]; compact?: boolean; } /** Plain-language list of what a plugin may do, high-risk items first. */ export function PluginPermissionList({ permissions, httpOrigins, apiPostPaths, compact }: PluginPermissionListProps) { const t = useTranslations('plugins.permissions'); const appName = productName(useConfig().appName); const perms = visiblePermissions(permissions); if (perms.length === 0) { return

{t('none')}

; } return ( ); }