Use translation

Signed-off-by: Dominika Zemanovicova <dzemanov@redhat.com>
This commit is contained in:
Dominika Zemanovicova
2025-02-04 10:39:01 +01:00
parent 4c76f05826
commit af8ec87576
9 changed files with 148 additions and 25 deletions
+16 -3
View File
@@ -10,9 +10,7 @@
]
},
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts"
"access": "public"
},
"keywords": [
"backstage",
@@ -26,8 +24,23 @@
},
"license": "Apache-2.0",
"sideEffects": false,
"exports": {
".": "./src/index.ts",
"./alpha": "./src/alpha.ts",
"./package.json": "./package.json"
},
"main": "src/index.ts",
"types": "src/index.ts",
"typesVersions": {
"*": {
"alpha": [
"src/alpha.ts"
],
"package.json": [
"package.json"
]
}
},
"files": [
"dist"
],
@@ -0,0 +1,18 @@
## API Report File for "@backstage/plugin-kubernetes-cluster"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
import { TranslationRef } from '@backstage/core-plugin-api/alpha';
// @alpha (undocumented)
export const kubernetesClusterTranslationRef: TranslationRef<
'kubernetes-cluster',
{
readonly 'kubernetesClusterContentPage.permissionAlert.message': "To view Kubernetes objects, contact your portal administrator to give you the 'kubernetes.clusters.read' permission.";
readonly 'kubernetesClusterContentPage.permissionAlert.title': 'Permission required';
}
>;
// (No @packageDocumentation comment for this package)
```
+17
View File
@@ -0,0 +1,17 @@
/*
* Copyright 2025 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export { kubernetesClusterTranslationRef } from './translation';
@@ -26,6 +26,8 @@ import {
import { WarningPanel } from '@backstage/core-components';
import { kubernetesClustersReadPermission } from '@backstage/plugin-kubernetes-common';
import { RequirePermission } from '@backstage/plugin-permission-react';
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
import { kubernetesClusterTranslationRef } from '../../translation';
const ContentGrid = () => {
const { error } = useKubernetesClusterError();
@@ -59,14 +61,15 @@ const ContentGrid = () => {
* @public
*/
export const KubernetesClusterContent = () => {
const { t } = useTranslationRef(kubernetesClusterTranslationRef);
return (
<RequirePermission
permission={kubernetesClustersReadPermission}
errorPage={
<WarningPanel
title="Permission required"
message={`To view Kubernetes objects, contact your portal administrator to give you the
'${kubernetesClustersReadPermission.name}' permission.`}
title={t('kubernetesClusterContentPage.permissionAlert.title')}
message={t('kubernetesClusterContentPage.permissionAlert.message')}
/>
}
>
@@ -0,0 +1,30 @@
/*
* Copyright 2025 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
/** @alpha */
export const kubernetesClusterTranslationRef = createTranslationRef({
id: 'kubernetes-cluster',
messages: {
kubernetesClusterContentPage: {
permissionAlert: {
title: 'Permission required',
message:
"To view Kubernetes objects, contact your portal administrator to give you the 'kubernetes.clusters.read' permission.",
},
},
},
});