import { useMemo } from 'react'; import { IOSPermission, iosPermissions, PermissionReference } from './data'; import { Cell, HeaderCell, Row, Table, TableHead } from '~/ui/components/Table'; import { P, CODE, createPermalinkedComponent } from '~/ui/components/Text'; type IOSPermissionsProps = { permissions: PermissionReference[]; }; const PermissionPermalink = createPermalinkedComponent(P, { baseNestingLevel: 4, }); export function IOSPermissions(props: IOSPermissionsProps) { const list = useMemo(() => getPermissions(props.permissions), [props.permissions]); return ( Info.plist Key Description {list.map(permission => ( {permission.name} {permission.description} ))}
); } function getPermissions(permissions: IOSPermissionsProps['permissions']) { return permissions .map(permission => typeof permission === 'string' ? iosPermissions[permission] : { ...iosPermissions[permission.name], ...permission } ) .filter(Boolean); }