Merge pull request #310 from rizwankce/fix/empty-state-for-repo-overview

Adds empty state when no readme for repository
This commit is contained in:
Ryan Nystrom
2017-09-17 16:59:36 -04:00
committed by GitHub
2 changed files with 8 additions and 2 deletions

View File

@@ -10,11 +10,13 @@ import Foundation
enum RepositoryEmptyResultsType {
case readme
case issues
case pullRequests
var icon: UIImage? {
switch self {
case .readme: return UIImage(named: "file")
case .issues: return UIImage(named: "issue-opened")
case .pullRequests: return UIImage(named: "git-pull-request")
}
@@ -22,6 +24,7 @@ enum RepositoryEmptyResultsType {
var text: String {
switch self {
case .readme: return NSLocalizedString("Project has no README.", comment: "")
case .issues: return NSLocalizedString("There aren't any issues.", comment: "")
case .pullRequests: return NSLocalizedString("There aren't any pull requests.", comment: "")
}

View File

@@ -26,6 +26,7 @@ PrimaryViewController {
private let client: RepositoryClient
private lazy var feed: Feed = { Feed(viewController: self, delegate: self) }()
private let noReadmeResultsKey = "noReadmeResultsKey" as ListDiffable
private let noIssuesResultsKey = "noIssuesResultsKey" as ListDiffable
private let noPullRequestsResultsKey = "noPullRequestsResultsKey" as ListDiffable
@@ -142,7 +143,7 @@ PrimaryViewController {
if models.count == 0, feed.status == .idle {
switch dataSource.state {
case .readme: break
case .readme: builder.append(noReadmeResultsKey)
case .issues: builder.append(noIssuesResultsKey)
case .pullRequests: builder.append(noPullRequestsResultsKey)
}
@@ -157,7 +158,9 @@ PrimaryViewController {
// 28 is the default height of UISegmentedControl
let controlHeight = 28 + 2*Styles.Sizes.rowSpacing
if object === noIssuesResultsKey {
if object === noReadmeResultsKey {
return RepositoryEmptyResultsSectionController(topInset: controlHeight, topLayoutGuide: topLayoutGuide, type: .readme)
} else if object === noIssuesResultsKey {
return RepositoryEmptyResultsSectionController(topInset: controlHeight, topLayoutGuide: topLayoutGuide, type: .issues)
} else if object === noPullRequestsResultsKey {
return RepositoryEmptyResultsSectionController(topInset: controlHeight, topLayoutGuide: topLayoutGuide, type: .pullRequests)