* Add data classes to hold food label information
- Created `GetFoodLabelResponse` data class to represent food label details
- Updated `GetFoodResponse` to include `label` property of type `GetFoodLabelResponse`
* Add backend to sort items in shopping lists by label
* Add UI code to sort items in shopping lists by label
* Use label from ShoppingListItem instead of Food
* Use list for ShoppingListItems and labels storage
* Fix incorrect routing code
* Only add DefaultLabel if there are items with a label
* Small improvements to comments and formatting
* Add endpoint to create new shopping lists
* Initialize editing of lists names
* Implement adding new lists
* Fix invalid password for demo
* Use StateFlow to avoid lost state updates
* Refactor the list update to support empty lists
* Hide add new list button if there's a new list
* Scroll to the newly added list or item
* Replace deprecated Divider
* Move new field name input to dialog
* Display a modal dialog instead of bottom sheet
* Reduce unnecessary recompositions
* Do not hide button since it is overlapped by dialog
* Extract Composable for editable items
* Remove unused imports
* Add UI for removing and editing shopping lists
* Implement editing list name and removing lists
* Fix initial cursor state when editing name
* Add capitalization of list names
* Fix color of divider in dark mode
* Migrate disclaimer screen to Compose
* Migrate base URL screen to Compose
* Migrate base URL screen to Compose
* Migrate authentication screen to Compose
* Initialize add recipe screen
* Remove unused resources
* Display add recipe operation result
* Add delete icon to ingredients and instructions
* Allow navigating between fields on add recipe
* Allow navigating between fields on authentication screen
* Allow to proceed from keyboard on base url screen
* Use material icons for recipe item
* Expose base URL as flow
* Initialize Compose navigation
* Allow sending logs again
* Allow to override navigation and top bar per screen
* Add additional logs
* Migrate share recipe screen to Compose
* Fix unit tests
* Restore recipe list tests
* Ensure authentication is shown after URL input
* Add autofill to authentication
* Complete first set up test
* Use image vector from Icons instead of drawable
* Add transition animations
* Fix logging host in Host header
* Do not fail test if login token is used
* Add Compose to app module
* Move Theme to ui module
* Add Coil image loader
* Use Compose for recipe screen
* Save instruction to ingredient relation to DB
* Display ingredients as server formats them
* Display linked ingredients under each step
* Fix ingredients padding
* Show recipe full screen
* Fix recipe screen UI issues
* Hide keyboard on recipe navigation
* Fix loading recipes from DB with no instructions or ingredients
* Add instructions section title
* Add ingredients section title
* Remove unused view holders
* Use Ktor for network requests
* Remove V0 version
* Remove Retrofit dependency
* Fix url
* Update versions of dependencies
* Revert kotlinx-datetime
Due to https://github.com/Kotlin/kotlinx-datetime/issues/304
* Rename leftovers
* Remove OkHttp
* Remove unused manifest
* Remove unused Hilt module
* Fix building empty image URLs
* Use OkHttp as engine for Ktor
* Reduce visibility of internal classes
* Fix first set up test
* Store only auth token, not header
* Remove UnitInfo/FoodInfo/VersionInfo/NewShoppingListItemInfo
* Remove RecipeSummaryInfo and ShoppingListsInfo
* Remove FullShoppingListInfo
* Remove ParseRecipeURLInfo
* Remove FullRecipeInfo
* Sign out if access token does not work
* Rename getVersionInfo method
* Update version name
* Initialize shopping lists feature
* Start shopping lists screen with Compose
* Add icon to shopping list name
* Add shopping lists to menu
* Set max size for the list
* Replace compose-adapter with accompanist
* Remove unused fields from shopping lists response
* Show list of shopping lists from BE
* Hide shopping lists if Mealie is 0.5.6
* Add shopping list item click listener
* Create material app theme for Compose
* Use shorter names
* Load shopping lists by pages and save to db
* Make page handling logic match recipes
* Add swipe to refresh to shopping lists
* Extract SwipeToRefresh Composable
* Make LazyPagingColumn generic
* Show refresh only when mediator is refreshing
* Do not refresh automatically
* Allow controlling Activity state from modules
* Implement navigating to shopping list screen
* Move Compose libraries setup to a plugin
* Implement loading full shopping list info
* Move Storage classes to database module
* Save shopping list items to DB
* Use separate names for separate ids
* Do only one DB version update
* Use unique names for all columns
* Display shopping list items
* Move OperationUiState to ui module
* Subscribe to shopping lists updates
* Indicate progress with progress bar
* Use strings from resources
* Format shopping list item quantities
* Hide unit/food/note/quantity if they are not set
* Implement updating shopping list item checked state
* Remove unnecessary null checks
* Disable checkbox when it is being updated
* Split shopping list screen into composables
* Show items immediately if they are saved
* Fix showing "list is empty" before the items
* Show Snackbar when error happens
* Reduce shopping list items paddings
* Remove shopping lists when URL is changed
* Add error/empty state handling to shopping lists
* Fix empty error state
* Fix tests compilation
* Add margin between text and button
* Add divider between checked and unchecked items
* Move divider to the item
* Refresh the shopping lists on authentication
* Use retry when necessary
* Remove excessive logging
* Fix pages bounds check
* Move FlowExtensionsTest
* Update Compose version
* Fix showing loading indicator for shopping lists
* Add Russian translation
* Fix SDK version lint check
* Rename parameter to match interface
* Add DB migration TODO
* Get rid of DB migrations
* Do not use pagination with shopping lists
* Cleanup after the pagination removal
* Load shopping list items
* Remove shopping lists storage
* Rethrow CancellationException in LoadingHelper
* Add pull-to-refresh on shopping list screen
* Extract LazyColumnWithLoadingState
* Split refresh errors and loading state
* Reuse LazyColumnWithLoadingState for shopping list items
* Remove paging-compose dependency
* Refresh shopping list items on authentication
* Disable missing translation lint check
* Update Compose and Kotlin versions
* Fix order of checked items
* Hide useless information from a shopping list item