forked from zelo72/mastodon-ios
fix: color in Light Mode, fix search result disappear when push new page
This commit is contained in:
parent
ae20a29013
commit
a007b7a980
|
@ -44,6 +44,7 @@ internal enum Asset {
|
||||||
internal static let mediaTypeIndicotor = ColorAsset(name: "Colors/Background/media.type.indicotor")
|
internal static let mediaTypeIndicotor = ColorAsset(name: "Colors/Background/media.type.indicotor")
|
||||||
internal static let navigationBar = ColorAsset(name: "Colors/Background/navigationBar")
|
internal static let navigationBar = ColorAsset(name: "Colors/Background/navigationBar")
|
||||||
internal static let onboardingBackground = ColorAsset(name: "Colors/Background/onboarding.background")
|
internal static let onboardingBackground = ColorAsset(name: "Colors/Background/onboarding.background")
|
||||||
|
internal static let searchResult = ColorAsset(name: "Colors/Background/searchResult")
|
||||||
internal static let secondaryGroupedSystemBackground = ColorAsset(name: "Colors/Background/secondary.grouped.system.background")
|
internal static let secondaryGroupedSystemBackground = ColorAsset(name: "Colors/Background/secondary.grouped.system.background")
|
||||||
internal static let secondarySystemBackground = ColorAsset(name: "Colors/Background/secondary.system.background")
|
internal static let secondarySystemBackground = ColorAsset(name: "Colors/Background/secondary.system.background")
|
||||||
internal static let systemBackground = ColorAsset(name: "Colors/Background/system.background")
|
internal static let systemBackground = ColorAsset(name: "Colors/Background/system.background")
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"colors" : [
|
||||||
|
{
|
||||||
|
"color" : {
|
||||||
|
"color-space" : "srgb",
|
||||||
|
"components" : {
|
||||||
|
"alpha" : "1.000",
|
||||||
|
"blue" : "0xFE",
|
||||||
|
"green" : "0xFF",
|
||||||
|
"red" : "0xFE"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"idiom" : "universal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearances" : [
|
||||||
|
{
|
||||||
|
"appearance" : "luminosity",
|
||||||
|
"value" : "dark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"color" : {
|
||||||
|
"color-space" : "srgb",
|
||||||
|
"components" : {
|
||||||
|
"alpha" : "1.000",
|
||||||
|
"blue" : "0x00",
|
||||||
|
"green" : "0x00",
|
||||||
|
"red" : "0x00"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"idiom" : "universal"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -77,7 +77,7 @@ final class SearchViewController: UIViewController, NeedsDependency {
|
||||||
// searching
|
// searching
|
||||||
let searchingTableView: UITableView = {
|
let searchingTableView: UITableView = {
|
||||||
let tableView = UITableView()
|
let tableView = UITableView()
|
||||||
tableView.backgroundColor = Asset.Colors.Background.systemGroupedBackground.color
|
tableView.backgroundColor = Asset.Colors.Background.searchResult.color
|
||||||
tableView.rowHeight = UITableView.automaticDimension
|
tableView.rowHeight = UITableView.automaticDimension
|
||||||
tableView.separatorStyle = .singleLine
|
tableView.separatorStyle = .singleLine
|
||||||
tableView.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
|
tableView.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
|
||||||
|
|
|
@ -106,27 +106,27 @@ final class SearchViewModel: NSObject {
|
||||||
isSearching
|
isSearching
|
||||||
}
|
}
|
||||||
.sink { [weak self] _, text, scope in
|
.sink { [weak self] _, text, scope in
|
||||||
|
guard text.isEmpty else { return }
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
guard let searchHistories = self.fetchSearchHistory() else { return }
|
guard let searchHistories = self.fetchSearchHistory() else { return }
|
||||||
guard let dataSource = self.searchResultDiffableDataSource else { return }
|
guard let dataSource = self.searchResultDiffableDataSource else { return }
|
||||||
var snapshot = NSDiffableDataSourceSnapshot<SearchResultSection, SearchResultItem>()
|
var snapshot = NSDiffableDataSourceSnapshot<SearchResultSection, SearchResultItem>()
|
||||||
if text.isEmpty {
|
snapshot.appendSections([.mixed])
|
||||||
snapshot.appendSections([.mixed])
|
|
||||||
|
searchHistories.forEach { searchHistory in
|
||||||
searchHistories.forEach { searchHistory in
|
let containsAccount = scope == Mastodon.API.Search.SearchType.accounts || scope == Mastodon.API.Search.SearchType.default
|
||||||
let containsAccount = scope == Mastodon.API.Search.SearchType.accounts || scope == Mastodon.API.Search.SearchType.default
|
let containsHashTag = scope == Mastodon.API.Search.SearchType.hashtags || scope == Mastodon.API.Search.SearchType.default
|
||||||
let containsHashTag = scope == Mastodon.API.Search.SearchType.hashtags || scope == Mastodon.API.Search.SearchType.default
|
if let mastodonUser = searchHistory.account, containsAccount {
|
||||||
if let mastodonUser = searchHistory.account, containsAccount {
|
let item = SearchResultItem.accountObjectID(accountObjectID: mastodonUser.objectID)
|
||||||
let item = SearchResultItem.accountObjectID(accountObjectID: mastodonUser.objectID)
|
snapshot.appendItems([item], toSection: .mixed)
|
||||||
snapshot.appendItems([item], toSection: .mixed)
|
}
|
||||||
}
|
if let tag = searchHistory.hashtag, containsHashTag {
|
||||||
if let tag = searchHistory.hashtag, containsHashTag {
|
let item = SearchResultItem.hashtagObjectID(hashtagObjectID: tag.objectID)
|
||||||
let item = SearchResultItem.hashtagObjectID(hashtagObjectID: tag.objectID)
|
snapshot.appendItems([item], toSection: .mixed)
|
||||||
snapshot.appendItems([item], toSection: .mixed)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dataSource.apply(snapshot, animatingDifferences: false, completion: nil)
|
dataSource.apply(snapshot, animatingDifferences: false, completion: nil)
|
||||||
|
|
||||||
}
|
}
|
||||||
.store(in: &disposeBag)
|
.store(in: &disposeBag)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue