From 2be27c391b978196c8585d75b9490b61c5747497 Mon Sep 17 00:00:00 2001 From: Jack Westbrook Date: Wed, 19 May 2021 17:25:21 +0200 Subject: [PATCH] Plugin Catalog: clean up (#34274) * chore(marketplace): remove view plugin page from plugin.json * refactor(marketplace): replace usage of stylesFactory with useStyles2 * feat(catalog): remove image renderers from listings --- .../src/components/Card.tsx | 48 ++++++++++++------- .../src/hooks/usePlugins.tsx | 14 ++++-- .../plugin-catalog-app/src/plugin.json | 6 --- 3 files changed, 41 insertions(+), 27 deletions(-) diff --git a/plugins-bundled/internal/plugin-catalog-app/src/components/Card.tsx b/plugins-bundled/internal/plugin-catalog-app/src/components/Card.tsx index 546ae2988c0..39b1e03dfb1 100644 --- a/plugins-bundled/internal/plugin-catalog-app/src/components/Card.tsx +++ b/plugins-bundled/internal/plugin-catalog-app/src/components/Card.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import { css } from '@emotion/css'; +import { css, cx } from '@emotion/css'; import { GrafanaTheme2 } from '@grafana/data'; -import { useTheme2, stylesFactory } from '@grafana/ui'; +import { useStyles2 } from '@grafana/ui'; interface Props { href: string; @@ -11,20 +11,29 @@ interface Props { } export const Card = ({ href, text, image, layout = 'vertical' }: Props) => { - const theme = useTheme2(); - const styles = getCardStyles(theme, layout); + const styles = useStyles2(getCardStyles); return ( -
-
{image}
+
+
+ {image} +
{text}
); }; -const getCardStyles = stylesFactory((theme: GrafanaTheme2, layout) => ({ +const getCardStyles = (theme: GrafanaTheme2) => ({ root: css` background-color: ${theme.colors.background.primary}; border-radius: ${theme.shape.borderRadius()}; @@ -38,15 +47,22 @@ const getCardStyles = stylesFactory((theme: GrafanaTheme2, layout) => ({ `, container: css` display: flex; - flex-direction: ${layout === 'vertical' ? 'column' : 'row'}; - justify-content: ${layout === 'vertical' ? 'space-around' : 'flex-start'}; + flex-direction: column; + justify-content: space-around; height: 100%; `, - imgContainer: css` - flex-grow: ${layout === 'vertical' ? 1 : 0}; - padding: ${theme.spacing()} 0; - display: flex; - justify-content: center; - align-items: center; + containerHorizontal: css` + flex-direction: row; + justify-content: flex-start; `, -})); + imgContainer: css` + align-items: center; + display: flex; + flex-grow: 1; + justify-content: center; + padding: ${theme.spacing()} 0; + `, + imgContainerHorizontal: css` + flex-grow: 0; + `, +}); diff --git a/plugins-bundled/internal/plugin-catalog-app/src/hooks/usePlugins.tsx b/plugins-bundled/internal/plugin-catalog-app/src/hooks/usePlugins.tsx index bf1cfa074b0..13577eef9b9 100644 --- a/plugins-bundled/internal/plugin-catalog-app/src/hooks/usePlugins.tsx +++ b/plugins-bundled/internal/plugin-catalog-app/src/hooks/usePlugins.tsx @@ -15,13 +15,17 @@ export const usePlugins = () => { useEffect(() => { const fetchPluginData = async () => { const items = await api.getRemotePlugins(); - const filteredItems = items - .filter((plugin) => Boolean(plugin.versionSignatureType)) - .filter((plugin) => plugin.status !== 'enterprise') - .filter((plugin) => !status || plugin.status === status); + const filteredPlugins = items.filter((plugin) => { + const isNotRenderer = plugin.typeCode !== 'renderer'; + const isSigned = Boolean(plugin.versionSignatureType); + const isNotEnterprise = plugin.status !== 'enterprise'; + + return isNotRenderer && isSigned && isNotEnterprise; + }); + const installedPlugins = await api.getInstalledPlugins(); - setState((state) => ({ ...state, items: filteredItems, installedPlugins, isLoading: false })); + setState((state) => ({ ...state, items: filteredPlugins, installedPlugins, isLoading: false })); }; fetchPluginData(); diff --git a/plugins-bundled/internal/plugin-catalog-app/src/plugin.json b/plugins-bundled/internal/plugin-catalog-app/src/plugin.json index d826764ee5a..625651b4db7 100644 --- a/plugins-bundled/internal/plugin-catalog-app/src/plugin.json +++ b/plugins-bundled/internal/plugin-catalog-app/src/plugin.json @@ -54,12 +54,6 @@ "path": "/a/grafana-plugin-catalog-app/?tab=library", "role": "Admin", "addToNav": true - }, - { - "type": "page", - "name": "View plugin", - "path": "/a/grafana-plugin-catalog-app?tab=plugin", - "role": "Admin" } ], "dependencies": {