diff --git a/apps/nextjs/src/components/board/items/widget-hover-overlay.tsx b/apps/nextjs/src/components/board/items/widget-hover-overlay.tsx index 6ea3ac572..40c64d3a1 100644 --- a/apps/nextjs/src/components/board/items/widget-hover-overlay.tsx +++ b/apps/nextjs/src/components/board/items/widget-hover-overlay.tsx @@ -2,7 +2,7 @@ import { Avatar, Group, Text, Tooltip } from "@mantine/core"; -import { clientApi } from "@homarr/api/client"; +import type { RouterOutputs } from "@homarr/api"; import { useEditMode } from "@homarr/boards/edit-mode"; import { getIconUrl } from "@homarr/definitions"; import { useSettings } from "@homarr/settings"; @@ -16,13 +16,13 @@ import classes from "./widget-hover-overlay.module.css"; interface WidgetHoverOverlayProps { item: SectionItem; + integrations: RouterOutputs["integration"]["all"] | undefined; } -export const WidgetHoverOverlay = ({ item }: WidgetHoverOverlayProps) => { +export const WidgetHoverOverlay = ({ item, integrations }: WidgetHoverOverlayProps) => { const [isEditMode] = useEditMode(); const settings = useSettings(); const t = useI18n(); - const { data: integrations } = clientApi.integration.all.useQuery(); const { definition } = widgetImports[item.kind]; const WidgetIcon = definition.icon; diff --git a/apps/nextjs/src/components/board/sections/content.tsx b/apps/nextjs/src/components/board/sections/content.tsx index 3c3ca6ea0..ced30c796 100644 --- a/apps/nextjs/src/components/board/sections/content.tsx +++ b/apps/nextjs/src/components/board/sections/content.tsx @@ -2,6 +2,9 @@ import { useMemo } from "react"; import type { GridItemHTMLElement } from "@homarr/gridstack"; +import type { RouterOutputs } from "@homarr/api"; +import { clientApi } from "@homarr/api/client"; + import type { DynamicSectionItem, SectionItem } from "~/app/[locale]/boards/_types"; import { BoardItemContent } from "../items/item-content"; import { WidgetHoverOverlay } from "../items/widget-hover-overlay"; @@ -12,6 +15,7 @@ import { useSectionItems } from "./use-section-items"; export const SectionContent = () => { const { innerSections, items, refs } = useSectionContext(); + const { data: integrations } = clientApi.integration.all.useQuery(); /** * IMPORTANT: THE ORDER OF THE BELOW ITEMS HAS TO MATCH THE ORDER OF @@ -31,7 +35,7 @@ export const SectionContent = () => { return ( <> {sortedItems.map((item) => ( - + ))} ); @@ -40,9 +44,10 @@ export const SectionContent = () => { interface ItemProps { item: DynamicSectionItem | SectionItem; innerRef: React.RefObject | undefined; + integrations: RouterOutputs["integration"]["all"] | undefined; } -const Item = ({ item, innerRef }: ItemProps) => { +const Item = ({ item, innerRef, integrations }: ItemProps) => { const minWidth = useMinSize(item, "x"); const minHeight = useMinSize(item, "y"); return ( @@ -59,7 +64,7 @@ const Item = ({ item, innerRef }: ItemProps) => { minWidth={minWidth} minHeight={minHeight} > - {item.type === "item" && item.kind !== "app" && } + {item.type === "item" && item.kind !== "app" && } {item.type === "item" ? : } );