import {Button, Tooltip, useDisclosure} from "@heroui/react"; import { ListNumbersIcon } from "@phosphor-icons/react"; import {PluginManagementCard} from "Frontend/components/general/cards/PluginManagementCard"; import React from "react"; import PluginPrioritiesModal from "Frontend/components/general/modals/PluginPrioritiesModal"; import {camelCaseToTitle} from "Frontend/util/utils"; import PluginDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginDto"; interface PluginManagementSectionProps { type: string; plugins: PluginDto[]; } export function PluginManagementSection({type, plugins = []}: PluginManagementSectionProps) { const pluginPrioritiesModal = useDisclosure(); return (

{camelCaseToTitle(type)}

{plugins.length === 0 &&

No plugins of this type installed.

} {plugins.length > 0 &&
{plugins.map((plugin) => )}
} p.id + p.priority).join(',')} // force re-mount if plugin order changes plugins={[...plugins].sort((a, b) => b.priority - a.priority)} isOpen={pluginPrioritiesModal.isOpen} onOpenChange={pluginPrioritiesModal.onOpenChange} />
); }