import type {TrackingScopeKind} from '../api/adminApiTypes'; export interface AdminTrackingEventDefinition { key: string; title: string; scopeKind: TrackingScopeKind; remark: string; } export const adminTrackingEventDefinitions: AdminTrackingEventDefinition[] = [ { key: 'daily_login', title: '每日登录', scopeKind: 'user', remark: '用户打开任务中心时由后端幂等记录,用于每日登录任务进度校验。', }, ]; export function findAdminTrackingEventDefinition(eventKey: string) { const normalizedEventKey = eventKey.trim(); return ( adminTrackingEventDefinitions.find( (definition) => definition.key === normalizedEventKey, ) ?? null ); } export function filterAdminTrackingEventDefinitions(query: string) { const normalizedQuery = query.trim().toLowerCase(); if (!normalizedQuery) { return adminTrackingEventDefinitions; } return adminTrackingEventDefinitions.filter((definition) => { const haystack = [ definition.key, definition.title, definition.scopeKind, definition.remark, ] .join(' ') .toLowerCase(); return haystack.includes(normalizedQuery); }); }