chore: update sidebar color and Detail placeholder background color
This commit is contained in:
parent
ad0df8542e
commit
9104602893
|
@ -575,6 +575,7 @@
|
||||||
DBF156DF2701B17600EC00B7 /* SidebarAddAccountCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF156DE2701B17600EC00B7 /* SidebarAddAccountCollectionViewCell.swift */; };
|
DBF156DF2701B17600EC00B7 /* SidebarAddAccountCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF156DE2701B17600EC00B7 /* SidebarAddAccountCollectionViewCell.swift */; };
|
||||||
DBF156E22702DA6900EC00B7 /* UIStatusBarManager+HandleTapAction.m in Sources */ = {isa = PBXBuildFile; fileRef = DBF156E12702DA6900EC00B7 /* UIStatusBarManager+HandleTapAction.m */; };
|
DBF156E22702DA6900EC00B7 /* UIStatusBarManager+HandleTapAction.m in Sources */ = {isa = PBXBuildFile; fileRef = DBF156E12702DA6900EC00B7 /* UIStatusBarManager+HandleTapAction.m */; };
|
||||||
DBF156E42702DB3F00EC00B7 /* HandleTapAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF156E32702DB3F00EC00B7 /* HandleTapAction.swift */; };
|
DBF156E42702DB3F00EC00B7 /* HandleTapAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF156E32702DB3F00EC00B7 /* HandleTapAction.swift */; };
|
||||||
|
DBF1572F27046F1A00EC00B7 /* SecondaryPlaceholderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF1572E27046F1A00EC00B7 /* SecondaryPlaceholderViewController.swift */; };
|
||||||
DBF1D24E269DAF5D00C1C08A /* SearchDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF1D24D269DAF5D00C1C08A /* SearchDetailViewController.swift */; };
|
DBF1D24E269DAF5D00C1C08A /* SearchDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF1D24D269DAF5D00C1C08A /* SearchDetailViewController.swift */; };
|
||||||
DBF1D251269DB01200C1C08A /* SearchHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF1D250269DB01200C1C08A /* SearchHistoryViewController.swift */; };
|
DBF1D251269DB01200C1C08A /* SearchHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF1D250269DB01200C1C08A /* SearchHistoryViewController.swift */; };
|
||||||
DBF1D257269DBAC600C1C08A /* SearchDetailViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF1D256269DBAC600C1C08A /* SearchDetailViewModel.swift */; };
|
DBF1D257269DBAC600C1C08A /* SearchDetailViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF1D256269DBAC600C1C08A /* SearchDetailViewModel.swift */; };
|
||||||
|
@ -1360,6 +1361,7 @@
|
||||||
DBF156E02702DA6800EC00B7 /* Mastodon-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Mastodon-Bridging-Header.h"; sourceTree = "<group>"; };
|
DBF156E02702DA6800EC00B7 /* Mastodon-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Mastodon-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||||
DBF156E12702DA6900EC00B7 /* UIStatusBarManager+HandleTapAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIStatusBarManager+HandleTapAction.m"; sourceTree = "<group>"; };
|
DBF156E12702DA6900EC00B7 /* UIStatusBarManager+HandleTapAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIStatusBarManager+HandleTapAction.m"; sourceTree = "<group>"; };
|
||||||
DBF156E32702DB3F00EC00B7 /* HandleTapAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HandleTapAction.swift; sourceTree = "<group>"; };
|
DBF156E32702DB3F00EC00B7 /* HandleTapAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HandleTapAction.swift; sourceTree = "<group>"; };
|
||||||
|
DBF1572E27046F1A00EC00B7 /* SecondaryPlaceholderViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondaryPlaceholderViewController.swift; sourceTree = "<group>"; };
|
||||||
DBF1D24D269DAF5D00C1C08A /* SearchDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchDetailViewController.swift; sourceTree = "<group>"; };
|
DBF1D24D269DAF5D00C1C08A /* SearchDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchDetailViewController.swift; sourceTree = "<group>"; };
|
||||||
DBF1D250269DB01200C1C08A /* SearchHistoryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchHistoryViewController.swift; sourceTree = "<group>"; };
|
DBF1D250269DB01200C1C08A /* SearchHistoryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchHistoryViewController.swift; sourceTree = "<group>"; };
|
||||||
DBF1D256269DBAC600C1C08A /* SearchDetailViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchDetailViewModel.swift; sourceTree = "<group>"; };
|
DBF1D256269DBAC600C1C08A /* SearchDetailViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchDetailViewModel.swift; sourceTree = "<group>"; };
|
||||||
|
@ -2554,6 +2556,7 @@
|
||||||
DB0EF72C26FDB1D600347686 /* View */,
|
DB0EF72C26FDB1D600347686 /* View */,
|
||||||
DB852D1826FAEB6B00FC9D81 /* SidebarViewController.swift */,
|
DB852D1826FAEB6B00FC9D81 /* SidebarViewController.swift */,
|
||||||
DB852D1E26FB037800FC9D81 /* SidebarViewModel.swift */,
|
DB852D1E26FB037800FC9D81 /* SidebarViewModel.swift */,
|
||||||
|
DBF1572E27046F1A00EC00B7 /* SecondaryPlaceholderViewController.swift */,
|
||||||
);
|
);
|
||||||
path = Sidebar;
|
path = Sidebar;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -3972,6 +3975,7 @@
|
||||||
DB36679F268ABAF20027D07F /* ComposeStatusAttachmentSection.swift in Sources */,
|
DB36679F268ABAF20027D07F /* ComposeStatusAttachmentSection.swift in Sources */,
|
||||||
2DA7D04425CA52B200804E11 /* TimelineLoaderTableViewCell.swift in Sources */,
|
2DA7D04425CA52B200804E11 /* TimelineLoaderTableViewCell.swift in Sources */,
|
||||||
DB87D44B2609C11900D12C0D /* PollOptionView.swift in Sources */,
|
DB87D44B2609C11900D12C0D /* PollOptionView.swift in Sources */,
|
||||||
|
DBF1572F27046F1A00EC00B7 /* SecondaryPlaceholderViewController.swift in Sources */,
|
||||||
DB03F7F32689AEA3007B274C /* ComposeRepliedToStatusContentTableViewCell.swift in Sources */,
|
DB03F7F32689AEA3007B274C /* ComposeRepliedToStatusContentTableViewCell.swift in Sources */,
|
||||||
2D4AD8A826316D3500613EFC /* SelectedAccountItem.swift in Sources */,
|
2D4AD8A826316D3500613EFC /* SelectedAccountItem.swift in Sources */,
|
||||||
DBE3CDFB261C6CA500430CC6 /* FavoriteViewModel.swift in Sources */,
|
DBE3CDFB261C6CA500430CC6 /* FavoriteViewModel.swift in Sources */,
|
||||||
|
|
|
@ -63,7 +63,7 @@ final class RootSplitViewController: UISplitViewController, NeedsDependency {
|
||||||
|
|
||||||
setViewController(sidebarViewController, for: .primary)
|
setViewController(sidebarViewController, for: .primary)
|
||||||
setViewController(supplementaryViewControllers[0], for: .supplementary)
|
setViewController(supplementaryViewControllers[0], for: .supplementary)
|
||||||
setViewController(UIViewController(), for: .secondary)
|
setViewController(SecondaryPlaceholderViewController(), for: .secondary)
|
||||||
setViewController(mainTabBarController, for: .compact)
|
setViewController(mainTabBarController, for: .compact)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
//
|
||||||
|
// SecondaryPlaceholderViewController.swift
|
||||||
|
// Mastodon
|
||||||
|
//
|
||||||
|
// Created by Cirno MainasuK on 2021-9-29.
|
||||||
|
//
|
||||||
|
|
||||||
|
import UIKit
|
||||||
|
import Combine
|
||||||
|
|
||||||
|
final class SecondaryPlaceholderViewController: UIViewController {
|
||||||
|
var disposeBag = Set<AnyCancellable>()
|
||||||
|
}
|
||||||
|
|
||||||
|
extension SecondaryPlaceholderViewController {
|
||||||
|
|
||||||
|
override func viewDidLoad() {
|
||||||
|
super.viewDidLoad()
|
||||||
|
|
||||||
|
setupBackground(theme: ThemeService.shared.currentTheme.value)
|
||||||
|
ThemeService.shared.currentTheme
|
||||||
|
.receive(on: DispatchQueue.main)
|
||||||
|
.sink { [weak self] theme in
|
||||||
|
guard let self = self else { return }
|
||||||
|
self.setupBackground(theme: theme)
|
||||||
|
}
|
||||||
|
.store(in: &disposeBag)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
extension SecondaryPlaceholderViewController {
|
||||||
|
private func setupBackground(theme: Theme) {
|
||||||
|
view.backgroundColor = theme.secondarySystemBackgroundColor
|
||||||
|
}
|
||||||
|
}
|
|
@ -35,6 +35,7 @@ final class SidebarViewController: UIViewController, NeedsDependency {
|
||||||
static func createLayout() -> UICollectionViewLayout {
|
static func createLayout() -> UICollectionViewLayout {
|
||||||
let layout = UICollectionViewCompositionalLayout() { (sectionIndex, layoutEnvironment) -> NSCollectionLayoutSection? in
|
let layout = UICollectionViewCompositionalLayout() { (sectionIndex, layoutEnvironment) -> NSCollectionLayoutSection? in
|
||||||
var configuration = UICollectionLayoutListConfiguration(appearance: .sidebar)
|
var configuration = UICollectionLayoutListConfiguration(appearance: .sidebar)
|
||||||
|
configuration.backgroundColor = .clear
|
||||||
if sectionIndex == SidebarViewModel.Section.tab.rawValue {
|
if sectionIndex == SidebarViewModel.Section.tab.rawValue {
|
||||||
// with indentation
|
// with indentation
|
||||||
configuration.headerMode = .none
|
configuration.headerMode = .none
|
||||||
|
@ -103,16 +104,23 @@ extension SidebarViewController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func setupBackground(theme: Theme) {
|
private func setupBackground(theme: Theme) {
|
||||||
|
let color: UIColor = theme.sidebarBackgroundColor
|
||||||
let barAppearance = UINavigationBarAppearance()
|
let barAppearance = UINavigationBarAppearance()
|
||||||
barAppearance.configureWithOpaqueBackground()
|
barAppearance.configureWithOpaqueBackground()
|
||||||
barAppearance.backgroundColor = theme.sidebarBackgroundColor
|
barAppearance.backgroundColor = color
|
||||||
barAppearance.shadowColor = .clear
|
barAppearance.shadowColor = .clear
|
||||||
barAppearance.shadowImage = UIImage() // remove separator line
|
barAppearance.shadowImage = UIImage() // remove separator line
|
||||||
navigationItem.standardAppearance = barAppearance
|
navigationItem.standardAppearance = barAppearance
|
||||||
navigationItem.compactAppearance = barAppearance
|
navigationItem.compactAppearance = barAppearance
|
||||||
navigationItem.scrollEdgeAppearance = barAppearance
|
navigationItem.scrollEdgeAppearance = barAppearance
|
||||||
|
if #available(iOS 15.0, *) {
|
||||||
|
navigationItem.compactScrollEdgeAppearance = barAppearance
|
||||||
|
} else {
|
||||||
|
// Fallback on earlier versions
|
||||||
|
}
|
||||||
|
|
||||||
view.backgroundColor = theme.sidebarBackgroundColor
|
view.backgroundColor = color
|
||||||
|
collectionView.backgroundColor = color
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,9 @@ extension ThemeService {
|
||||||
UINavigationBar.appearance().standardAppearance = appearance
|
UINavigationBar.appearance().standardAppearance = appearance
|
||||||
UINavigationBar.appearance().compactAppearance = appearance
|
UINavigationBar.appearance().compactAppearance = appearance
|
||||||
UINavigationBar.appearance().scrollEdgeAppearance = appearance
|
UINavigationBar.appearance().scrollEdgeAppearance = appearance
|
||||||
|
if #available(iOS 15.0, *) {
|
||||||
|
UINavigationBar.appearance().compactScrollEdgeAppearance = appearance
|
||||||
|
}
|
||||||
|
|
||||||
// set tab bar appearance
|
// set tab bar appearance
|
||||||
let tabBarAppearance = UITabBarAppearance()
|
let tabBarAppearance = UITabBarAppearance()
|
||||||
|
|
Loading…
Reference in New Issue