Files
frp-panel/www/components/base/server-selector.tsx
VaalaCat cdbaf032e7 feat: add traffic statistics
fix: frontend proxy config cache is not cleared when change client id
2024-11-30 05:27:49 +00:00

33 lines
1.1 KiB
TypeScript

import React from 'react'
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'
import { useQuery } from '@tanstack/react-query'
import { listServer } from '@/api/server'
import { Combobox } from './combobox'
export interface ServerSelectorProps {
serverID?: string
setServerID: (serverID: string) => void
onOpenChange?: () => void
}
export const ServerSelector: React.FC<ServerSelectorProps> = ({ serverID, setServerID, onOpenChange }) => {
const handleServerChange = (value: string) => { setServerID(value) }
const { data: serverList, refetch: refetchServers } = useQuery({
queryKey: ['listServer'],
queryFn: () => {
return listServer({ page: 1, pageSize: 50, keyword: '' })
},
})
return (<Combobox
placeholder='服务端名称'
value={serverID}
setValue={handleServerChange}
dataList={serverList?.servers.map((server) => ({ value: server.id || '', label: server.id || '' })) || []}
onOpenChange={() => {
onOpenChange && onOpenChange()
refetchServers()
}}
/>)
}