PluginListItem.tsx 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import React, { FC } from 'react';
  2. import { PluginMeta } from '@grafana/ui';
  3. interface Props {
  4. plugin: PluginMeta;
  5. }
  6. const PluginListItem: FC<Props> = props => {
  7. const { plugin } = props;
  8. return (
  9. <li className="card-item-wrapper">
  10. <a className="card-item" href={`plugins/${plugin.id}/`}>
  11. <div className="card-item-header">
  12. <div className="card-item-type">{plugin.type}</div>
  13. {plugin.hasUpdate && (
  14. <div className="card-item-notice">
  15. <span bs-tooltip="plugin.latestVersion">Update available!</span>
  16. </div>
  17. )}
  18. </div>
  19. <div className="card-item-body">
  20. <figure className="card-item-figure">
  21. <img src={plugin.info.logos.small} />
  22. </figure>
  23. <div className="card-item-details">
  24. <div className="card-item-name">{plugin.name}</div>
  25. <div className="card-item-sub-name">{`By ${plugin.info.author.name}`}</div>
  26. </div>
  27. </div>
  28. </a>
  29. </li>
  30. );
  31. };
  32. export default PluginListItem;