Files
multica/apps/ios/Multica/Views/Components/StatusBadge.swift
Jiayuan 31c2476a7b feat(ios): add MVP iOS app with issue management and agent log viewing
SwiftUI app (iOS 17+) with zero third-party dependencies:
- Passwordless email authentication with Keychain token storage
- Workspace selection and multi-workspace support
- Issue list grouped by status with search and filtering
- Issue detail with inline status/priority/assignee editing
- Comments with threaded display and compose
- Agent task runs history and real-time execution log streaming
- WebSocket integration for live updates
2026-04-02 23:50:28 +08:00

47 lines
1.0 KiB
Swift

import SwiftUI
struct StatusBadge: View {
let status: IssueStatus
var body: some View {
Label(status.label, systemImage: status.iconName)
.font(.caption)
.foregroundStyle(statusColor)
}
private var statusColor: Color {
switch status {
case .backlog: .gray
case .todo: .primary
case .inProgress: .yellow
case .inReview: .blue
case .done: .green
case .blocked: .red
case .cancelled: .gray
}
}
}
struct StatusIcon: View {
let status: IssueStatus
var size: CGFloat = 16
var body: some View {
Image(systemName: status.iconName)
.font(.system(size: size))
.foregroundStyle(statusColor)
}
private var statusColor: Color {
switch status {
case .backlog: .gray
case .todo: .primary
case .inProgress: .yellow
case .inReview: .blue
case .done: .green
case .blocked: .red
case .cancelled: .gray
}
}
}