mirror of
https://github.com/stashapp/stash.git
synced 2026-01-25 01:24:02 +01:00
FR: Hide Already Installed Plugins or Scrapers (#6443)
This commit is contained in:
parent
dc7ebadb16
commit
45dc892a54
2 changed files with 20 additions and 2 deletions
|
|
@ -100,6 +100,12 @@ export const AvailablePluginPackages: React.FC = () => {
|
|||
const [jobID, setJobID] = useState<string>();
|
||||
const { job } = useMonitorJob(jobID, () => onPackageChanges());
|
||||
|
||||
// Get installed packages to filter them out from available list
|
||||
const { data: installedData } = useInstalledPluginPackages(false);
|
||||
const installedPackageIds = new Set(
|
||||
installedData?.installedPackages?.map((p) => p.package_id) ?? []
|
||||
);
|
||||
|
||||
async function onInstallPackages(packages: GQL.PackageSpecInput[]) {
|
||||
const r = await mutateInstallPluginPackages(packages);
|
||||
|
||||
|
|
@ -114,7 +120,10 @@ export const AvailablePluginPackages: React.FC = () => {
|
|||
|
||||
async function loadSource(source: string): Promise<RemotePackage[]> {
|
||||
const { data } = await queryAvailablePluginPackages(source);
|
||||
return data.availablePackages;
|
||||
// Filter out already installed packages
|
||||
return data.availablePackages.filter(
|
||||
(pkg) => !installedPackageIds.has(pkg.package_id)
|
||||
);
|
||||
}
|
||||
|
||||
function addSource(source: GQL.PackageSource) {
|
||||
|
|
|
|||
|
|
@ -100,6 +100,12 @@ export const AvailableScraperPackages: React.FC = () => {
|
|||
const [jobID, setJobID] = useState<string>();
|
||||
const { job } = useMonitorJob(jobID, () => onPackageChanges());
|
||||
|
||||
// Get installed packages to filter them out from available list
|
||||
const { data: installedData } = useInstalledScraperPackages(false);
|
||||
const installedPackageIds = new Set(
|
||||
installedData?.installedPackages?.map((p) => p.package_id) ?? []
|
||||
);
|
||||
|
||||
async function onInstallPackages(packages: GQL.PackageSpecInput[]) {
|
||||
const r = await mutateInstallScraperPackages(packages);
|
||||
|
||||
|
|
@ -114,7 +120,10 @@ export const AvailableScraperPackages: React.FC = () => {
|
|||
|
||||
async function loadSource(source: string): Promise<RemotePackage[]> {
|
||||
const { data } = await queryAvailableScraperPackages(source);
|
||||
return data.availablePackages;
|
||||
// Filter out already installed packages
|
||||
return data.availablePackages.filter(
|
||||
(pkg) => !installedPackageIds.has(pkg.package_id)
|
||||
);
|
||||
}
|
||||
|
||||
function addSource(source: GQL.PackageSource) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue