mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-01 21:57:06 +01:00
f829f0069d
* Add support for snap authorship component at the top of PermissionConnect * Add PermissionCellOptions * Add details popover * Add action for revoking dynamic permissions * Improve UI and revoke logic * Better eth_accounts screen support * Fix tests * Fix lint * More linting fixes * Fix missing fence * Add another fence * Unnest permission page to fix weird CSS issues * Hide footer on permissions connect when using a snap
45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
import React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import { getWeightedPermissions } from '../../../../helpers/utils/permission';
|
|
import { useI18nContext } from '../../../../hooks/useI18nContext';
|
|
import PermissionCell from '../../permission-cell';
|
|
import Box from '../../../ui/box';
|
|
|
|
export default function SnapPermissionsList({
|
|
snapId,
|
|
permissions,
|
|
targetSubjectMetadata,
|
|
showOptions,
|
|
}) {
|
|
const t = useI18nContext();
|
|
|
|
return (
|
|
<Box paddingTop={2} paddingBottom={2} className="snap-permissions-list">
|
|
{getWeightedPermissions(t, permissions, targetSubjectMetadata).map(
|
|
(permission, index) => {
|
|
return (
|
|
<PermissionCell
|
|
snapId={snapId}
|
|
permissionName={permission.permissionName}
|
|
title={permission.label}
|
|
description={permission.description}
|
|
weight={permission.weight}
|
|
avatarIcon={permission.leftIcon}
|
|
dateApproved={permission?.permissionValue?.date}
|
|
key={`${permission.permissionName}-${index}`}
|
|
showOptions={showOptions}
|
|
/>
|
|
);
|
|
},
|
|
)}
|
|
</Box>
|
|
);
|
|
}
|
|
|
|
SnapPermissionsList.propTypes = {
|
|
snapId: PropTypes.string.isRequired,
|
|
permissions: PropTypes.object.isRequired,
|
|
targetSubjectMetadata: PropTypes.object.isRequired,
|
|
showOptions: PropTypes.bool,
|
|
};
|