summaryrefslogtreecommitdiff
path: root/frontend/src/utils
diff options
context:
space:
mode:
authorAAGaming <aagaming@riseup.net>2026-10-17 20:31:24 -0400
committerAAGaming <aagaming@riseup.net>2026-10-17 20:31:24 -0400
commita349af9d76d0457067fb546872304df8cdb6ab27 (patch)
treea2376f6b6288a4c79dea62d90510b09051ce73fb /frontend/src/utils
parentdae497ef949d4b36b2bdc3537f4f52b1cfdafa2e (diff)
parent82df584b461fe9a283b687ad9d883ea1cb8767a8 (diff)
downloaddecky-loader-a349af9d76d0457067fb546872304df8cdb6ab27.tar.gz
decky-loader-a349af9d76d0457067fb546872304df8cdb6ab27.zip
Merge branch 'main' of github.com:SteamDeckHomebrew/decky-loader
Diffstat (limited to 'frontend/src/utils')
-rw-r--r--frontend/src/utils/TranslationHelper.tsx29
-rw-r--r--frontend/src/utils/globalTypes.ts4
2 files changed, 32 insertions, 1 deletions
diff --git a/frontend/src/utils/TranslationHelper.tsx b/frontend/src/utils/TranslationHelper.tsx
index 4596060d..60af2065 100644
--- a/frontend/src/utils/TranslationHelper.tsx
+++ b/frontend/src/utils/TranslationHelper.tsx
@@ -2,10 +2,12 @@ import { FC } from 'react';
import { Translation } from 'react-i18next';
import Logger from '../logger';
+import { WarnThirdPartyType } from './globalTypes';
export enum TranslationClass {
PLUGIN_LOADER = 'PluginLoader',
DEVELOPER = 'Developer',
+ WARN_THIRD_PARTY = 'WarnThirdParty',
}
interface TranslationHelperProps {
@@ -13,11 +15,17 @@ interface TranslationHelperProps {
transText: string;
i18nArgs?: {};
installType?: number;
+ warnType?: WarnThirdPartyType;
}
const logger = new Logger('TranslationHelper');
-const TranslationHelper: FC<TranslationHelperProps> = ({ transClass, transText, i18nArgs = null }) => {
+const TranslationHelper: FC<TranslationHelperProps> = ({
+ transClass,
+ transText,
+ i18nArgs = null,
+ warnType = WarnThirdPartyType.REPO,
+}) => {
return (
<Translation>
{(t, {}) => {
@@ -30,6 +38,25 @@ const TranslationHelper: FC<TranslationHelperProps> = ({ transClass, transText,
return i18nArgs
? t(TranslationClass.DEVELOPER + '.' + transText, i18nArgs)
: t(TranslationClass.DEVELOPER + '.' + transText);
+ //Handle different messages in different class cases
+ case TranslationClass.WARN_THIRD_PARTY:
+ //Needed only for title and description
+ if (!transText.startsWith('button')) {
+ switch (warnType) {
+ case WarnThirdPartyType.REPO:
+ return i18nArgs
+ ? t(TranslationClass.WARN_THIRD_PARTY + '.' + transText + '_repo', i18nArgs)
+ : t(TranslationClass.WARN_THIRD_PARTY + '.' + transText + '_repo');
+ case WarnThirdPartyType.ZIP:
+ return i18nArgs
+ ? t(TranslationClass.WARN_THIRD_PARTY + '.' + transText + '_zip', i18nArgs)
+ : t(TranslationClass.WARN_THIRD_PARTY + '.' + transText + '_zip');
+ }
+ } else {
+ return i18nArgs
+ ? t(TranslationClass.WARN_THIRD_PARTY + '.' + transText, i18nArgs)
+ : t(TranslationClass.WARN_THIRD_PARTY + '.' + transText);
+ }
default:
logger.error('We should never fall in the default case!');
return '';
diff --git a/frontend/src/utils/globalTypes.ts b/frontend/src/utils/globalTypes.ts
new file mode 100644
index 00000000..26f7d1ae
--- /dev/null
+++ b/frontend/src/utils/globalTypes.ts
@@ -0,0 +1,4 @@
+export enum WarnThirdPartyType {
+ REPO = 0,
+ ZIP = 1,
+}