mirror of
https://github.com/karl0ss/homepage.git
synced 2025-05-02 21:43:39 +01:00
Sort layout groups by default, simplify sorting
This commit is contained in:
parent
bd97d5ff2e
commit
ae3f847cef
@ -77,6 +77,7 @@ export async function servicesResponse() {
|
|||||||
];
|
];
|
||||||
|
|
||||||
const mergedGroups = [];
|
const mergedGroups = [];
|
||||||
|
const definedLayouts = initialSettings.layout ? Object.keys(initialSettings.layout) : null;
|
||||||
|
|
||||||
mergedGroupsNames.forEach((groupName) => {
|
mergedGroupsNames.forEach((groupName) => {
|
||||||
const discoveredGroup = discoveredServices.find((group) => group.name === groupName) || { services: [] };
|
const discoveredGroup = discoveredServices.find((group) => group.name === groupName) || { services: [] };
|
||||||
@ -87,21 +88,14 @@ export async function servicesResponse() {
|
|||||||
services: [...discoveredGroup.services, ...configuredGroup.services].filter((service) => service),
|
services: [...discoveredGroup.services, ...configuredGroup.services].filter((service) => service),
|
||||||
};
|
};
|
||||||
|
|
||||||
mergedGroups.push(mergedGroup);
|
if (definedLayouts) {
|
||||||
});
|
const layoutIndex = definedLayouts.findIndex(layout => layout === mergedGroup.name);
|
||||||
|
if (layoutIndex > -1) mergedGroups.splice(layoutIndex, 0, mergedGroup);
|
||||||
let sortedServices = [];
|
else mergedGroups.push(mergedGroup);
|
||||||
|
} else {
|
||||||
const layouts = Object.keys(initialSettings.layout);
|
mergedGroups.push(mergedGroup);
|
||||||
layouts.forEach((currentServer) => {
|
|
||||||
if (initialSettings.layout[currentServer]?.sort) {
|
|
||||||
const idx = mergedGroups.findIndex((service) => service.name === currentServer);
|
|
||||||
sortedServices.push(...mergedGroups.splice(idx, 1));
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (mergedGroups.length) {
|
|
||||||
sortedServices = sortedServices.concat(mergedGroups);
|
|
||||||
}
|
|
||||||
|
|
||||||
return sortedServices;
|
return mergedGroups;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user