…lines 1–35 unchanged (35 lines)
36import androidx.compose.ui.res.stringResource
37import androidx.compose.ui.text.font.FontWeight
38import androidx.compose.ui.text.style.TextAlign
39import androidx.compose.ui.tooling.preview.Preview
40import androidx.compose.ui.unit.dp
41import androidx.compose.ui.unit.sp
42import com.nextcloud.client.assistant.AssistantViewModel
43import com.nextcloud.client.assistant.getMockAssistantViewModel
44import com.nextcloud.client.assistant.model.AssistantScreenState
45import com.nextcloud.client.assistant.taskDetail.TaskDetailBottomSheet
46import com.nextcloud.utils.extensions.truncateWithEllipsis
47import com.owncloud.android.R
48import com.owncloud.android.lib.resources.assistant.v2.model.Task
49import com.owncloud.android.lib.resources.assistant.v2.model.TaskInput
50import com.owncloud.android.lib.resources.assistant.v2.model.TaskOutput
51import com.owncloud.android.lib.resources.status.OCCapability
52
53@Suppress("LongMethod", "MagicNumber")
54@Composable
55fun TaskView(task: Task, viewModel: AssistantViewModel, capability: OCCapability, showTaskActions: () -> Unit) {
56 var showTaskDetailBottomSheet by remember { mutableStateOf(false) }
57
58 Box {
59 Column(
60 modifier = Modifier
61 .fillMaxWidth()
62 .clip(RoundedCornerShape(8.dp))
63 .background(color = colorResource(R.color.task_container))
64 .clickable {
65 viewModel.selectTask(task)
66
67 if (task.type == "core:text2text:translate") {
68 viewModel.updateScreenState(AssistantScreenState.Translation(task))
69 } else {
70 showTaskDetailBottomSheet = true
71 }
72 }
73 .padding(16.dp)
74 ) {
…lines 75–147 unchanged (73 lines)
148 1707692337,
149 1707692337,
150 1707692337,
151 1707692337,
152 1707692337
153 ),
154 viewModel = getMockAssistantViewModel(true),
155 OCCapability().apply {
156 versionMayor = 30
157 },
158 showTaskActions = {
159 }
160 )
161}
162