diff --git a/app-config.yaml b/app-config.yaml index 597073fede..b8506429b4 100644 --- a/app-config.yaml +++ b/app-config.yaml @@ -284,6 +284,9 @@ catalog: - type: file target: ../../cypress/e2e-fixture.catalog.info.yaml + - type: file + target: '../../template-test.yaml' + - type: url target: https://github.com/benjdlambert/software-templates/blob/main/scaffolder-templates/react-ssr-template/template.yaml scaffolder: diff --git a/plugins/scaffolder/src/next/TemplateListPage/TemplateCard/CardHeader.tsx b/plugins/scaffolder/src/next/TemplateListPage/TemplateCard/CardHeader.tsx index da1a1cb661..42dec6f87f 100644 --- a/plugins/scaffolder/src/next/TemplateListPage/TemplateCard/CardHeader.tsx +++ b/plugins/scaffolder/src/next/TemplateListPage/TemplateCard/CardHeader.tsx @@ -15,39 +15,66 @@ */ import React from 'react'; -import { makeStyles, useTheme } from '@material-ui/core'; -import { ItemCardHeader } from '@backstage/core-components'; +import { + Link, + makeStyles, + Tooltip, + Typography, + useTheme, +} from '@material-ui/core'; +import { ItemCardHeader, WarningIcon } from '@backstage/core-components'; import { BackstageTheme } from '@backstage/theme'; +import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common'; +import { FavoriteEntity } from '@backstage/plugin-catalog-react'; -const useStyles = makeStyles<{}, { cardBackgroundImage: string }>(theme => ({ - header: { - backgroundImage: ({ cardBackgroundImage }) => cardBackgroundImage, - }, -})); +const useStyles = makeStyles( + theme => ({ + header: { + backgroundImage: ({ cardBackgroundImage }) => cardBackgroundImage, + }, + subtitleWrapper: { + display: 'flex', + justifyContent: 'space-between', + }, + }), +); /** * Props for the CardHeader component */ export interface CardHeaderProps { - type?: string; - title: string; + template: TemplateEntityV1beta3; } /** * The Card Header with the background for the TemplateCard. */ export const CardHeader = (props: CardHeaderProps) => { - const { type = 'other', title } = props; + const { + template: { + metadata: { title, name }, + spec: { type }, + }, + } = props; const { getPageTheme } = useTheme(); const themeForType = getPageTheme({ themeId: type }); const styles = useStyles({ cardBackgroundImage: themeForType.backgroundImage, }); + const SubtitleComponent = ( +
+
{type}
+
+ +
+
+ ); + return ( ); diff --git a/plugins/scaffolder/src/next/TemplateListPage/TemplateCard/TemplateCard.tsx b/plugins/scaffolder/src/next/TemplateListPage/TemplateCard/TemplateCard.tsx index 86cb5dc050..60860c567b 100644 --- a/plugins/scaffolder/src/next/TemplateListPage/TemplateCard/TemplateCard.tsx +++ b/plugins/scaffolder/src/next/TemplateListPage/TemplateCard/TemplateCard.tsx @@ -34,10 +34,7 @@ export const TemplateCard = (props: TemplateCardProps) => { const { template } = props; return ( - + ); };