- Add StockDataSource to fetch quotes from Yahoo Finance API - Add StockSettingsStore for persisting user's stock symbols - Add StockSettingsView with UI to manage symbols (max 5) - Add STOCK feed item type and ranker weight (0.3) - Integrate stock fetch into ContextOrchestrator pipeline - Stock cards appear in FYI bucket and sync to Glass via BLE 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
48 lines
1.5 KiB
Swift
48 lines
1.5 KiB
Swift
//
|
|
// ContentView.swift
|
|
// iris
|
|
//
|
|
// Created by Kenneth on 06/01/2026.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct ContentView: View {
|
|
@EnvironmentObject private var orchestrator: ContextOrchestrator
|
|
@StateObject private var stockSettings = StockSettingsStore()
|
|
|
|
var body: some View {
|
|
TabView {
|
|
BleStatusView()
|
|
.tabItem { Label("BLE", systemImage: "dot.radiowaves.left.and.right") }
|
|
OrchestratorView()
|
|
.tabItem { Label("Orchestrator", systemImage: "bolt.horizontal.circle") }
|
|
TodosView()
|
|
.tabItem { Label("Todos", systemImage: "checklist") }
|
|
NavigationStack {
|
|
StockSettingsView(store: stockSettings)
|
|
}
|
|
.tabItem { Label("Stocks", systemImage: "chart.line.uptrend.xyaxis") }
|
|
SettingsView()
|
|
.tabItem { Label("Settings", systemImage: "gearshape") }
|
|
}
|
|
.onAppear { orchestrator.start() }
|
|
}
|
|
}
|
|
|
|
struct ContentView_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
if #available(iOS 16.0, *) {
|
|
let ble = BlePeripheralManager()
|
|
let spotifyAuth = SpotifyAuthManager()
|
|
let orchestrator = ContextOrchestrator(ble: ble, spotifyAuth: spotifyAuth)
|
|
ContentView()
|
|
.environmentObject(ble)
|
|
.environmentObject(orchestrator)
|
|
.environmentObject(spotifyAuth)
|
|
} else {
|
|
ContentView()
|
|
}
|
|
}
|
|
}
|