~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

The iOS app's tabs, statuses and actions use Octicons

Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:ios/octicons
ios/Knotless/API/Standing.swift+7−7
@@ -17,18 +17,18 @@ struct Standing: Equatable {
if s.may?.merge != true { after.append("Only the owner and collaborators merge it.") }
if s.state == "draft" {
return Standing(title: "Still a draft", icon: "pencil.circle", tone: .neutral, lines: ["It can't be merged or queued until it's marked ready for review."])
return Standing(title: "Still a draft", icon: "git-pull-request-draft", tone: .neutral, lines: ["It can't be merged or queued until it's marked ready for review."])
}
if s.state == "conflicting" {
return Standing(title: "Conflicts with \(base)", icon: "exclamationmark.triangle.fill", tone: .bad, lines: ["Merge \(base) into its branch, resolve the files that conflict, then push."])
return Standing(title: "Conflicts with \(base)", icon: "alert-fill", tone: .bad, lines: ["Merge \(base) into its branch, resolve the files that conflict, then push."])
}
if s.reviews == "blocked" {
let missing = (s.reviewsMissing ?? []).map { $0.text.prefix(1).uppercased() + $0.text.dropFirst() }
return Standing(title: "Review required", icon: "xmark.circle.fill", tone: .bad, lines: missing + after)
return Standing(title: "Review required", icon: "x-circle-fill", tone: .bad, lines: missing + after)
}
switch s.checks {
case "failed":
return Standing(title: "Checks failed", icon: "xmark.circle.fill", tone: .bad, lines: ["It can land once they pass. Fix what failed and push."] + after)
return Standing(title: "Checks failed", icon: "x-circle-fill", tone: .bad, lines: ["It can land once they pass. Fix what failed and push."] + after)
case "running":
let line = queues ? "It can land once they pass. Queued now, it lands then." : "It can land once they pass."
return Standing(title: "Checks are running", icon: "clock", tone: .waiting, lines: [line] + after)
@@ -41,10 +41,10 @@ struct Standing: Equatable {
break
}
if s.queueOnly == true {
return Standing(title: "Ready for the merge queue", icon: "checkmark.circle.fill", tone: .good, lines: ["\(base) takes pulls only through the merge queue."] + after)
return Standing(title: "Ready for the merge queue", icon: "check-circle-fill", tone: .good, lines: ["\(base) takes pulls only through the merge queue."] + after)
}
if s.state == "clean" {
return Standing(title: "Ready to merge", icon: "checkmark.circle.fill", tone: .good, lines: after)
return Standing(title: "Ready to merge", icon: "check-circle-fill", tone: .good, lines: after)
}
return Standing(title: "Not ready to merge", icon: "clock", tone: .waiting, lines: after)
}
@@ -58,7 +58,7 @@ struct Standing: Equatable {
why = why.replacingOccurrences(of: pattern, with: "", options: .regularExpression)
}
let line = why.prefix(1).uppercased() + why.dropFirst()
return Standing(title: "Taken out of the merge queue", icon: "xmark.circle.fill", tone: .bad, lines: line.isEmpty ? [] : [line])
return Standing(title: "Taken out of the merge queue", icon: "x-circle-fill", tone: .bad, lines: line.isEmpty ? [] : [line])
}
/// Whether the queue would take it, as the server would answer if asked.
ios/Knotless/Assets.xcassets/oct-alert-fill.imageset/alert-fill.svgnew+1−0
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575ZM8 5a.75.75 0 0 0-.75.75v2.5a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8 5Zm1 6a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z"/></svg>
\ No newline at end of file
ios/Knotless/Assets.xcassets/oct-alert-fill.imageset/Contents.jsonnew+1−0
@@ -0,0 +1 @@
{"images":[{"filename":"alert-fill.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
ios/Knotless/Assets.xcassets/oct-arrow-down.imageset/arrow-down.svgnew+1−0
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.03 8.22a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.47 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l2.97 2.97V3.75a.75.75 0 0 1 1.5 0v7.44l2.97-2.97a.75.75 0 0 1 1.06 0Z"/></svg>
\ No newline at end of file
ios/Knotless/Assets.xcassets/oct-arrow-down.imageset/Contents.jsonnew+1−0
@@ -0,0 +1 @@
{"images":[{"filename":"arrow-down.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
ios/Knotless/Assets.xcassets/oct-check-circle-fill.imageset/check-circle-fill.svgnew+1−0
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm3.78-9.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018L6.75 9.19 5.28 7.72a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l2 2a.75.75 0 0 0 1.06 0Z"/></svg>
\ No newline at end of file
ios/Knotless/Assets.xcassets/oct-check-circle-fill.imageset/Contents.jsonnew+1−0
@@ -0,0 +1 @@
{"images":[{"filename":"check-circle-fill.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
ios/Knotless/Assets.xcassets/oct-chevron-down.imageset/chevron-down.svgnew+1−0
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"/></svg>
\ No newline at end of file
ios/Knotless/Assets.xcassets/oct-chevron-down.imageset/Contents.jsonnew+1−0
@@ -0,0 +1 @@
{"images":[{"filename":"chevron-down.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
ios/Knotless/Assets.xcassets/oct-chevron-right.imageset/chevron-right.svgnew+1−0
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"/></svg>
\ No newline at end of file
ios/Knotless/Assets.xcassets/oct-chevron-right.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-chevron-up.imageset/chevron-up.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-chevron-up.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-clock.imageset/clock.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-clock.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-code.imageset/code.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-code.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-comment.imageset/comment.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-comment.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-file-directory.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-file-directory.imageset/file-directory.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-file.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-file.imageset/file.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-home-fill.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-home-fill.imageset/home-fill.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-inbox-fill.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-inbox-fill.imageset/inbox-fill.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-person-fill.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-person-fill.imageset/person-fill.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-smiley.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-smiley.imageset/smiley.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-telescope-fill.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-telescope-fill.imageset/telescope-fill.svgnew+1−0
ios/Knotless/Assets.xcassets/oct-x-circle-fill.imageset/Contents.jsonnew+1−0
ios/Knotless/Assets.xcassets/oct-x-circle-fill.imageset/x-circle-fill.svgnew+1−0
ios/Knotless/Views/CodeViews.swift+1−1
ios/Knotless/Views/RepoView.swift+3−3
ios/Knotless/Views/Shared.swift+11−1
ios/Knotless/Views/ThreadView.swift+12−12
ios/Knotless/Views/Writing.swift+2−2
ios/Knotless/App.swift+4−4