Navigation refactor

This commit is contained in:
2025-08-11 15:20:30 +03:00
parent 585ae0eb5f
commit a69c5d95ae
25 changed files with 784 additions and 580 deletions

View File

@@ -26,43 +26,44 @@
<file name="app/src/main/java/com/homebox/lens/ui/screen/dashboard/DashboardViewModel.kt" status="implemented" spec_ref_id="screen_dashboard">
<purpose_summary>ViewModel для экрана панели управления, обрабатывает бизнес-логику.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/inventorylist/InventoryListScreen.kt" status="implemented" spec_ref_id="screen_inventory_list">
<file name="app/src/main/java/com/homebox/lens/ui/screen/inventorylist/InventoryListScreen.kt" status="stub" spec_ref_id="screen_inventory_list">
<purpose_summary>UI для экрана списка инвентаря.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/inventorylist/InventoryListViewModel.kt" status="implemented" spec_ref_id="screen_inventory_list">
<purpose_summary>ViewModel для экрана списка инвентаря.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemdetails/ItemDetailsScreen.kt" status="implemented" spec_ref_id="screen_item_details">
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemdetails/ItemDetailsScreen.kt" status="stub" spec_ref_id="screen_item_details">
<purpose_summary>UI для экрана сведений о товаре.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemdetails/ItemDetailsViewModel.kt" status="implemented" spec_ref_id="screen_item_details">
<purpose_summary>ViewModel для экрана сведений о товаре.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditScreen.kt" status="implemented" spec_ref_id="screen_item_edit">
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditScreen.kt" status="stub" spec_ref_id="screen_item_edit">
<purpose_summary>UI для экрана редактирования товара.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditViewModel.kt" status="implemented" spec_ref_id="screen_item_edit">
<purpose_summary>ViewModel для экрана редактирования товара.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListScreen.kt" status="implemented" spec_ref_id="screen_labels_list">
<file name="app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListScreen.kt" status="stub" spec_ref_id="screen_labels_list">
<purpose_summary>UI для экрана списка меток.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListViewModel.kt" status="implemented" spec_ref_id="screen_labels_list">
<purpose_summary>ViewModel для экрана списка меток.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/locationslist/LocationsListScreen.kt" status="implemented" spec_ref_id="screen_locations_list">
<file name="app/src/main/java/com/homebox/lens/ui/screen/locationslist/LocationsListScreen.kt" status="stub" spec_ref_id="screen_locations_list">
<purpose_summary>UI для экрана списка местоположений.</purpose_summary>
<coherence_note>Использует модель LocationOutCount для отображения количества элементов в каждой локации.</coherence_note>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/locationslist/LocationsListViewModel.kt" status="implemented" spec_ref_id="screen_locations_list">
<purpose_summary>ViewModel для экрана списка местоположений.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/search/SearchScreen.kt" status="implemented" spec_ref_id="screen_search">
<file name="app/src/main/java/com/homebox/lens/ui/screen/search/SearchScreen.kt" status="stub" spec_ref_id="screen_search">
<purpose_summary>UI для экрана поиска.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/search/SearchViewModel.kt" status="implemented" spec_ref_id="screen_search">
<purpose_summary>ViewModel для экрана поиска.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupScreen.kt" status="implemented" spec_ref_id="screen_setup">
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupScreen.kt" status="stub" spec_ref_id="screen_setup">
<purpose_summary>UI для экрана настройки.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupViewModel.kt" status="implemented" spec_ref_id="screen_setup">
@@ -131,11 +132,15 @@
<purpose_summary>Сценарий использования для получения всех меток.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/GetAllLocationsUseCase.kt" status="implemented" spec_ref_id="uc_get_all_locations">
<purpose_summary>Сценарий использования для получения всех местоположений.</purpose_summary>
<purpose_summary>Сценарий использования для получения всех местоположений со счетчиками элементов.</purpose_summary>
<coherence_note>Возвращает List<LocationOutCount>, а не базовую модель Location.</coherence_note>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/GetItemDetailsUseCase.kt" status="implemented" spec_ref_id="uc_get_item_details">
<purpose_summary>Сценарий использования для получения сведений о конкретном товаре.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/GetRecentlyAddedItemsUseCase.kt" status="implemented" spec_ref_id="uc_get_recent_items">
<purpose_summary>Сценарий использования для получения недавно добавленных товаров.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/GetStatisticsUseCase.kt" status="implemented" spec_ref_id="uc_get_stats">
<purpose_summary>Сценарий использования для получения статистики по инвентарю.</purpose_summary>
</file>

View File

@@ -95,6 +95,14 @@
<implementation_ref id="uc_get_stats" />
<implementation_note>Использован Flow для reactive обновлений; обработка ошибок через sealed class.</implementation_note>
</FUNCTION>
<FUNCTION id="func_get_recent_items" status="implemented">
<summary>Получение и отображение недавно добавленных товаров</summary>
<description>Получает список последних N добавленных товаров из локальной базы данных.</description>
<precondition>Пользователь аутентифицирован.</precondition>
<postcondition>Возвращает Flow со списком ItemSummary; список отсортирован по дате создания.</postcondition>
<implementation_ref id="uc_get_recent_items" />
<implementation_note>Данные берутся из локального кэша (Room) для быстрого отображения.</implementation_note>
</FUNCTION>
</FUNCTIONALITY>
</FEATURE>