grafana/public/app/features/plugins/PluginListItem.tsx

40 lines
1.1 KiB
TypeScript
Raw Normal View History

2018-09-27 05:15:41 -05:00
import React, { SFC } from 'react';
2018-09-27 07:45:36 -05:00
import { Plugin } from 'app/types';
2018-09-27 05:15:41 -05:00
interface Props {
2018-09-27 07:45:36 -05:00
plugin: Plugin;
2018-09-27 05:15:41 -05:00
}
const PluginListItem: SFC<Props> = props => {
const { plugin } = props;
2018-09-25 07:53:55 -05:00
return (
<li className="card-item-wrapper">
<a className="card-item" href={`plugins/${plugin.id}/edit`}>
<div className="card-item-header">
<div className="card-item-type">
<i className={`icon-gf icon-gf-${plugin.type}`} />
{plugin.type}
</div>
{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;