92 lines
4.2 KiB
XML
92 lines
4.2 KiB
XML
<!-- tasks/02_create_labels_screen_file.xml -->
|
||
<TASK status="completed">
|
||
<WORK_ORDER id="task-20250812-114502">
|
||
<ACTION>CREATE_FILE</ACTION>
|
||
|
||
<TARGET_FILE>app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListScreen.kt</TARGET_FILE>
|
||
|
||
<GOAL>
|
||
Создать базовую структуру (stub) для экрана "Метки" (LabelsListScreen) с использованием Jetpack Compose.
|
||
Этот файл будет служить основой для дальнейшей реализации полноценного UI.
|
||
</GOAL>
|
||
|
||
<CONTEXT_FILES>
|
||
<FILE>tech_spec.txt</FILE>
|
||
</CONTEXT_FILES>
|
||
|
||
<CONTRACT>
|
||
<CONSTRAINTS>
|
||
<CONSTRAINT>Имя файла должно быть 'LabelsListScreen.kt'.</CONSTRAINT>
|
||
<CONSTRAINT>Функция должна называться 'LabelsListScreen'.</CONSTRAINT>
|
||
<CONSTRAINT>Функция должна быть аннотирована как @Composable.</CONSTRAINT>
|
||
<CONSTRAINT>Основная разметка должна использовать Scaffold.</CONSTRAINT>
|
||
<CONSTRAINT>Должен быть TopAppBar с заголовком "Метки".</CONSTRAINT>
|
||
<CONSTRAINT>В качестве временного контента для Scaffold должен использоваться Text-компонент с текстом "Hello, Labels Screen!".</CONSTRAINT>
|
||
</CONSTRAINTS>
|
||
</CONTRACT>
|
||
|
||
<PAYLOAD mode="FULL_CONTENT">
|
||
<![CDATA[
|
||
[FILE:app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListScreen.kt]
|
||
[PACKAGE]
|
||
package com.homebox.lens.ui.screen.labelslist
|
||
[/PACKAGE]
|
||
|
||
[IMPORTS]
|
||
import androidx.compose.foundation.layout.Box
|
||
import androidx.compose.foundation.layout.fillMaxSize
|
||
import androidx.compose.foundation.layout.padding
|
||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||
import androidx.compose.material3.Scaffold
|
||
import androidx.compose.material3.Text
|
||
import androidx.compose.material3.TopAppBar
|
||
import androidx.compose.runtime.Composable
|
||
import androidx.compose.ui.Alignment
|
||
import androidx.compose.ui.Modifier
|
||
[/IMPORTS]
|
||
|
||
[COMPOSABLE_FUNCTION]
|
||
/**
|
||
* Заглушка для экрана, отображающего список меток.
|
||
* В соответствии со спецификацией 'screen_labels_list'.
|
||
*/
|
||
@OptIn(ExperimentalMaterial3Api::class)
|
||
@Composable
|
||
fun LabelsListScreen(
|
||
// В будущем здесь будут параметры: navController для навигации, viewModel для получения данных.
|
||
) {
|
||
Scaffold(
|
||
topBar = {
|
||
TopAppBar(
|
||
title = {
|
||
Text(text = "Метки") // В будущем будет заменено на stringResource
|
||
}
|
||
)
|
||
}
|
||
) { paddingValues ->
|
||
// Временный контент-заглушка.
|
||
// В будущем здесь будет LazyColumn для отображения списка меток.
|
||
Box(
|
||
modifier = Modifier
|
||
.fillMaxSize()
|
||
.padding(paddingValues),
|
||
contentAlignment = Alignment.Center
|
||
) {
|
||
Text("Hello, Labels Screen!")
|
||
}
|
||
}
|
||
}
|
||
[/COMPOSABLE_FUNCTION]
|
||
[END_FILE]
|
||
]]>
|
||
</PAYLOAD>
|
||
|
||
<IMPLEMENTATION_HINTS>
|
||
<HINT>Создай новый файл по пути 'app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListScreen.kt'.</HINT>
|
||
<HINT>Скопируй предоставленный код из секции PAYLOAD в этот файл.</HINT>
|
||
<HINT>Убедись, что используется правильный package: com.homebox.lens.ui.screen.labelslist.</HINT>
|
||
<HINT>Добавь все необходимые импорты для Jetpack Compose (Scaffold, TopAppBar, Text, Composable и т.д.), как указано в PAYLOAD.</HINT>
|
||
<HINT>Следуй структуре, заданной семантическими якорями.</HINT>
|
||
</IMPLEMENTATION_HINTS>
|
||
</WORK_ORDER>
|
||
</TASK> |