diff --git a/plugins/scaffolder/src/components/RenderSchema/RenderSchema.tsx b/plugins/scaffolder/src/components/RenderSchema/RenderSchema.tsx index 21debf4915..8f967f8ee2 100644 --- a/plugins/scaffolder/src/components/RenderSchema/RenderSchema.tsx +++ b/plugins/scaffolder/src/components/RenderSchema/RenderSchema.tsx @@ -14,11 +14,7 @@ * limitations under the License. */ import { MarkdownContent } from '@backstage/core-components'; -import { - TranslationFunction, - TranslationRef, - useTranslationRef, -} from '@backstage/core-plugin-api/alpha'; +import { useTranslationRef } from '@backstage/core-plugin-api/alpha'; import Box from '@material-ui/core/Box'; import Chip from '@material-ui/core/Chip'; import Collapse from '@material-ui/core/Collapse'; @@ -48,6 +44,7 @@ import { import { FC, JSX, cloneElement, Fragment } from 'react'; import { scaffolderTranslationRef } from '../../translation'; import { SchemaRenderContext, SchemaRenderStrategy } from './types'; +import { TranslationMessages } from '../TemplatingExtensionsPage/types'; const getTypes = (properties: JSONSchema7) => { if (!properties.type) { @@ -149,13 +146,9 @@ type RenderColumn = ( context: SchemaRenderContext, ) => JSX.Element; -type Xlate = R extends TranslationRef - ? TranslationFunction - : never; - type Column = { key: string; - title: (t: Xlate) => string; + title: (t: TranslationMessages) => string; render: RenderColumn; className?: keyof ReturnType; }; diff --git a/plugins/scaffolder/src/components/TemplatingExtensionsPage/TemplateFilters.tsx b/plugins/scaffolder/src/components/TemplatingExtensionsPage/TemplateFilters.tsx index 32956e2063..e0c80c27cf 100644 --- a/plugins/scaffolder/src/components/TemplatingExtensionsPage/TemplateFilters.tsx +++ b/plugins/scaffolder/src/components/TemplatingExtensionsPage/TemplateFilters.tsx @@ -32,7 +32,7 @@ import { Expanded, RenderSchema, SchemaRenderContext } from '../RenderSchema'; import { ScaffolderUsageExamplesTable } from '../ScaffolderUsageExamplesTable'; import { inspectFunctionArgSchema } from './functionArgs'; import { Extension, renderFragment } from './navigation'; -import { StyleClasses, Xlate } from './types'; +import { StyleClasses, TranslationMessages } from './types'; const FilterDetailContent = ({ t, @@ -40,7 +40,7 @@ const FilterDetailContent = ({ name, filter, }: { - t: Xlate; + t: TranslationMessages; classes: ClassNameMap; name: string; filter: TemplateFilter; @@ -144,7 +144,7 @@ export const TemplateFilters = ({ baseLink, selectedItem, }: { - t: Xlate; + t: TranslationMessages; classes: StyleClasses; filters: ListTemplatingExtensionsResponse['filters']; baseLink: ReactElement[0]>; diff --git a/plugins/scaffolder/src/components/TemplatingExtensionsPage/TemplateGlobals.tsx b/plugins/scaffolder/src/components/TemplatingExtensionsPage/TemplateGlobals.tsx index 8edd5aabd3..329f7b9742 100644 --- a/plugins/scaffolder/src/components/TemplatingExtensionsPage/TemplateGlobals.tsx +++ b/plugins/scaffolder/src/components/TemplatingExtensionsPage/TemplateGlobals.tsx @@ -32,7 +32,7 @@ import { Expanded, RenderSchema, SchemaRenderContext } from '../RenderSchema'; import { ScaffolderUsageExamplesTable } from '../ScaffolderUsageExamplesTable'; import { inspectFunctionArgSchema } from './functionArgs'; import { Extension, renderFragment } from './navigation'; -import { Xlate } from './types'; +import { TranslationMessages } from './types'; const FunctionDetailContent = ({ classes, @@ -43,13 +43,13 @@ const FunctionDetailContent = ({ classes: ClassNameMap; name: string; fn: TemplateGlobalFunction; - t: Xlate; + t: TranslationMessages; }) => { const expanded = useState({}); if (!Object.keys(fn).length) { return ( - Function metadata unavailable + {t('templatingExtensions.content.functions.notAvailable')} ); } @@ -134,7 +134,7 @@ export const TemplateGlobalFunctions = ({ }: { classes: ClassNameMap; functions: ListTemplatingExtensionsResponse['globals']['functions']; - t: Xlate; + t: TranslationMessages; baseLink: ReactElement[0]>; selectedItem: Extension | null; }) => { @@ -185,7 +185,7 @@ export const TemplateGlobalValues = ({ selectedItem, }: { classes: ClassNameMap; - t: Xlate; + t: TranslationMessages; values: ListTemplatingExtensionsResponse['globals']['values']; baseLink: ReactElement[0]>; selectedItem: Extension | null; diff --git a/plugins/scaffolder/src/components/TemplatingExtensionsPage/types.ts b/plugins/scaffolder/src/components/TemplatingExtensionsPage/types.ts index f9c32d469e..982e1f6211 100644 --- a/plugins/scaffolder/src/components/TemplatingExtensionsPage/types.ts +++ b/plugins/scaffolder/src/components/TemplatingExtensionsPage/types.ts @@ -23,6 +23,6 @@ export type StyleClasses = ClassNameMap< 'code' | 'codeRequired' | 'argRequired' | 'link' >; -export type Xlate = R extends TranslationRef +export type TranslationMessages = R extends TranslationRef ? TranslationFunction : never;