add a telegram-style bottom tab bar to the main screen
- Replace the sidebar-based MainChatView with MainTabView: a custom bottom bar with Контакты / Звонки / Чаты / Настройки that looks the same on iOS and macOS, and open chats via push navigation. - Put the search field above the chat and contact lists (searchable on iOS, an inline field on macOS) and add an aggregated call-history screen backed by model.callHistoryMessages. - Embed SettingsView as a tab, update verify.sh guards, and keep CI on deterministic unit tests while the UI tests stay runnable manually.
This commit is contained in:
@@ -251,6 +251,16 @@ final class AppModel: ObservableObject {
|
||||
)
|
||||
}
|
||||
|
||||
/// Aggregated call history for the «Звонки» tab, newest first.
|
||||
var callHistoryMessages: [ChatMessage] {
|
||||
messages
|
||||
.filter { $0.callHistory != nil }
|
||||
.sorted { lhs, rhs in
|
||||
if lhs.timestamp != rhs.timestamp { return lhs.timestamp > rhs.timestamp }
|
||||
return lhs.clientID < rhs.clientID
|
||||
}
|
||||
}
|
||||
|
||||
var selectedMessages: [ChatMessage] {
|
||||
guard let selectedConversationID else { return [] }
|
||||
if selectedMessagesCacheConversationID == selectedConversationID {
|
||||
|
||||
Reference in New Issue
Block a user