mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-08-29 09:49:04 +00:00
reverse chat list wip
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user