Files
homarr/packages/widgets/src/network-controller/network-status/index.ts
pitschi c1cd563048 feat: unifi controller integration (#2236)
* feat: unifi controller integration

* fix: pr feedback

* fix: pr feedback

* fix: pr feedback

* fix: formatting

* fix: pr feedback

* fix: typecheck

---------

Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-04-06 10:17:51 +00:00

29 lines
1007 B
TypeScript

import { IconServerOff, IconTopologyFull } from "@tabler/icons-react";
import { getIntegrationKindsByCategory } from "@homarr/definitions";
import { createWidgetDefinition } from "../../definition";
import { optionsBuilder } from "../../options";
export const { definition, componentLoader } = createWidgetDefinition("networkControllerStatus", {
icon: IconTopologyFull,
createOptions() {
return optionsBuilder.from((factory) => ({
content: factory.select({
options: (["wifi", "wired"] as const).map((value) => ({
value,
label: (t) => t(`widget.networkControllerStatus.option.content.option.${value}.label`),
})),
defaultValue: "wifi",
}),
}));
},
supportedIntegrations: getIntegrationKindsByCategory("networkController"),
errors: {
INTERNAL_SERVER_ERROR: {
icon: IconServerOff,
message: (t) => t("widget.networkController.error.internalServerError"),
},
},
}).withDynamicImport(() => import("./component"));