This commit is contained in:
2025-08-14 15:34:05 +03:00
parent ecf614e4c2
commit 7816bb3464
27 changed files with 1795 additions and 335 deletions

View File

@@ -0,0 +1,92 @@
<!-- 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>