fix(tasks): стрелка нижней панели открывает панель списков задач
Раньше на Задачах стрелка «назад» уводила на предыдущий раздел (Файлы). Теперь она закрывает открытый список и показывает панель списков задач (TasksListNavView: Все/Текущие/конкретные списки) — как сайдбар папок в Почте/Файлах/Календаре. Проброшен showListsRequest → vm.closeList(). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -134,6 +134,7 @@ fun AppScaffold(
|
|||||||
var filesUploadRequest by remember { mutableIntStateOf(0) }
|
var filesUploadRequest by remember { mutableIntStateOf(0) }
|
||||||
var contactsCreateRequest by remember { mutableIntStateOf(0) }
|
var contactsCreateRequest by remember { mutableIntStateOf(0) }
|
||||||
var tasksCreateRequest by remember { mutableIntStateOf(0) }
|
var tasksCreateRequest by remember { mutableIntStateOf(0) }
|
||||||
|
var tasksShowListsRequest by remember { mutableIntStateOf(0) }
|
||||||
var supportCreateRequest by remember { mutableIntStateOf(0) }
|
var supportCreateRequest by remember { mutableIntStateOf(0) }
|
||||||
var calendarSettingsRequest by remember { mutableIntStateOf(0) }
|
var calendarSettingsRequest by remember { mutableIntStateOf(0) }
|
||||||
var talkChatsRequest by remember { mutableIntStateOf(0) }
|
var talkChatsRequest by remember { mutableIntStateOf(0) }
|
||||||
@@ -458,7 +459,10 @@ fun AppScaffold(
|
|||||||
AppTab.Mail -> mailSidebarOpen = !mailSidebarOpen
|
AppTab.Mail -> mailSidebarOpen = !mailSidebarOpen
|
||||||
AppTab.Calendar -> calendarSidebarOpen = !calendarSidebarOpen
|
AppTab.Calendar -> calendarSidebarOpen = !calendarSidebarOpen
|
||||||
AppTab.Files -> filesSidebarOpen = !filesSidebarOpen
|
AppTab.Files -> filesSidebarOpen = !filesSidebarOpen
|
||||||
// Разделы без сайдбара (Карточки/Конференции/Контакты/Задачи/
|
// Задачи: стрелка открывает панель списков (закрывает
|
||||||
|
// открытый список) — как сайдбар в Почте/Файлах.
|
||||||
|
AppTab.Tasks -> tasksShowListsRequest++
|
||||||
|
// Разделы без сайдбара (Карточки/Конференции/Контакты/
|
||||||
// Поддержка): стрелка = «назад» к предыдущему разделу.
|
// Поддержка): стрелка = «назад» к предыдущему разделу.
|
||||||
else -> popTabHistory()?.let { activeTab = it }
|
else -> popTabHistory()?.let { activeTab = it }
|
||||||
}
|
}
|
||||||
@@ -566,6 +570,7 @@ fun AppScaffold(
|
|||||||
modifier = contentModifier,
|
modifier = contentModifier,
|
||||||
createRequest = tasksCreateRequest,
|
createRequest = tasksCreateRequest,
|
||||||
openListSlug = pendingTasksListSlug,
|
openListSlug = pendingTasksListSlug,
|
||||||
|
showListsRequest = tasksShowListsRequest,
|
||||||
onOpenListConsumed = { pendingTasksListSlug = null },
|
onOpenListConsumed = { pendingTasksListSlug = null },
|
||||||
onUnauthorized = forceLogout,
|
onUnauthorized = forceLogout,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -31,12 +31,18 @@ fun TasksScreen(
|
|||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
createRequest: Int = 0,
|
createRequest: Int = 0,
|
||||||
openListSlug: String? = null,
|
openListSlug: String? = null,
|
||||||
|
showListsRequest: Int = 0,
|
||||||
onOpenListConsumed: () -> Unit = {},
|
onOpenListConsumed: () -> Unit = {},
|
||||||
onUnauthorized: () -> Unit = {},
|
onUnauthorized: () -> Unit = {},
|
||||||
) {
|
) {
|
||||||
val vm: TasksViewModel = viewModel()
|
val vm: TasksViewModel = viewModel()
|
||||||
val state by vm.state.collectAsState()
|
val state by vm.state.collectAsState()
|
||||||
|
|
||||||
|
// Стрелка «назад» нижней панели на Задачах → показать панель списков (закрыть открытый список).
|
||||||
|
LaunchedEffect(showListsRequest) {
|
||||||
|
if (showListsRequest > 0) vm.closeList()
|
||||||
|
}
|
||||||
|
|
||||||
LaunchedEffect(session.serverUrl, session.username, session.davUserId) {
|
LaunchedEffect(session.serverUrl, session.username, session.davUserId) {
|
||||||
vm.load(session)
|
vm.load(session)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user