bottombar: навигационная панель по дизайну «Новое меню»
Панель стала единой навигационной: слева назад (в Конференциях — чаты), далее ярлыки-разделы Почта · Карточки · Конференции (активный подсвечен), справа выдвижное меню. Профиль/Уведомления/Настройки/Создать убраны из панели (Профиль/Уведомления/Настройки — в выдвижном меню; бейдж уведомлений перенесён на кнопку меню). Создание раньше вызывалось ТОЛЬКО из панели → чтобы не потерять: - новый общий компонент F7CreateButton (зелёный круг «+»); - добавлен в шапку Файлов (→ меню создания) и Контактов (→ добавить контакт). Задачи/Поддержка уже имели свои кнопки; Почта — «+» в шапке. F7BottomBarConfig упрощён (единый layout), F7MobileBottomBar получил слоты SectionMail/SectionCards/SectionConferences + activeTabKey.
This commit is contained in:
@@ -483,6 +483,7 @@ fun AppScaffold(
|
||||
serverUrl = currentSession.serverUrl,
|
||||
userId = userId,
|
||||
config = bottomBarConfig,
|
||||
activeTabKey = activeTab.name,
|
||||
menuOpen = menuOpen,
|
||||
chatsHighlighted = activeTab == AppTab.Talk && !talkInRoom,
|
||||
navBackHighlighted = (activeTab == AppTab.Mail && mailSidebarOpen) ||
|
||||
@@ -499,36 +500,22 @@ fun AppScaffold(
|
||||
else -> Unit
|
||||
}
|
||||
},
|
||||
onCreateClick = {
|
||||
when (activeTab) {
|
||||
AppTab.Files -> {
|
||||
if (F7AppPermissions.missing(context).isNotEmpty()) {
|
||||
onRequestRuntimePermissions { filesUploadRequest++ }
|
||||
} else {
|
||||
filesUploadRequest++
|
||||
}
|
||||
}
|
||||
AppTab.Contacts -> contactsCreateRequest++
|
||||
AppTab.Tasks -> tasksCreateRequest++
|
||||
AppTab.Support -> supportCreateRequest++
|
||||
else -> Unit
|
||||
onMailClick = {
|
||||
if (activeTab != AppTab.Mail) {
|
||||
pushTabHistory(activeTab)
|
||||
activeTab = AppTab.Mail
|
||||
}
|
||||
},
|
||||
onProfileClick = {
|
||||
menuOpen = false
|
||||
profileOpen = true
|
||||
onCardsClick = {
|
||||
if (activeTab != AppTab.Deck) {
|
||||
pushTabHistory(activeTab)
|
||||
activeTab = AppTab.Deck
|
||||
}
|
||||
},
|
||||
onNotificationsClick = {
|
||||
menuOpen = false
|
||||
hasNotificationBadge = false
|
||||
notificationsOpen = true
|
||||
},
|
||||
onSettingsClick = {
|
||||
when (activeTab) {
|
||||
AppTab.Mail -> mailSettingsOpen = true
|
||||
AppTab.Calendar -> calendarSettingsRequest++
|
||||
AppTab.Files -> filesSettingsOpen = true
|
||||
else -> Unit
|
||||
onConferencesClick = {
|
||||
if (activeTab != AppTab.Talk) {
|
||||
pushTabHistory(activeTab)
|
||||
activeTab = AppTab.Talk
|
||||
}
|
||||
},
|
||||
onMenuClick = { menuOpen = !menuOpen },
|
||||
@@ -647,6 +634,7 @@ fun AppScaffold(
|
||||
// Нативные пункты по дизайну меню
|
||||
label.equals("Уведомления", ignoreCase = true) -> {
|
||||
menuOpen = false
|
||||
hasNotificationBadge = false
|
||||
notificationsOpen = true
|
||||
}
|
||||
label.equals("Настройки", ignoreCase = true) -> {
|
||||
|
||||
Reference in New Issue
Block a user