import SwiftUI import TipKit // MARK: - Feature discovery (TipKit, Calm 2.0 Fase 4) // // The app's most differentiating features (quick update, screenshot OCR, Siri, // chart sharing) were invisible unless you stumbled on them. One contextual tip // each, shown at most once a day (see Tips.configure in PortfolioJournalApp), // auto-invalidated after display or when the action is performed. struct QuickUpdateTip: Tip { var title: Text { Text(String(localized: "tip_quick_update_title")) } var message: Text? { Text(String(localized: "tip_quick_update_body")) } var image: Image? { Image(systemName: "bolt.circle.fill") } var options: [any TipOption] { [MaxDisplayCount(2)] } } struct ScreenshotOCRTip: Tip { var title: Text { Text(String(localized: "tip_ocr_title")) } var message: Text? { Text(String(localized: "tip_ocr_body")) } var image: Image? { Image(systemName: "text.viewfinder") } var options: [any TipOption] { [MaxDisplayCount(2)] } } struct SiriTip: Tip { var title: Text { Text(String(localized: "tip_siri_title")) } var message: Text? { Text(String(localized: "tip_siri_body")) } var image: Image? { Image(systemName: "mic.fill") } var options: [any TipOption] { [MaxDisplayCount(1)] } } struct ChartShareTip: Tip { var title: Text { Text(String(localized: "tip_chart_share_title")) } var message: Text? { Text(String(localized: "tip_chart_share_body")) } var image: Image? { Image(systemName: "square.and.arrow.up") } var options: [any TipOption] { [MaxDisplayCount(2)] } }