From e99fd648822f61b4ad7b3793875df69348a3e0c8 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Wed, 16 Oct 2024 21:44:28 +0200 Subject: [PATCH] feat: add notes for creation of apps and integrations in widget edit modal (#1297) * feat: add notes for creation of apps and integrations in widget edit modal * fix: unit test failing when with-description flag missing --- packages/translation/src/lang/en.ts | 9 ++++++ .../widgets/src/_inputs/widget-app-input.tsx | 25 ++++++++++++---- packages/widgets/src/options.ts | 4 +-- .../widgets/src/widget-integration-select.tsx | 30 +++++++++++++++++-- 4 files changed, 59 insertions(+), 9 deletions(-) diff --git a/packages/translation/src/lang/en.ts b/packages/translation/src/lang/en.ts index 24a149631..8aecc2fb2 100644 --- a/packages/translation/src/lang/en.ts +++ b/packages/translation/src/lang/en.ts @@ -576,6 +576,7 @@ export default { tryAgain: "Try again", loading: "Loading", }, + here: "here", iconPicker: { label: "Icon URL", header: "Type name or objects to filter for icons... Homarr will search through {countIcons} icons for you.", @@ -1157,6 +1158,14 @@ export default { }, }, }, + integration: { + noData: "No integration found", + description: "Click {here} to create a new integration", + }, + app: { + noData: "No app found", + description: "Click {here} to create a new app", + }, error: { action: { logs: "Check logs for more details", diff --git a/packages/widgets/src/_inputs/widget-app-input.tsx b/packages/widgets/src/_inputs/widget-app-input.tsx index 04a85d468..ee22b08da 100644 --- a/packages/widgets/src/_inputs/widget-app-input.tsx +++ b/packages/widgets/src/_inputs/widget-app-input.tsx @@ -1,19 +1,22 @@ "use client"; import { memo, useMemo } from "react"; +import Link from "next/link"; import type { SelectProps } from "@mantine/core"; -import { Group, Loader, Select } from "@mantine/core"; +import { Anchor, Group, Loader, Select, Text } from "@mantine/core"; import { IconCheck } from "@tabler/icons-react"; import type { RouterOutputs } from "@homarr/api"; import { clientApi } from "@homarr/api/client"; +import { useI18n } from "@homarr/translation/client"; import type { CommonWidgetInputProps } from "./common"; import { useWidgetInputTranslation } from "./common"; import { useFormContext } from "./form"; -export const WidgetAppInput = ({ property, kind, options }: CommonWidgetInputProps<"app">) => { - const t = useWidgetInputTranslation(kind, property); +export const WidgetAppInput = ({ property, kind }: CommonWidgetInputProps<"app">) => { + const t = useI18n(); + const tInput = useWidgetInputTranslation(kind, property); const form = useFormContext(); const { data: apps, isPending } = clientApi.app.selectable.useQuery(); @@ -24,10 +27,11 @@ export const WidgetAppInput = ({ property, kind, options }: CommonWidgetInputPro return (