1
0
forked from baron/baron-sso

feat: enhance tenant admin experience with form locking and column visibility settings

This commit is contained in:
2026-03-04 13:55:54 +09:00
parent 88720b48c4
commit 2b4b40c0d9
3 changed files with 105 additions and 6 deletions

View File

@@ -50,10 +50,16 @@ function UserCreatePage() {
});
const tenants = tenantsData?.items ?? [];
const { data: profile } = useQuery({
queryKey: ["me"],
queryFn: fetchMe,
});
const {
register,
handleSubmit,
watch,
setValue,
formState: { errors },
} = useForm<UserFormValues>({
defaultValues: {
@@ -70,6 +76,13 @@ function UserCreatePage() {
},
});
// Lock company for tenant_admin
React.useEffect(() => {
if (profile?.role === "tenant_admin" && profile.companyCode) {
setValue("companyCode", profile.companyCode);
}
}, [profile, setValue]);
const selectedCompanyCode = watch("companyCode");
const selectedTenant = tenants.find((t) => t.slug === selectedCompanyCode);
@@ -352,6 +365,7 @@ function UserCreatePage() {
id="companyCode"
className="flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50"
{...register("companyCode")}
disabled={profile?.role === "tenant_admin"}
>
<option value="">
{t(