PluginListItem.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import React, { FC } from 'react';
  2. import { Plugin } from 'app/types';
  3. interface Props {
  4. plugin: Plugin;
  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}/edit`}>
  11. <div className="card-item-header">
  12. <div className="card-item-type">
  13. <i className={`icon-gf icon-gf-${plugin.type}`} />
  14. {plugin.type}
  15. </div>
  16. {plugin.hasUpdate && (
  17. <div className="card-item-notice">
  18. <span bs-tooltip="plugin.latestVersion">Update available!</span>
  19. </div>
  20. )}
  21. </div>
  22. <div className="card-item-body">
  23. <figure className="card-item-figure">
  24. <img src={plugin.info.logos.small} />
  25. </figure>
  26. <div className="card-item-details">
  27. <div className="card-item-name">{plugin.name}</div>
  28. <div className="card-item-sub-name">{`By ${plugin.info.author.name}`}</div>
  29. </div>
  30. </div>
  31. </a>
  32. </li>
  33. );
  34. };
  35. export default PluginListItem;