|
|
@@ -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);
|
|
|
};
|