allow grouping when filter applied

This commit is contained in:
miloschwartz
2026-07-02 22:07:30 -04:00
parent 1717a99cee
commit 12f9ac94fd
5 changed files with 37 additions and 19 deletions
@@ -78,8 +78,9 @@ export function LauncherSettingsMenu({
<SelectItem
value="site"
disabled={
isCompactMode ||
!capabilities.allowSiteGrouping
!capabilities.allowSiteGrouping ||
(isCompactMode &&
config.siteIds.length === 0)
}
>
{t("resourceLauncherGroupBySite")}
@@ -87,8 +88,9 @@ export function LauncherSettingsMenu({
<SelectItem
value="label"
disabled={
isCompactMode ||
!capabilities.allowLabelGrouping
!capabilities.allowLabelGrouping ||
(isCompactMode &&
config.labelIds.length === 0)
}
>
{t("resourceLauncherGroupByLabel")}
@@ -97,7 +99,7 @@ export function LauncherSettingsMenu({
</Select>
{isCompactMode ? (
<p className="text-xs text-muted-foreground">
{t("resourceLauncherCompactGroupingLocked")}
{t("resourceLauncherCompactGroupingHint")}
</p>
) : null}
{!isCompactMode && !capabilities.allowSiteGrouping ? (
@@ -549,12 +549,6 @@ export default function ResourceLauncher({
</div>
)}
{scale.mode === "compact" && !showSearchFirstGate ? (
<p className="mb-4 text-sm text-muted-foreground">
{t("resourceLauncherCompactModeHint")}
</p>
) : null}
{showSearchFirstGate ? (
<LauncherSearchFirstGate layout={config.layout} />
) : showGroupList ? (
+25 -6
View File
@@ -15,11 +15,27 @@ export function getEffectiveGroupBy(
scale: LauncherScaleInfo,
config: LauncherViewConfig
): LauncherViewConfig["groupBy"] {
if (scale.mode === "compact") {
return "none";
if (scale.mode !== "compact") {
return config.groupBy;
}
return config.groupBy;
if (
config.groupBy === "site" &&
config.siteIds.length > 0 &&
scale.capabilities.allowSiteGrouping
) {
return "site";
}
if (
config.groupBy === "label" &&
config.labelIds.length > 0 &&
scale.capabilities.allowLabelGrouping
) {
return "label";
}
return "none";
}
export function getEffectiveLauncherConfig(
@@ -49,9 +65,12 @@ export function shouldFetchLauncherGroups(
}
return (
scale.capabilities.allowSiteGrouping &&
groupBy === "site" &&
config.siteIds.length > 0
(scale.capabilities.allowSiteGrouping &&
groupBy === "site" &&
config.siteIds.length > 0) ||
(scale.capabilities.allowLabelGrouping &&
groupBy === "label" &&
config.labelIds.length > 0)
);
}