diff --git a/data/configs/default.json b/data/configs/default.json index c0aaae762..ed63d4cc2 100644 --- a/data/configs/default.json +++ b/data/configs/default.json @@ -369,7 +369,7 @@ }, "pageTitle": "Homarr v0.11 ⭐️", "logoImageUrl": "/imgs/logo/logo.png", - "faviconUrl": "/imgs/logo/logo.png", + "faviconUrl": "/imgs/favicon/favicon-squared", "backgroundImageUrl": "", "customCss": "", "colors": { @@ -380,4 +380,4 @@ "appOpacity": 100 } } -} \ No newline at end of file +} diff --git a/public/imgs/favicon/favicon-squared.png b/public/imgs/favicon/favicon-squared.png index 66e321630..25581ea5c 100644 Binary files a/public/imgs/favicon/favicon-squared.png and b/public/imgs/favicon/favicon-squared.png differ diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 9b3388f6f..5c14a9ca6 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -9,6 +9,7 @@ "version": "Version", "changePosition": "Change position", "remove": "Remove", + "removeConfirm": "Are you sure that you want to remove {{item}} ?", "sections": { "settings": "Settings", "dangerZone": "Danger zone" diff --git a/public/locales/en/modules/dashdot.json b/public/locales/en/modules/dashdot.json index 3b628ebb3..8a373c334 100644 --- a/public/locales/en/modules/dashdot.json +++ b/public/locales/en/modules/dashdot.json @@ -19,10 +19,6 @@ "url": { "label": "Dash. URL" } - }, - "remove": { - "title": "Remove Dash. widget", - "confirm": "Are you sure, that you want to remove the Dash. widget?" } }, "card": { diff --git a/public/locales/en/modules/torrents-status.json b/public/locales/en/modules/torrents-status.json index 83d75d6dd..82e5e731f 100644 --- a/public/locales/en/modules/torrents-status.json +++ b/public/locales/en/modules/torrents-status.json @@ -1,9 +1,9 @@ { "descriptor": { - "name": "BitTorrent", + "name": "Torrent", "description": "Displays a list of the torrent which are currently downloading", "settings": { - "title": "Settings for BitTorrent integration", + "title": "Settings for Torrent integration", "refreshInterval": { "label": "Refresh interval (in seconds)" }, @@ -51,4 +51,4 @@ "title": "Loading..." } } -} \ No newline at end of file +} diff --git a/src/components/Dashboard/Modals/EditAppModal/Tabs/IntegrationTab/Components/IntegrationOptionsRenderer/IntegrationOptionsRenderer.tsx b/src/components/Dashboard/Modals/EditAppModal/Tabs/IntegrationTab/Components/IntegrationOptionsRenderer/IntegrationOptionsRenderer.tsx index c5ebc14af..0d8d4bfd9 100644 --- a/src/components/Dashboard/Modals/EditAppModal/Tabs/IntegrationTab/Components/IntegrationOptionsRenderer/IntegrationOptionsRenderer.tsx +++ b/src/components/Dashboard/Modals/EditAppModal/Tabs/IntegrationTab/Components/IntegrationOptionsRenderer/IntegrationOptionsRenderer.tsx @@ -52,7 +52,10 @@ export const IntegrationOptionsRenderer = ({ form }: IntegrationOptionsRendererP { form.setFieldValue(`integration.properties.${index}.value`, value); - form.setFieldValue(`integration.properties.${index}.isDefined`, value !== undefined); + form.setFieldValue( + `integration.properties.${index}.isDefined`, + value !== undefined + ); }} key={`input-${property}`} label={`${property} (potentionally unmapped)`} diff --git a/src/components/Dashboard/Tiles/Widgets/WidgetsEditModal.tsx b/src/components/Dashboard/Tiles/Widgets/WidgetsEditModal.tsx index 15826acb1..73a8110d3 100644 --- a/src/components/Dashboard/Tiles/Widgets/WidgetsEditModal.tsx +++ b/src/components/Dashboard/Tiles/Widgets/WidgetsEditModal.tsx @@ -58,14 +58,6 @@ export const WidgetsEditModal = ({ }); }; - const getMutliselectData = (option: string) => { - const currentWidgetDefinition = Widgets[innerProps.widgetId as keyof typeof Widgets]; - if (!Widgets) return []; - - const options = currentWidgetDefinition.options as any; - return options[option]?.data ?? []; - }; - const handleSave = () => { updateConfig( configName, @@ -85,9 +77,9 @@ export const WidgetsEditModal = ({ return ( - {items.map(([key, defaultValue], index) => { + {items.map(([key, _], index) => { const option = (currentWidgetDefinition as any).options[key] as IWidgetOptionValue; - const value = moduleProperties[key] ?? defaultValue; + const value = moduleProperties[key] ?? option.defaultValue; if (!option) { return ( @@ -183,10 +175,10 @@ function WidgetOptionTypeSwitch( case 'slider': return ( - {t(`descriptor.settings.${key}.label`)} { const handleDeleteClick = () => { openContextModalGeneric({ modal: 'integrationRemove', - title: {t('descriptor.remove.title')}, + title: {t('common:remove')}, innerProps: { widgetId: integration, }, diff --git a/src/components/Dashboard/Tiles/Widgets/WidgetsRemoveModal.tsx b/src/components/Dashboard/Tiles/Widgets/WidgetsRemoveModal.tsx index 59c20f394..f92e34380 100644 --- a/src/components/Dashboard/Tiles/Widgets/WidgetsRemoveModal.tsx +++ b/src/components/Dashboard/Tiles/Widgets/WidgetsRemoveModal.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { Button, Group, Stack, Text } from '@mantine/core'; import { ContextModalProps } from '@mantine/modals'; -import { useTranslation } from 'next-i18next'; +import { Trans, useTranslation } from 'next-i18next'; import { useConfigContext } from '../../../../config/provider'; import { useConfigStore } from '../../../../config/store'; @@ -32,7 +32,11 @@ export const WidgetsRemoveModal = ({ return ( - {t('descriptor.remove.confirm')} + ]} + values={{ item: innerProps.widgetId }} + />