Unified · Split
| @@ -50,27 +50,24 @@ struct MenuDescriptor { · 49 unmodified lines | |||
| 50 | func usageSection(for provider: UsageProvider, titlePrefix: String) -> Section { | 50 | func usageSection(for provider: UsageProvider, titlePrefix: String) -> Section { |
| 51 | let meta = store.metadata(for: provider) | 51 | let meta = store.metadata(for: provider) |
| 52 | var entries: [Entry] = [] | 52 | var entries: [Entry] = [] |
| 53 | let headline = { (text: String) in Entry.text("\(meta.displayName) · \(text)", .headline) } | 53 | let headline = Entry.text(meta.displayName, .headline) |
| 54 | 54 | ||
| 55 | entries.append(headline(meta.sessionLabel)) | 55 | entries.append(headline) |
| 56 | if let snap = store.snapshot(for: provider) { | 56 | if let snap = store.snapshot(for: provider) { |
| 57 | entries.append(.text( | 57 | let sessionLine = UsageFormatter |
| 58 | UsageFormatter.usageLine(remaining: snap.primary.remainingPercent, used: snap.primary.usedPercent), | 58 | .usageLine(remaining: snap.primary.remainingPercent, used: snap.primary.usedPercent) |
| 59 | .primary)) | 59 | entries.append(.text("\(meta.sessionLabel): \(sessionLine)", .primary)) |
| 60 | if let reset = snap.primary.resetDescription { entries.append(.text("Resets \(reset)", .secondary)) } | 60 | if let reset = snap.primary.resetDescription { entries.append(.text("Resets \(reset)", .secondary)) } |
| 61 | 61 | ||
| 62 | entries.append(headline(meta.weeklyLabel)) | 62 | let weeklyLine = UsageFormatter |
| 63 | entries.append(.text( | 63 | .usageLine(remaining: snap.secondary.remainingPercent, used: snap.secondary.usedPercent) |
| 64 | UsageFormatter | 64 | entries.append(.text("\(meta.weeklyLabel): \(weeklyLine)", .primary)) |
| 65 | .usageLine(remaining: snap.secondary.remainingPercent, used: snap.secondary.usedPercent), | ||
| 66 | .primary)) | ||
| 67 | if let reset = snap.secondary.resetDescription { entries.append(.text("Resets \(reset)", .secondary)) } | 65 | if let reset = snap.secondary.resetDescription { entries.append(.text("Resets \(reset)", .secondary)) } |
| 68 | 66 | ||
| 69 | if meta.supportsOpus, let opus = snap.tertiary { | 67 | if meta.supportsOpus, let opus = snap.tertiary { |
| 70 | entries.append(headline(meta.opusLabel ?? "Opus")) | 68 | let opusTitle = meta.opusLabel ?? "Opus" |
| 71 | entries.append(.text( | 69 | let opusLine = UsageFormatter.usageLine(remaining: opus.remainingPercent, used: opus.usedPercent) |
| 72 | UsageFormatter.usageLine(remaining: opus.remainingPercent, used: opus.usedPercent), | 70 | entries.append(.text("\(opusTitle): \(opusLine)", .primary)) |
| 73 | .primary)) | ||
| 74 | if let reset = opus.resetDescription { entries.append(.text("Resets \(reset)", .secondary)) } | 71 | if let reset = opus.resetDescription { entries.append(.text("Resets \(reset)", .secondary)) } |
| 75 | } | 72 | } |
| 76 | 73 | ||