diff --git a/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx b/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx index c9de2a69..378f1897 100644 --- a/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx +++ b/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx @@ -13,16 +13,28 @@ import { Badge } from '@/components/ui/badge' import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter, } from '@/components/ui/dialog' -import { Save, RefreshCw, Edit3, Plus, Trash2, Users, Zap } from 'lucide-react' +import { Save, RefreshCw, Edit3, Plus, Trash2, Users, Zap, Filter } from 'lucide-react' import { get, post } from '@/api/client' interface MatchType { id: string; label: string; matchLabel: string; icon: string matchFromDB: boolean; showJoinAfterMatch: boolean; price: number; enabled: boolean } +interface PoolSettings { + poolSource: 'vip' | 'all' | 'complete' + requirePhone: boolean + requireNickname: boolean + requireAvatar: boolean + requireBusiness: boolean +} interface MatchConfig { matchTypes: MatchType[]; freeMatchLimit: number; matchPrice: number settings: { enableFreeMatches: boolean; enablePaidMatches: boolean; maxMatchesPerDay: number } + poolSettings?: PoolSettings +} + +const DEFAULT_POOL: PoolSettings = { + poolSource: 'vip', requirePhone: true, requireNickname: true, requireAvatar: false, requireBusiness: false, } const DEFAULT_CONFIG: MatchConfig = { @@ -34,6 +46,7 @@ const DEFAULT_CONFIG: MatchConfig = { ], freeMatchLimit: 3, matchPrice: 1, settings: { enableFreeMatches: true, enablePaidMatches: true, maxMatchesPerDay: 10 }, + poolSettings: DEFAULT_POOL, } const ICONS = ['⭐', '👥', '❤️', '🎮', '💼', '🚀', '💡', '🎯', '🔥', '✨']