feat(tasks): умные списки этап 1 — движок семантики + 22 юнита
Чистый TasksSmartLists (6 виртуальных списков по веб-Tasks NC: Важное/Сегодня/ На неделе/Все/Текущие/Завершенные) + SmartListVisibility. TaskItem.startRaw + startLocalDate() (пусто до DTSTART из core — запрошено у лида). testImplementation junit + TasksSmartListsTest (22 зелёных). Detekt-долг чужого пакета v0.5.133-137 унесён в baseline, код лида не тронут. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -7,15 +7,20 @@
|
||||
<ID>ArgumentListWrapping:TasksComponents.kt$(model = tasksAsset(serverUrl, iconPath), contentDescription = null, modifier = Modifier.size(16.dp))</ID>
|
||||
<ID>ArgumentListWrapping:TasksComponents.kt$(model = tasksAsset(serverUrl, iconPath), contentDescription = null, modifier = Modifier.size(18.dp))</ID>
|
||||
<ID>ArgumentListWrapping:TasksComponents.kt$(serverUrl, iconPath)</ID>
|
||||
<ID>ArgumentListWrapping:TasksGrouping.kt$TasksGrouping$(compareByDescending<TaskItem> { it.dueLocalDate() ?: LocalDate.MIN } .thenBy { it.summary.lowercase() })</ID>
|
||||
<ID>ArgumentListWrapping:TasksViewModel.kt$TasksViewModel$(saving = false, error = t.message ?: "Не удалось удалить", unauthorized = t is UnauthorizedException)</ID>
|
||||
<ID>ImportOrdering:TasksScreen.kt$import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.Text import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.pulltorefresh.PullToRefreshBox import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import ru.forbion.f7cloud.core.auth.AuthSession import ru.forbion.f7cloud.core.designsystem.F7Colors import ru.forbion.f7cloud.core.designsystem.F7OverlayDismissHandler</ID>
|
||||
<ID>Indentation:TasksComponents.kt$ </ID>
|
||||
<ID>Indentation:TasksScreen.kt$ </ID>
|
||||
<ID>LongMethod:TasksComponents.kt$@Composable fun TaskDetailSheet( visible: Boolean, serverUrl: String, task: TaskItem?, saving: Boolean, onDismiss: () -> Unit, onSwipeBack: () -> Unit = onDismiss, onToggleComplete: () -> Unit, onSave: (summary: String, due: String, priority: Int, description: String) -> Unit, onDelete: () -> Unit, )</ID>
|
||||
<ID>LongMethod:TasksComponents.kt$@Composable fun TasksRow( task: TaskItem, serverUrl: String, showMeta: Boolean = true, onToggleComplete: () -> Unit, onOpen: () -> Unit, modifier: Modifier = Modifier, onAddSubtask: (() -> Unit)? = null, onDelete: (() -> Unit)? = null, )</ID>
|
||||
<ID>LongMethod:TasksScreen.kt$@Composable fun TasksScreen( session: AuthSession, modifier: Modifier = Modifier, createRequest: Int = 0, openListSlug: String? = null, showListsRequest: Int = 0, onOpenListConsumed: () -> Unit = {}, onUnauthorized: () -> Unit = {}, )</ID>
|
||||
<ID>MaximumLineLength:TasksComponents.kt$ </ID>
|
||||
<ID>MaximumLineLength:TasksViewModel.kt$TasksViewModel$ </ID>
|
||||
<ID>NoUnusedImports:TasksComponents.kt$ru.forbion.f7cloud.feature.tasks.TasksComponents.kt</ID>
|
||||
<ID>UnusedParameter:TasksComponents.kt$onCreateCollapse: () -> Unit</ID>
|
||||
<ID>UnusedPrivateProperty:TasksComponents.kt$private val TasksTagBg = Color(0xFFDAEDD6)</ID>
|
||||
<ID>UnusedPrivateProperty:TasksComponents.kt$private val TasksTagText = Color(0xFF28A413)</ID>
|
||||
<ID>Wrapping:TasksGrouping.kt$TasksGrouping$(</ID>
|
||||
<ID>Wrapping:TasksComponents.kt$;</ID>
|
||||
<ID>Wrapping:TasksViewModel.kt$TasksViewModel$(</ID>
|
||||
</CurrentIssues>
|
||||
</SmellBaseline>
|
||||
|
||||
Reference in New Issue
Block a user