grafana/public/app/features/plugins/PluginListItem.tsx
Ryan McKinley 3d89f04562
Plugins: show signing status on datasources and plugins (#23542)
* show signing status

* show signing status

* Progress on signed badge style

* Progress on signing status look and updated card background

* Updates

* Transforms card tweak

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-04-23 11:52:11 +02:00

39 lines
1.2 KiB
TypeScript

import React, { FC } from 'react';
import { PluginMeta } from '@grafana/data';
import { PluginSignatureBadge } from './PluginSignatureBadge';
interface Props {
plugin: PluginMeta;
}
const PluginListItem: FC<Props> = props => {
const { plugin } = props;
return (
<li className="card-item-wrapper">
<a className="card-item" href={`plugins/${plugin.id}/`}>
<div className="card-item-header">
<div className="card-item-type">{plugin.type}</div>
<PluginSignatureBadge status={plugin.signature} />
{plugin.hasUpdate && (
<div className="card-item-notice">
<span bs-tooltip="plugin.latestVersion">Update available!</span>
</div>
)}
</div>
<div className="card-item-body">
<figure className="card-item-figure">
<img src={plugin.info.logos.small} />
</figure>
<div className="card-item-details">
<div className="card-item-name">{plugin.name}</div>
<div className="card-item-sub-name">{`By ${plugin.info.author.name}`}</div>
</div>
</div>
</a>
</li>
);
};
export default PluginListItem;