{{key}}. Homarr is unable to interprete and use this parameter. To avoid any unexpected behavior, back up your configuration and correct your configuration."
+ }
}
}
\ No newline at end of file
diff --git a/public/locales/en/modules/dashdot.json b/public/locales/en/modules/dashdot.json
index c44e04ca2..3b628ebb3 100644
--- a/public/locales/en/modules/dashdot.json
+++ b/public/locales/en/modules/dashdot.json
@@ -3,6 +3,7 @@
"name": "Dash.",
"description": "A module for displaying the graphs of your running Dash. instance.",
"settings": {
+ "title": "Settings for Dash. widget",
"cpuMultiView": {
"label": "CPU Multi-Core View"
},
@@ -18,6 +19,10 @@
"url": {
"label": "Dash. URL"
}
+ },
+ "remove": {
+ "title": "Remove Dash. widget",
+ "confirm": "Are you sure, that you want to remove the Dash. widget?"
}
},
"card": {
@@ -50,4 +55,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/public/locales/en/modules/date.json b/public/locales/en/modules/date.json
index 521e220a4..e55f397ef 100644
--- a/public/locales/en/modules/date.json
+++ b/public/locales/en/modules/date.json
@@ -3,6 +3,7 @@
"name": "Date",
"description": "Show the current time and date in a card",
"settings": {
+ "title": "Settings for date integration",
"display24HourFormat": {
"label": "Display full time (24-hour)"
}
diff --git a/public/locales/en/modules/search.json b/public/locales/en/modules/search.json
index cf3f50de0..8b3ed6302 100644
--- a/public/locales/en/modules/search.json
+++ b/public/locales/en/modules/search.json
@@ -26,5 +26,6 @@
}
},
"tip": "You can select the search bar with the shortcut ",
- "switchedSearchEngine": "Switched to searching with {{searchEngine}}"
+ "switchedSearchEngine": "Switched to searching with {{searchEngine}}",
+ "configurationName": "Search engine configuration"
}
\ No newline at end of file
diff --git a/public/locales/en/modules/torrents-status.json b/public/locales/en/modules/torrents-status.json
index 7e8970a92..83d75d6dd 100644
--- a/public/locales/en/modules/torrents-status.json
+++ b/public/locales/en/modules/torrents-status.json
@@ -1,10 +1,17 @@
{
"descriptor": {
- "name": "Torrent",
- "description": "Show the current download speed of supported services",
+ "name": "BitTorrent",
+ "description": "Displays a list of the torrent which are currently downloading",
"settings": {
- "hideComplete": {
- "label": "Hide completed torrents"
+ "title": "Settings for BitTorrent integration",
+ "refreshInterval": {
+ "label": "Refresh interval (in seconds)"
+ },
+ "displayCompletedTorrents": {
+ "label": "Display completed torrents"
+ },
+ "displayStaleTorrents": {
+ "label": "Display stale torrents"
}
}
},
@@ -34,7 +41,14 @@
"noDownloadClients": {
"title": "No supported download clients found!",
"text": "Add a download service to view your current downloads"
+ },
+ "generic": {
+ "title": "An unexpected error occured",
+ "text": "Homarr was unable to communicate with your download clients. Please check your configuration"
}
+ },
+ "loading": {
+ "title": "Loading..."
}
}
}
\ No newline at end of file
diff --git a/public/locales/en/modules/weather.json b/public/locales/en/modules/weather.json
index 405c36263..816b907b0 100644
--- a/public/locales/en/modules/weather.json
+++ b/public/locales/en/modules/weather.json
@@ -3,6 +3,7 @@
"name": "Weather",
"description": "Look up the current weather in your location",
"settings": {
+ "title": "Settings for weather integration",
"displayInFahrenheit": {
"label": "Display in Fahrenheit"
},
@@ -29,4 +30,4 @@
"unknown": "Unknown"
}
}
-}
\ No newline at end of file
+}
diff --git a/public/locales/en/settings/common.json b/public/locales/en/settings/common.json
index 4ff9b984e..1e4ed349a 100644
--- a/public/locales/en/settings/common.json
+++ b/public/locales/en/settings/common.json
@@ -11,5 +11,19 @@
"credits": {
"madeWithLove": "Made with ❤️ by @"
},
- "grow": "Grow grid (take all space)"
+ "grow": "Grow grid (take all space)",
+ "layout": {
+ "title": "Dashboard layout",
+ "main": "Main",
+ "sidebar": "Sidebar",
+ "cannotturnoff": "Cannot be turned off",
+ "dashboardlayout": "Dashboard layout",
+ "enablersidebar": "Enable right sidebar",
+ "enablelsidebar": "Enable left sidebar",
+ "enablesearchbar": "Enable search bar",
+ "enabledocker": "Enable docker integration",
+ "enableping": "Enable pings",
+ "enablelsidebardesc": "Optional. Can be used for apps and integrations only",
+ "enablersidebardesc": "Optional. Can be used for apps and integrations only"
+ }
}
\ No newline at end of file
diff --git a/public/locales/en/settings/customization/page-appearance.json b/public/locales/en/settings/customization/page-appearance.json
index 63fa96886..2a1e0424b 100644
--- a/public/locales/en/settings/customization/page-appearance.json
+++ b/public/locales/en/settings/customization/page-appearance.json
@@ -1,6 +1,10 @@
{
"pageTitle": {
"label": "Page Title",
+ "placeholder": "Homarr"
+ },
+ "metaTitle": {
+ "label": "Meta Title",
"placeholder": "Homarr 🦞"
},
"logo": {
diff --git a/public/locales/en/settings/general/config-changer.json b/public/locales/en/settings/general/config-changer.json
index ad4ac012d..927547d02 100644
--- a/public/locales/en/settings/general/config-changer.json
+++ b/public/locales/en/settings/general/config-changer.json
@@ -1,12 +1,17 @@
{
"configSelect": {
- "label": "Config loader"
+ "label": "Config loader",
+ "loadingNew": "Loading your config...",
+ "pleaseWait": "Please wait until your new config is loaded"
},
"modal": {
"title": "Choose the name of your new config",
"form": {
"configName": {
"label": "Config name",
+ "validation": {
+ "required": "Config name is required"
+ },
"placeholder": "Your new config name"
},
"submitButton": "Confirm"
@@ -15,6 +20,14 @@
"configSaved": {
"title": "Config saved",
"message": "Config saved as {{configName}}"
+ },
+ "configCopied": {
+ "title": "Config copied",
+ "message": "Config copied as {{configName}}"
+ },
+ "configNotCopied": {
+ "title": "Unable to copy config",
+ "message": "Your config was not copied as {{configName}}"
}
}
},
@@ -46,9 +59,11 @@
}
},
"accept": {
+ "title": "Configuration Upload",
"text": "Drag files here to upload a config. Support for JSON only."
},
"reject": {
+ "title": "Drag and Drop Upload rejected",
"text": "This file format is not supported. Please only upload JSON."
}
}
diff --git a/public/locales/en/settings/general/module-enabler.json b/public/locales/en/settings/general/module-enabler.json
index 179753b6f..26c1dae88 100644
--- a/public/locales/en/settings/general/module-enabler.json
+++ b/public/locales/en/settings/general/module-enabler.json
@@ -1,3 +1,3 @@
{
- "title": "Module enabler"
+ "title": "Enabled modules"
}
\ No newline at end of file
diff --git a/public/locales/en/settings/general/search-engine.json b/public/locales/en/settings/general/search-engine.json
index 8d419fcf8..fa9ae412f 100644
--- a/public/locales/en/settings/general/search-engine.json
+++ b/public/locales/en/settings/general/search-engine.json
@@ -5,10 +5,14 @@
"placeholderTip": "%s can be used as a placeholder for the query."
},
"customEngine": {
+ "title": "Custom search engine",
"label": "Query URL",
"placeholder": "Custom query URL"
},
"searchNewTab": {
"label": "Open search results in new tab"
+ },
+ "searchEnabled": {
+ "label": "Search enabled"
}
}
\ No newline at end of file
diff --git a/src/components/About/AboutModal.tsx b/src/components/About/AboutModal.tsx
new file mode 100644
index 000000000..8d258ebd3
--- /dev/null
+++ b/src/components/About/AboutModal.tsx
@@ -0,0 +1,241 @@
+import {
+ ActionIcon,
+ Anchor,
+ Badge,
+ Button,
+ createStyles,
+ Divider,
+ Group,
+ HoverCard,
+ Modal,
+ Table,
+ Text,
+ Title,
+} from '@mantine/core';
+import {
+ IconBrandDiscord,
+ IconBrandGithub,
+ IconFile,
+ IconLanguage,
+ IconSchema,
+ IconVersions,
+ IconVocabulary,
+ IconWorldWww,
+} from '@tabler/icons';
+import { motion } from 'framer-motion';
+import { InitOptions } from 'i18next';
+import { i18n, Trans, useTranslation } from 'next-i18next';
+import Image from 'next/image';
+import { ReactNode } from 'react';
+import { CURRENT_VERSION } from '../../../data/constants';
+import { useConfigContext } from '../../config/provider';
+import { useConfigStore } from '../../config/store';
+import { usePrimaryGradient } from '../layout/useGradient';
+import Credits from '../Settings/Common/Credits';
+
+interface AboutModalProps {
+ opened: boolean;
+ closeModal: () => void;
+ newVersionAvailable?: string;
+}
+
+export const AboutModal = ({ opened, closeModal, newVersionAvailable }: AboutModalProps) => {
+ const { classes } = useStyles();
+ const colorGradiant = usePrimaryGradient();
+ const informations = useInformationTableItems(newVersionAvailable);
+ const { t } = useTranslation(['common', 'layout/modals/about']);
+
+ return (
+ |
+ |
+ {item.content} | +