♻️ only select one role in CE and if user is non paying

This commit is contained in:
Fred KISSIE
2026-05-04 20:47:00 +02:00
parent 30e627cca8
commit 49d22498fc

View File

@@ -5,6 +5,8 @@ import { useDebounce } from "use-debounce";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { MultiSelectTagInput } from "./multi-select/multi-select-tag-input"; import { MultiSelectTagInput } from "./multi-select/multi-select-tag-input";
import { usePaidStatus } from "@app/hooks/usePaidStatus";
import { TierFeature, tierMatrix } from "@server/lib/billing/tierMatrix";
export type SelectedRole = { id: string; text: string }; export type SelectedRole = { id: string; text: string };
@@ -27,6 +29,8 @@ export function RolesSelector({
mapRolesByName, mapRolesByName,
buttonText buttonText
}: RolesSelectorProps) { }: RolesSelectorProps) {
const { isPaidUser } = usePaidStatus();
const canSelectMultipleUsers = isPaidUser(tierMatrix.fullRbac);
const t = useTranslations(); const t = useTranslations();
const [roleSearchQuery, setRoleSearchQuery] = useState(""); const [roleSearchQuery, setRoleSearchQuery] = useState("");
@@ -74,7 +78,13 @@ export function RolesSelector({
onSearch={setRoleSearchQuery} onSearch={setRoleSearchQuery}
options={rolesShown} options={rolesShown}
value={selectedRoles} value={selectedRoles}
onChange={onSelectRoles} onChange={(newRoles) => {
let roles = canSelectMultipleUsers
? [...newRoles]
: [newRoles[0]];
onSelectRoles(roles);
}}
disabled={disabled} disabled={disabled}
/> />
); );