2019-01-17 02:27:43 -06:00
|
|
|
import React, { FC } from 'react';
|
2019-04-29 11:14:39 -05:00
|
|
|
import { PluginMeta } from '@grafana/ui';
|
2018-09-27 05:15:41 -05:00
|
|
|
|
|
|
|
interface Props {
|
2019-04-29 11:14:39 -05:00
|
|
|
plugin: PluginMeta;
|
2018-09-27 05:15:41 -05:00
|
|
|
}
|
|
|
|
|
2019-01-17 02:27:43 -06:00
|
|
|
const PluginListItem: FC<Props> = props => {
|
2018-09-27 05:15:41 -05:00
|
|
|
const { plugin } = props;
|
2018-09-25 07:53:55 -05:00
|
|
|
|
|
|
|
return (
|
|
|
|
<li className="card-item-wrapper">
|
2019-05-02 12:15:39 -05:00
|
|
|
<a className="card-item" href={`plugins/${plugin.id}/`}>
|
2018-09-25 07:53:55 -05:00
|
|
|
<div className="card-item-header">
|
2019-05-03 06:19:01 -05:00
|
|
|
<div className="card-item-type">{plugin.type}</div>
|
2018-09-25 07:53:55 -05:00
|
|
|
{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>
|
|
|
|
);
|
2018-09-27 05:15:41 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
export default PluginListItem;
|