Remove feature flags from labels

This commit is contained in:
Owen
2026-07-07 14:04:34 -04:00
parent 83de8576bf
commit 417438c209
24 changed files with 233 additions and 466 deletions
@@ -3,9 +3,7 @@ import { authCookieHeader } from "@app/lib/api/cookies";
import { ListOrgLabelsResponse } from "@server/routers/labels/types";
import { AxiosResponse } from "axios";
import OrgLabelsTable from "@app/components/OrgLabelsTable";
import { PaidFeaturesAlert } from "@app/components/PaidFeaturesAlert";
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
import { tierMatrix } from "@server/lib/billing/tierMatrix";
import type { Metadata } from "next";
import { getTranslations } from "next-intl/server";
@@ -51,8 +49,6 @@ export default async function LabelsPage({ params, searchParams }: Props) {
description={t("orgLabelsDescription")}
/>
<PaidFeaturesAlert tiers={tierMatrix.labels} />
<OrgLabelsTable
labels={labels}
orgId={orgId}
+5 -9
View File
@@ -103,7 +103,6 @@ export default function MachineClientsTable({
const [isNavigatingToAddPage, startNavigation] = useTransition();
const { isPaidUser } = usePaidStatus();
const isLabelFeatureEnabled = isPaidUser(tierMatrix.labels);
const data = useQuery(productUpdatesQueries.latestVersion(true));
const latestPlatformVersions = data.data?.data;
@@ -434,11 +433,8 @@ export default function MachineClientsTable({
accessorKey: "subnet",
friendlyName: t("address"),
header: () => <span className="px-3">{t("address")}</span>
}
];
if (isLabelFeatureEnabled) {
baseColumns.push({
},
{
id: "labels",
accessorKey: "labels",
header: () => (
@@ -458,8 +454,8 @@ export default function MachineClientsTable({
orgId={orgId}
/>
)
});
}
}
];
// Only include actions column if there are rows without userIds
if (hasRowsWithoutUserId) {
@@ -541,7 +537,7 @@ export default function MachineClientsTable({
}
return baseColumns;
}, [hasRowsWithoutUserId, isLabelFeatureEnabled, orgId, t, searchParams]);
}, [hasRowsWithoutUserId, orgId, t, searchParams]);
function handleFilterChange(
column: string,
-3
View File
@@ -21,9 +21,6 @@ import {
ControlledDataTable,
type ExtendedColumnDef
} from "./ui/controlled-data-table";
import { LabelBadge } from "./label-badge";
import { getNextSortOrder, getSortDirection } from "@app/lib/sortColumn";
import { cn } from "@app/lib/cn";
import ConfirmDeleteDialog from "./ConfirmDeleteDialog";
import { CreateOrgLabelDialog } from "./CreateOrgLabelDialog";
import { EditOrgLabelDialog } from "./EditOrgLabelDialog";
+5 -9
View File
@@ -151,7 +151,6 @@ export default function PrivateResourcesTable({
const [isRefreshing, startRefreshTransition] = useTransition();
const { isPaidUser } = usePaidStatus();
const isLabelFeatureEnabled = isPaidUser(tierMatrix.labels);
// useEffect(() => {
// const interval = setInterval(() => {
@@ -476,11 +475,8 @@ export default function PrivateResourcesTable({
</div>
);
}
}
];
if (isLabelFeatureEnabled) {
cols.splice(cols.length - 1, 0, {
},
{
id: "labels",
accessorKey: "labels",
header: () => (
@@ -500,11 +496,11 @@ export default function PrivateResourcesTable({
orgId={orgId}
/>
)
});
}
}
];
return cols;
}, [isLabelFeatureEnabled, orgId, t, searchParams]);
}, [orgId, t, searchParams]);
function handleFilterChange(
column: string,
+5 -9
View File
@@ -151,7 +151,6 @@ export default function PublicResourcesTable({
useState<ResourceRow | null>();
const { isPaidUser } = usePaidStatus();
const isLabelFeatureEnabled = isPaidUser(tierMatrix.labels);
const [isRefreshing, startTransition] = useTransition();
const [isNavigatingToAddPage, startNavigation] = useTransition();
@@ -604,11 +603,8 @@ export default function PublicResourcesTable({
</div>
);
}
}
];
if (isLabelFeatureEnabled) {
cols.splice(cols.length - 1, 0, {
},
{
id: "labels",
accessorKey: "labels",
header: () => (
@@ -625,11 +621,11 @@ export default function PublicResourcesTable({
cell: ({ row }: { row: { original: ResourceRow } }) => (
<ResourceLabelCell resource={row.original} orgId={orgId} />
)
});
}
}
];
return cols;
}, [isLabelFeatureEnabled, orgId, t, searchParams]);
}, [orgId, t, searchParams]);
function handleFilterChange(
column: string,
+9 -11
View File
@@ -53,7 +53,6 @@ import {
import { useOptimisticLabels } from "@app/hooks/useOptimisticLabels";
import { usePaidStatus } from "@app/hooks/usePaidStatus";
import { tierMatrix } from "@server/lib/billing/tierMatrix";
import { LabelColumnFilterButton } from "./LabelColumnFilterButton";
import { LabelsTableCell } from "./LabelsTableCell";
import { useQuery } from "@tanstack/react-query";
@@ -114,7 +113,6 @@ export default function SitesTable({
const [isNavigatingToAddPage, startNavigation] = useTransition();
const { isPaidUser } = usePaidStatus();
const isLabelFeatureEnabled = isPaidUser(tierMatrix.labels);
const api = createApiClient(useEnvContext());
const t = useTranslations();
@@ -171,7 +169,10 @@ export default function SitesTable({
toast({
variant: "destructive",
title: t("siteErrorRestart"),
description: formatAxiosError(e, t("siteErrorRestartDescription"))
description: formatAxiosError(
e,
t("siteErrorRestartDescription")
)
});
} finally {
setRestartingSite(null);
@@ -598,11 +599,8 @@ export default function SitesTable({
</div>
);
}
}
];
if (isLabelFeatureEnabled) {
cols.splice(cols.length - 1, 0, {
},
{
accessorKey: "labels",
header: () => (
<LabelColumnFilterButton
@@ -618,11 +616,11 @@ export default function SitesTable({
cell: ({ row }: { row: { original: SiteRow } }) => (
<SiteLabelCell site={row.original} orgId={orgId} />
)
});
}
}
];
return cols;
}, [isLabelFeatureEnabled, orgId, t, searchParams, latestNewtVersion]);
}, [orgId, t, searchParams, latestNewtVersion]);
function toggleSort(column: string) {
const newSearch = getNextSortOrder(column, searchParams);