Explorar el Código

🔧 fix(ui-components): 统一共享UI组件导入规范

- 修复所有UI包中的不规范导入,从根导入改为具体组件路径导入
- 遵循故事007.017任务3中规定的导入规范
- 受影响包:tenant-management-ui、auth-management-ui、auth-management-ui-mt
- 统一使用 @d8d/shared-ui-components/components/ui/组件名 格式

🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname hace 1 mes
padre
commit
961e2d0d62

+ 4 - 4
packages/auth-management-ui-mt/src/components/LoginPage.tsx

@@ -6,10 +6,10 @@ import { zodResolver } from '@hookform/resolvers/zod';
 import { z } from 'zod';
 import { toast } from 'sonner';
 import { Eye, EyeOff, User, Lock, Building } from 'lucide-react';
-import { Button } from '@d8d/shared-ui-components';
-import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@d8d/shared-ui-components';
-import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@d8d/shared-ui-components';
-import { Input } from '@d8d/shared-ui-components';
+import { Button } from '@d8d/shared-ui-components/components/ui/button';
+import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@d8d/shared-ui-components/components/ui/card';
+import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@d8d/shared-ui-components/components/ui/form';
+import { Input } from '@d8d/shared-ui-components/components/ui/input';
 
 // 表单验证Schema
 const loginSchema = z.object({

+ 4 - 4
packages/auth-management-ui/src/components/LoginPage.tsx

@@ -6,10 +6,10 @@ import { zodResolver } from '@hookform/resolvers/zod';
 import { z } from 'zod';
 import { toast } from 'sonner';
 import { Eye, EyeOff, User, Lock } from 'lucide-react';
-import { Button } from '@d8d/shared-ui-components';
-import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@d8d/shared-ui-components';
-import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@d8d/shared-ui-components';
-import { Input } from '@d8d/shared-ui-components';
+import { Button } from '@d8d/shared-ui-components/components/ui/button';
+import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@d8d/shared-ui-components/components/ui/card';
+import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@d8d/shared-ui-components/components/ui/form';
+import { Input } from '@d8d/shared-ui-components/components/ui/input';
 
 // 表单验证Schema
 const loginSchema = z.object({

+ 1 - 1
packages/tenant-management-ui/src/components/DataTablePagination.tsx

@@ -7,7 +7,7 @@ import {
   PaginationLink,
   PaginationNext,
   PaginationPrevious,
-} from '@d8d/shared-ui-components';
+} from '@d8d/shared-ui-components/components/ui/pagination';
 
 interface DataTablePaginationProps {
   currentPage: number;

+ 8 - 4
packages/tenant-management-ui/src/components/TenantForm.tsx

@@ -2,7 +2,11 @@ import React from 'react';
 import { useForm } from 'react-hook-form';
 import { zodResolver } from '@hookform/resolvers/zod';
 import { CreateTenantDto, UpdateTenantDto } from '@d8d/tenant-module-mt/schemas';
-import { Button, Input, Textarea, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Switch } from '@d8d/shared-ui-components';
+import { Button } from '@d8d/shared-ui-components/components/ui/button';
+import { Input } from '@d8d/shared-ui-components/components/ui/input';
+import { Textarea } from '@d8d/shared-ui-components/components/ui/textarea';
+import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from '@d8d/shared-ui-components/components/ui/form';
+import { Switch } from '@d8d/shared-ui-components/components/ui/switch';
 import type { InferResponseType } from 'hono/client';
 import type { tenantClient } from '@/api/tenantClient';
 
@@ -10,7 +14,7 @@ type TenantResponse = InferResponseType<typeof tenantClient.index.$get, 200>['da
 
 interface TenantFormProps {
   tenant?: TenantResponse;
-  onSubmit: (data: any) => Promise<void>;
+  onSubmit: (data: Record<string, unknown>) => Promise<void>;
   onCancel: () => void;
   isSubmitting?: boolean;
 }
@@ -37,10 +41,10 @@ export const TenantForm: React.FC<TenantFormProps> = ({
     },
   });
 
-  const handleSubmit = async (data: any) => {
+  const handleSubmit = async (data: Record<string, unknown>) => {
     // 过滤空值
     const submitData = Object.fromEntries(
-      Object.entries(data).filter(([_, value]) => {
+      Object.entries(data).filter(([, value]) => {
         if (value === '' || value === null) return false;
         if (typeof value === 'string' && value.trim() === '') return false;
         return true;

+ 14 - 3
packages/tenant-management-ui/src/components/TenantsPage.tsx

@@ -4,7 +4,18 @@ import { format } from 'date-fns';
 import { Plus, Search, Edit, Trash2, Filter, X } from 'lucide-react';
 import { tenantClient } from '@/api/tenantClient';
 import type { InferRequestType, InferResponseType } from 'hono/client';
-import { Button, Input, Card, CardContent, CardDescription, CardHeader, CardTitle, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Badge, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Skeleton, Switch, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Popover, PopoverContent, PopoverTrigger, Calendar } from '@d8d/shared-ui-components';
+import { Button } from '@d8d/shared-ui-components/components/ui/button';
+import { Input } from '@d8d/shared-ui-components/components/ui/input';
+import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@d8d/shared-ui-components/components/ui/card';
+import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@d8d/shared-ui-components/components/ui/table';
+import { Badge } from '@d8d/shared-ui-components/components/ui/badge';
+import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from '@d8d/shared-ui-components/components/ui/dialog';
+import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from '@d8d/shared-ui-components/components/ui/form';
+import { Skeleton } from '@d8d/shared-ui-components/components/ui/skeleton';
+import { Switch } from '@d8d/shared-ui-components/components/ui/switch';
+import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@d8d/shared-ui-components/components/ui/select';
+import { Popover, PopoverContent, PopoverTrigger } from '@d8d/shared-ui-components/components/ui/popover';
+import { Calendar } from '@d8d/shared-ui-components/components/ui/calendar';
 import { DataTablePagination } from '@/components/DataTablePagination';
 import { useForm } from 'react-hook-form';
 import { zodResolver } from '@hookform/resolvers/zod';
@@ -102,9 +113,9 @@ export const TenantsPage = () => {
   const totalCount = tenantsData?.pagination?.total || 0;
 
   // 防抖搜索函数
-  const debounce = (func: Function, delay: number) => {
+  const debounce = <T extends (...args: unknown[]) => void>(func: T, delay: number) => {
     let timeoutId: NodeJS.Timeout;
-    return (...args: any[]) => {
+    return (...args: Parameters<T>) => {
       clearTimeout(timeoutId);
       timeoutId = setTimeout(() => func(...args), delay);
     };