reverse chat list wip

This commit is contained in:
spaced4ndy
2024-05-03 14:04:34 +04:00
parent 6dfa8e6bb7
commit 0cfecd41f7
4 changed files with 24 additions and 10 deletions
@@ -23,6 +23,7 @@ struct ChatsView: View {
@State private var newChatMenuOption: NewChatMenuOption? = nil // TODO remove?
@AppStorage(DEFAULT_SHOW_UNREAD_AND_FAVORITES) private var showUnreadAndFavorites = false
@AppStorage(DEFAULT_CHAT_LIST_REVERSED) private var chatListReversed = false
var body: some View {
if #available(iOS 16.0, *) {
@@ -65,7 +66,7 @@ struct ChatsView: View {
}
@ViewBuilder private var chatList: some View {
let cs = filteredChats()
let cs = chatListReversed ? filteredChats().reversed() : filteredChats()
ZStack {
VStack {
List {
+16 -9
View File
@@ -51,16 +51,13 @@ struct HomeView: View {
switch homeTab {
case .settings: settingsView()
case .contacts: contactsView()
case .chats:
chatsView()
.padding(.top, searchInBottom ? 10 : 40)
case .chats: chatsView()
case .newChat: newChatView()
}
VStack {
topToolbar()
.background(BlurView(style: .systemMaterial).ignoresSafeArea())
.frame(height: 40)
Spacer()
}
@@ -273,11 +270,21 @@ struct HomeView: View {
private func chatsView() -> some View {
// TODO onboarding buttons (remove?)
ChatsView(
searchText: $searchText,
searchShowingSimplexLink: $searchShowingSimplexLink,
searchChatFilteredBySimplexLink: $searchChatFilteredBySimplexLink
)
// TODO for reversed chat list start at bottom
VStack {
Spacer()
.frame(height: searchInBottom ? 0 : 45) // account for topToolbar height
ChatsView(
searchText: $searchText,
searchShowingSimplexLink: $searchShowingSimplexLink,
searchChatFilteredBySimplexLink: $searchChatFilteredBySimplexLink
)
Spacer()
.frame(height: searchInBottom ? 90 : 50) // account for bottomToolbar height
}
.padding(.top, 5)
}
@ViewBuilder private func newChatView() -> some View {
@@ -26,6 +26,7 @@ struct AppearanceSettings: View {
@State private var uiTintColor = getUIAccentColorDefault()
@AppStorage(DEFAULT_PROFILE_IMAGE_CORNER_RADIUS) private var profileImageCornerRadius = defaultProfileImageCorner
@AppStorage(DEFAULT_SEARCH_IN_BOTTOM) private var searchInBottom = false
@AppStorage(DEFAULT_CHAT_LIST_REVERSED) private var chatListReversed = false
var body: some View {
VStack{
@@ -44,6 +45,9 @@ struct AppearanceSettings: View {
settingsRow("magnifyingglass") {
Toggle("Search in bottom", isOn: $searchInBottom)
}
settingsRow("message") {
Toggle("Reverse chat list", isOn: $chatListReversed)
}
}
Section("App icon") {
@@ -47,6 +47,7 @@ let DEFAULT_ACCENT_COLOR_BLUE = "accentColorBlue"
let DEFAULT_USER_INTERFACE_STYLE = "userInterfaceStyle"
let DEFAULT_PROFILE_IMAGE_CORNER_RADIUS = "profileImageCornerRadius"
let DEFAULT_SEARCH_IN_BOTTOM = "searchInBottom"
let DEFAULT_CHAT_LIST_REVERSED = "chatListReversed"
let DEFAULT_CONNECT_VIA_LINK_TAB = "connectViaLinkTab"
let DEFAULT_LIVE_MESSAGE_ALERT_SHOWN = "liveMessageAlertShown"
let DEFAULT_SHOW_HIDDEN_PROFILES_NOTICE = "showHiddenProfilesNotice"
@@ -91,6 +92,7 @@ let appDefaults: [String: Any] = [
DEFAULT_USER_INTERFACE_STYLE: 0,
DEFAULT_PROFILE_IMAGE_CORNER_RADIUS: defaultProfileImageCorner,
DEFAULT_SEARCH_IN_BOTTOM: false,
DEFAULT_CHAT_LIST_REVERSED: false,
DEFAULT_CONNECT_VIA_LINK_TAB: ConnectViaLinkTab.scan.rawValue,
DEFAULT_LIVE_MESSAGE_ALERT_SHOWN: false,
DEFAULT_SHOW_HIDDEN_PROFILES_NOTICE: true,