sync: soul-admin 页面 | 原因: 前端页面修改

This commit is contained in:
卡若
2026-03-08 10:26:08 +08:00
parent b3fd87e5dc
commit 117d489cc5

View File

@@ -13,16 +13,28 @@ import { Badge } from '@/components/ui/badge'
import { import {
Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter, Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter,
} from '@/components/ui/dialog' } 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' import { get, post } from '@/api/client'
interface MatchType { interface MatchType {
id: string; label: string; matchLabel: string; icon: string id: string; label: string; matchLabel: string; icon: string
matchFromDB: boolean; showJoinAfterMatch: boolean; price: number; enabled: boolean matchFromDB: boolean; showJoinAfterMatch: boolean; price: number; enabled: boolean
} }
interface PoolSettings {
poolSource: 'vip' | 'all' | 'complete'
requirePhone: boolean
requireNickname: boolean
requireAvatar: boolean
requireBusiness: boolean
}
interface MatchConfig { interface MatchConfig {
matchTypes: MatchType[]; freeMatchLimit: number; matchPrice: number matchTypes: MatchType[]; freeMatchLimit: number; matchPrice: number
settings: { enableFreeMatches: boolean; enablePaidMatches: boolean; maxMatchesPerDay: 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 = { const DEFAULT_CONFIG: MatchConfig = {
@@ -34,6 +46,7 @@ const DEFAULT_CONFIG: MatchConfig = {
], ],
freeMatchLimit: 3, matchPrice: 1, freeMatchLimit: 3, matchPrice: 1,
settings: { enableFreeMatches: true, enablePaidMatches: true, maxMatchesPerDay: 10 }, settings: { enableFreeMatches: true, enablePaidMatches: true, maxMatchesPerDay: 10 },
poolSettings: DEFAULT_POOL,
} }
const ICONS = ['⭐', '👥', '❤️', '🎮', '💼', '🚀', '💡', '🎯', '🔥', '✨'] const ICONS = ['⭐', '👥', '❤️', '🎮', '💼', '🚀', '💡', '🎯', '🔥', '✨']