forked from baron/baron-sso
fix(adminfront): resolve biome accessibility and typing lints
This commit is contained in:
@@ -127,8 +127,9 @@ const SidebarNode: React.FC<{
|
||||
|
||||
return (
|
||||
<div className="flex flex-col">
|
||||
<div
|
||||
className={`flex items-center group px-2 py-1.5 rounded-md cursor-pointer transition-colors ${
|
||||
<button
|
||||
type="button"
|
||||
className={`w-full text-left flex items-center group px-2 py-1.5 rounded-md cursor-pointer transition-colors ${
|
||||
isSelected
|
||||
? "bg-primary text-primary-foreground font-semibold"
|
||||
: "hover:bg-muted/60 text-muted-foreground hover:text-foreground"
|
||||
@@ -174,7 +175,7 @@ const SidebarNode: React.FC<{
|
||||
>
|
||||
{node.recursiveMemberCount}
|
||||
</Badge>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
{isExpanded && hasChildren && (
|
||||
<div className="flex flex-col">
|
||||
@@ -233,7 +234,7 @@ const MemberTable: React.FC<{
|
||||
<TableHead className="text-right">
|
||||
{t("ui.admin.users.table.role", "역할")}
|
||||
</TableHead>
|
||||
<TableHead className="w-[50px]"></TableHead>
|
||||
<TableHead className="w-[50px]" />
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
@@ -307,22 +308,22 @@ function TenantUserGroupsTab() {
|
||||
return buildTenantFullTree(allItems, tenantId);
|
||||
}, [allTenantsData, tenantId]);
|
||||
|
||||
// Find selected node in the built tree
|
||||
const findNode = (nodes: TenantNode[], id: string): TenantNode | null => {
|
||||
if (!currentBase) return null;
|
||||
if (currentBase.id === id) return currentBase;
|
||||
|
||||
for (const node of nodes) {
|
||||
if (node.id === id) return node;
|
||||
if (node.children.length > 0) {
|
||||
const found = findNode(node.children, id);
|
||||
if (found) return found;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
const selectedNode = useMemo(() => {
|
||||
// Find selected node in the built tree
|
||||
const findNode = (nodes: TenantNode[], id: string): TenantNode | null => {
|
||||
if (!currentBase) return null;
|
||||
if (currentBase.id === id) return currentBase;
|
||||
|
||||
for (const node of nodes) {
|
||||
if (node.id === id) return node;
|
||||
if (node.children.length > 0) {
|
||||
const found = findNode(node.children, id);
|
||||
if (found) return found;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
if (!currentBase) return null;
|
||||
return findNode(currentBase.children, selectedNodeId) || currentBase;
|
||||
}, [currentBase, selectedNodeId]);
|
||||
@@ -707,9 +708,10 @@ const UserAddDialog: React.FC<{
|
||||
toast.success(t("msg.info.saved_success", "사용자가 배정되었습니다."));
|
||||
onOpenChange(false);
|
||||
resetFields();
|
||||
} catch (err: any) {
|
||||
} catch (err) {
|
||||
const error = err as AxiosError<{ error?: string }>;
|
||||
toast.error(
|
||||
err.response?.data?.error ||
|
||||
error.response?.data?.error ||
|
||||
t("msg.admin.users.detail.update_error", "배정 실패"),
|
||||
);
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user