// // AppShortcuts.swift // Haru_Danim // // 시리에서 바로 부를 수 있는 대표 단축어 문구 (CLAUDE.md §10) // import AppIntents struct HaruDanimShortcuts: AppShortcutsProvider { // 행동 이름이 든 문구(\(\.$action))는 "시리야, 하루 다님에서 독서 측정 시작"처럼 // 되묻지 않고 한 번에 실행된다. 행동 목록이 바뀌면 시리 어휘를 갱신해야 하므로 // 앱 시작 시 updateAppShortcutParameters()를 호출한다 (Haru_DanimApp.init). // 문구 번역은 IOS/AppShortcuts.xcstrings (일반 문자열 카탈로그와 별개 파일). static var appShortcuts: [AppShortcut] { AppShortcut( intent: StartTimeActionIntent(), phrases: [ "\(.applicationName)에서 측정 시작", "\(.applicationName) 시간 측정 시작해 줘", "\(.applicationName)에서 \(\.$action) 측정 시작", "\(.applicationName)에서 \(\.$action) 시작해 줘", ], shortTitle: "측정 시작", systemImageName: "play.circle.fill" ) AppShortcut( intent: StopTimeActionIntent(), phrases: [ "\(.applicationName)에서 측정 종료", "\(.applicationName) 시간 측정 끝내 줘", "\(.applicationName)에서 \(\.$action) 측정 종료", "\(.applicationName)에서 \(\.$action) 끝내 줘", ], shortTitle: "측정 종료", systemImageName: "stop.circle.fill" ) AppShortcut( intent: AddCountIntent(), phrases: [ "\(.applicationName)에서 횟수 추가", "\(.applicationName)에 기록 추가해 줘", "\(.applicationName)에서 \(\.$action) 횟수 추가", "\(.applicationName)에 \(\.$action) 기록해 줘", ], shortTitle: "횟수 추가", systemImageName: "plus.circle.fill" ) AppShortcut( intent: GoalProgressIntent(), phrases: [ "\(.applicationName) 목표 진행률 알려 줘", ], shortTitle: "목표 진행률", systemImageName: "flag.checkered" ) } }