From 117d489cc57e3245c46bb2fcf6c6582ecc10098b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A1=E8=8B=A5?= Date: Sun, 8 Mar 2026 10:26:08 +0800 Subject: [PATCH] =?UTF-8?q?sync:=20soul-admin=20=E9=A1=B5=E9=9D=A2=20|=20?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0:=20=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/find-partner/tabs/MatchPoolTab.tsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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 = ['⭐', '👥', '❤️', '🎮', '💼', '🚀', '💡', '🎯', '🔥', '✨']