mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-23 10:08:38 +02:00
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
47 lines
1.0 KiB
Swift
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
|
|
}
|
|
}
|
|
}
|