feat: add releases widget (#2497)

Co-authored-by: Andre Silva <asilva01@acuitysso.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com>
This commit is contained in:
Andre Silva
2025-04-25 19:49:32 +01:00
committed by GitHub
parent d97e74047d
commit 3dcee8cb86
19 changed files with 2068 additions and 7 deletions

View File

@@ -7,6 +7,7 @@ import type { ZodType } from "zod";
import type { IntegrationKind } from "@homarr/definitions";
import type { inferSelectOptionValue, SelectOption } from "./_inputs/widget-select-input";
import type { ReleasesRepository } from "./releases/releases-repository";
interface CommonInput<TType> {
defaultValue?: TType;
@@ -119,6 +120,13 @@ const optionsFactory = {
values: [] as string[],
validate: input?.validate,
}),
multiReleasesRepositories: (input?: CommonInput<ReleasesRepository[]> & { validate?: ZodType }) => ({
type: "multiReleasesRepositories" as const,
defaultValue: input?.defaultValue ?? [],
withDescription: input?.withDescription ?? false,
values: [] as ReleasesRepository[],
validate: input?.validate,
}),
app: () => ({
type: "app" as const,
defaultValue: "",