feat: add mobile shell and unified search
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Failing after 50s
ci / 워크스페이스 빌드 검증 (push) Has been skipped
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 20s
ci / .NET API 서버 테스트 (push) Successful in 12s
deploy-site / deploy (push) Successful in 39s
ci / 모바일 린트·타입·Jest (push) Failing after 3h10m31s

This commit is contained in:
Yun Chan 2026-09-28 23:23:36 +09:00
parent f505a03d34
commit 5ca3709b32
98 changed files with 5168 additions and 2093 deletions

View file

@ -154,6 +154,10 @@ export const IPC_CHANNELS = {
ADDED: 'history:added'
},
UNIFIED_SEARCH: {
QUERY: 'unifiedSearch:query'
},
DICTIONARY: {
GET_ALL: 'dictionary:getAll',
ADD: 'dictionary:add',

View file

@ -673,6 +673,37 @@ export interface HistorySearchParams {
pageSize: number
}
// ============================================================
// Unified search (기록 + 회의)
// ============================================================
export type UnifiedSearchSource = 'record' | 'meeting'
export type UnifiedSearchMatchedField = 'title' | 'content' | 'transcript'
/**
* 기록과 회의를 한 목록에 표시하기 위한 읽기 전용 검색 결과.
* 원본 데이터는 합치지 않고 source + id 로 각 상세 화면에 연결한다.
*/
export interface UnifiedSearchResult {
source: UnifiedSearchSource
id: string
title: string | null
excerpt: string
matchedField: UnifiedSearchMatchedField
occurredAt: number
}
export interface UnifiedSearchParams {
query: string
limit?: number
}
export interface UnifiedSearchResponse {
query: string
results: UnifiedSearchResult[]
total: number
}
export interface HistoryExportParams {
format: 'json' | 'csv'
from?: string