fix paywalling

This commit is contained in:
miloschwartz
2026-06-11 12:26:01 -07:00
parent 5baf0c3c09
commit aea7827c1a
5 changed files with 57 additions and 76 deletions

View File

@@ -12,14 +12,7 @@ import { useNavigationContext } from "@app/hooks/useNavigationContext";
import { toast } from "@app/hooks/useToast";
import { createApiClient, formatAxiosError } from "@app/lib/api";
import { type PaginationState } from "@tanstack/react-table";
import {
ArrowDown01Icon,
ArrowUp10Icon,
ChevronsUpDownIcon,
MoreHorizontal,
PencilIcon,
PencilLineIcon
} from "lucide-react";
import { ArrowRight, MoreHorizontal } from "lucide-react";
import { useTranslations } from "next-intl";
import { usePathname, useRouter } from "next/navigation";
import { useActionState, useMemo, useState, useTransition } from "react";
@@ -109,7 +102,7 @@ export default function OrgLabelsTable({
cell: ({ row }) => (
<div className="flex items-center gap-1.5 group">
<div
className="size-2.5 rounded-full bg-(--color) flex-none"
className="size-2 rounded-full bg-(--color) flex-none"
style={{
// @ts-expect-error css color
"--color": row.original.color
@@ -125,34 +118,40 @@ export default function OrgLabelsTable({
enableHiding: false,
header: () => <span className="p-3"></span>,
cell: ({ row }) => (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="ghost" className="h-8 w-8 p-0">
<span className="sr-only">{t("openMenu")}</span>
<MoreHorizontal className="h-4 w-4" />
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="end">
<DropdownMenuItem
onClick={() => {
setSelectedLabel(row.original);
setIsEditModalOpen(true);
}}
>
{t("edit")}
</DropdownMenuItem>
<DropdownMenuItem
onClick={() => {
setSelectedLabel(row.original);
setIsDeleteModalOpen(true);
}}
>
<span className="text-red-500">
{t("delete")}
</span>
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
<div className="flex items-center gap-2 justify-end">
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="ghost" className="h-8 w-8 p-0">
<span className="sr-only">
{t("openMenu")}
</span>
<MoreHorizontal className="h-4 w-4" />
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="end">
<DropdownMenuItem
onClick={() => {
setSelectedLabel(row.original);
setIsDeleteModalOpen(true);
}}
>
<span className="text-red-500">
{t("delete")}
</span>
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
<Button
variant="outline"
onClick={() => {
setSelectedLabel(row.original);
setIsEditModalOpen(true);
}}
>
{t("edit")}
<ArrowRight className="ml-2 w-4 h-4" />
</Button>
</div>
)
}
],

View File

@@ -73,7 +73,9 @@ export function EditPolicyForm({
}
const policyTiers = tierMatrix[TierFeature.ResourcePolicies];
const isDisabled = !isPaidUser(policyTiers);
const isInlinePolicy = hidePolicyNameForm && resourceId === undefined;
const showPaidAlert = !isInlinePolicy;
const isDisabled = showPaidAlert && !isPaidUser(policyTiers);
const effectiveReadonly = readonly || isDisabled;
const authSection = (
@@ -100,7 +102,7 @@ export function EditPolicyForm({
if (section === "general") {
return (
<>
<PaidFeaturesAlert tiers={policyTiers} />
{showPaidAlert && <PaidFeaturesAlert tiers={policyTiers} />}
<div
className={
isDisabled
@@ -117,7 +119,7 @@ export function EditPolicyForm({
if (section === "authentication") {
return (
<>
<PaidFeaturesAlert tiers={policyTiers} />
{showPaidAlert && <PaidFeaturesAlert tiers={policyTiers} />}
<div
className={
isDisabled
@@ -134,7 +136,7 @@ export function EditPolicyForm({
if (section === "rules") {
return (
<>
<PaidFeaturesAlert tiers={policyTiers} />
{showPaidAlert && <PaidFeaturesAlert tiers={policyTiers} />}
<div
className={
isDisabled
@@ -150,7 +152,7 @@ export function EditPolicyForm({
return (
<>
<PaidFeaturesAlert tiers={policyTiers} />
{showPaidAlert && <PaidFeaturesAlert tiers={policyTiers} />}
<div
className={
isDisabled ? "pointer-events-none opacity-50" : undefined