From a5ebcd4d80a9a9fef53289299bbe0c71ec7e7732 Mon Sep 17 00:00:00 2001 From: b-dev-mobile Date: Fri, 10 Jul 2026 07:19:26 +0000 Subject: [PATCH] =?UTF-8?q?fix(tasks):=20=D1=81=D1=82=D1=80=D0=B5=D0=BB?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B8=D0=B6=D0=BD=D0=B5=D0=B9=20=D0=BF?= =?UTF-8?q?=D0=B0=D0=BD=D0=B5=D0=BB=D0=B8=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B?= =?UTF-8?q?=D0=B2=D0=B0=D0=B5=D1=82=20=D0=BF=D0=B0=D0=BD=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=BE=D0=B2=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B4=D0=B0=D1=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Раньше на Задачах стрелка «назад» уводила на предыдущий раздел (Файлы). Теперь она закрывает открытый список и показывает панель списков задач (TasksListNavView: Все/Текущие/конкретные списки) — как сайдбар папок в Почте/Файлах/Календаре. Проброшен showListsRequest → vm.closeList(). Co-Authored-By: Claude Fable 5 --- .../main/java/ru/forbion/f7cloud/mobile/ui/AppScaffold.kt | 7 ++++++- .../java/ru/forbion/f7cloud/feature/tasks/TasksScreen.kt | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ru/forbion/f7cloud/mobile/ui/AppScaffold.kt b/app/src/main/java/ru/forbion/f7cloud/mobile/ui/AppScaffold.kt index 148b228..e86d88b 100644 --- a/app/src/main/java/ru/forbion/f7cloud/mobile/ui/AppScaffold.kt +++ b/app/src/main/java/ru/forbion/f7cloud/mobile/ui/AppScaffold.kt @@ -134,6 +134,7 @@ fun AppScaffold( var filesUploadRequest by remember { mutableIntStateOf(0) } var contactsCreateRequest by remember { mutableIntStateOf(0) } var tasksCreateRequest by remember { mutableIntStateOf(0) } + var tasksShowListsRequest by remember { mutableIntStateOf(0) } var supportCreateRequest by remember { mutableIntStateOf(0) } var calendarSettingsRequest by remember { mutableIntStateOf(0) } var talkChatsRequest by remember { mutableIntStateOf(0) } @@ -458,7 +459,10 @@ fun AppScaffold( AppTab.Mail -> mailSidebarOpen = !mailSidebarOpen AppTab.Calendar -> calendarSidebarOpen = !calendarSidebarOpen AppTab.Files -> filesSidebarOpen = !filesSidebarOpen - // Разделы без сайдбара (Карточки/Конференции/Контакты/Задачи/ + // Задачи: стрелка открывает панель списков (закрывает + // открытый список) — как сайдбар в Почте/Файлах. + AppTab.Tasks -> tasksShowListsRequest++ + // Разделы без сайдбара (Карточки/Конференции/Контакты/ // Поддержка): стрелка = «назад» к предыдущему разделу. else -> popTabHistory()?.let { activeTab = it } } @@ -566,6 +570,7 @@ fun AppScaffold( modifier = contentModifier, createRequest = tasksCreateRequest, openListSlug = pendingTasksListSlug, + showListsRequest = tasksShowListsRequest, onOpenListConsumed = { pendingTasksListSlug = null }, onUnauthorized = forceLogout, ) diff --git a/feature/tasks/src/main/java/ru/forbion/f7cloud/feature/tasks/TasksScreen.kt b/feature/tasks/src/main/java/ru/forbion/f7cloud/feature/tasks/TasksScreen.kt index a7d1d74..b91ab71 100644 --- a/feature/tasks/src/main/java/ru/forbion/f7cloud/feature/tasks/TasksScreen.kt +++ b/feature/tasks/src/main/java/ru/forbion/f7cloud/feature/tasks/TasksScreen.kt @@ -31,12 +31,18 @@ fun TasksScreen( modifier: Modifier = Modifier, createRequest: Int = 0, openListSlug: String? = null, + showListsRequest: Int = 0, onOpenListConsumed: () -> Unit = {}, onUnauthorized: () -> Unit = {}, ) { val vm: TasksViewModel = viewModel() val state by vm.state.collectAsState() + // Стрелка «назад» нижней панели на Задачах → показать панель списков (закрыть открытый список). + LaunchedEffect(showListsRequest) { + if (showListsRequest > 0) vm.closeList() + } + LaunchedEffect(session.serverUrl, session.username, session.davUserId) { vm.load(session) }