mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 09:05:45 -06:00
* feat(catalog): lazy load and add alt text to plugin logos * refactor(catalog): use plugin types, make sure data is available for new ui * test(catalog): fix up tests after types refactor * feat(catalog): introduce Tile and PluginBadge components for ui updates * refactor(catalog): update PluginList to use new components, lazy load images, add creditcard icon * test(catalog): update Browse.test types * fix(catalog): if local and remote make sure to get the correct local plugin from array * refactor(catalog): prefer grafana/ui components over custom Tile component * chore(catalog): delete redundant components * feat(catalog): introduce ascending descending name sort for Browse * refactor(catalog): prefer theme spacing over hardcoded values * refactor(catalog): update Local and Remote plugin types to match api responses * fix(catalog): prefer local.hasUpdate and local.signature so updateable plugin signature is valid * test(catalog): update test plugin mocks * test(catalog): add tests for sorting and categorise * test(catalog): add tests for plugin cards, remove grid component * test(catalog): add tests for PluginBadges component * refactor(catalog): change enterprise learn more link to open plugin page on website
14 lines
386 B
TypeScript
14 lines
386 B
TypeScript
import React from 'react';
|
|
|
|
type PluginLogoProps = {
|
|
alt: string;
|
|
className?: string;
|
|
src: string;
|
|
height?: string | number;
|
|
};
|
|
|
|
export function PluginLogo({ alt, className, src, height }: PluginLogoProps): React.ReactElement {
|
|
// @ts-ignore - react doesn't know about loading attr.
|
|
return <img src={src} className={className} alt={alt} loading="lazy" height={height} />;
|
|
}
|