mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
33 lines
917 B
TypeScript
33 lines
917 B
TypeScript
import { css } from '@emotion/css';
|
|
import React from 'react';
|
|
|
|
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;
|
|
`,
|
|
};
|
|
};
|