You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

30 lines
915 B

import React from 'react';
import { css } from '@emotion/css';
import { GrafanaTheme2, PluginType } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
import { CatalogPlugin } from '../../types';
type Props = {
plugin: CatalogPlugin;
};
export function PluginUpdateAvailableBadge({ plugin }: Props): React.ReactElement | null {
const styles = useStyles2(getStyles);
// Currently renderer plugins are not supported by the catalog due to complications related to installation / update / uninstall.
if (plugin.hasUpdate && !plugin.isCore && plugin.type !== PluginType.renderer) {
return <p className={styles.hasUpdate}>Update available!</p>;
}
return null;
}
export const getStyles = (theme: GrafanaTheme2) => {
return {
hasUpdate: css`
color: ${theme.colors.text.secondary};
font-size: ${theme.typography.bodySmall.fontSize};
margin-bottom: 0;
`,
};
};