Remove feature flags from labels

This commit is contained in:
Owen 2026-07-07 14:04:34 -04:00
parent 83de8576bf
commit 417438c209
No known key found for this signature in database
GPG key ID: 8271FDFFD9E0CCBD
24 changed files with 233 additions and 466 deletions

View file

@ -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}

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,

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";

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,

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,

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);