Commit Graph

48 Commits

Author SHA1 Message Date
Kirill Kamakin
1e5e727e92 Implement shopping lists screen (#129)
* 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
2023-07-03 15:07:19 +02:00
Kirill Kamakin
a40f9a78ea Bump app version (#154) 2023-07-02 09:23:20 +02:00
Kirill Kamakin
3f93578ff0 Enable per-app language support (#153) 2023-07-02 09:20:05 +02:00
Kirill Kamakin
12d39282de Bump version to 0.3.12 (27) 2023-04-07 13:38:40 +02:00
Kirill Kamakin
8e509894f8 Bump app version 2022-12-21 22:26:27 +01:00
Kirill Kamakin
0ebcc8709c Add Gradle managed virtual device 2022-12-16 21:50:12 +01:00
Kirill Kamakin
77395a07f4 Add base url setup to sign in test 2022-12-16 21:43:35 +01:00
Kirill Kamakin
8c3ec9a40d Enable AndroidX test orchestrator 2022-12-16 21:43:34 +01:00
Kirill Kamakin
24388192e1 Add first Kaspresso test 2022-12-16 21:43:34 +01:00
Kirill Kamakin
df459d5512 Fix test coverage report for submodules 2022-12-16 17:13:45 +01:00
Kirill Kamakin
e36cb12431 Bump version to 0.3.10 2022-12-11 17:45:46 +01:00
Kirill Kamakin
9b1229655a Bump version to 0.3.9 2022-12-04 18:47:48 +01:00
Kirill Kamakin
198fad8df6 Bump version to 0.3.8 2022-11-29 21:07:19 +01:00
Kirill Kamakin
f2a4d00cf9 Add sharetarget compatibility library 2022-11-28 20:09:08 +01:00
Kirill Kamakin
d62ce1a74e Remove Google Analytics and Crashlytics 2022-11-22 19:50:29 +01:00
Kirill Kamakin
2181cdbaa0 Bump version to 0.3.7 2022-11-22 19:45:35 +01:00
Kirill Kamakin
9180aa5068 Bump version to 0.3.6 2022-11-21 19:48:59 +01:00
Kirill Kamakin
b1cb38f659 Update app version 2022-11-20 18:19:21 +01:00
Kirill Kamakin
584d4de776 Update app version 2022-11-20 16:44:10 +01:00
Kirill Kamakin
7d3f83a0d2 Update app version to v0.3.3 2022-11-17 22:06:37 +01:00
Kirill Kamakin
6148c7e23e Bump version to 0.3.2 2022-11-13 15:54:51 +01:00
Kirill Kamakin
980ffd54cb Link "testing" as test dependency 2022-11-12 14:06:57 +01:00
Kirill Kamakin
4dcf1cc915 Extract base test classes to separate module 2022-11-12 13:52:56 +01:00
Kirill Kamakin
a501e6e9b9 Update app version 2022-11-06 20:19:19 +01:00
Kirill Kamakin
bbc368ce69 Reuse build configuration for logger 2022-11-05 12:42:58 +01:00
Kirill Kamakin
dfd590ee50 Add RecipeViewModel tests 2022-11-05 12:17:48 +01:00
Kirill Kamakin
81e3fcfd98 Start splash screen API migration 2022-10-31 21:08:17 +01:00
Kirill Kamakin
b72050e7cf Update app version 2022-10-31 20:46:17 +01:00
Kirill Kamakin
7c02df4d30 Add unit tests 2022-10-31 20:30:13 +01:00
Kirill Kamakin
a9cfca3eff Replace Glide kapt with Glide KSP 2022-10-31 19:56:42 +01:00
Kirill Kamakin
0c274dae13 Bump version to 0.2.5 2022-08-07 18:47:30 +02:00
Kirill Kamakin
e0a4442e72 Create network module 2022-08-06 18:23:10 +02:00
Kirill Kamakin
ad58af9db5 Remove empty line 2022-08-05 22:03:12 +02:00
Kirill Kamakin
107bb64256 Replace Timber with Logger 2022-08-05 20:16:29 +02:00
Kirill Kamakin
ba5f7322ab Implement logging module 2022-08-05 18:58:21 +02:00
Kirill Kamakin
057651c60f Use intermediate representation for AddRecipe draft 2022-08-04 21:19:15 +02:00
Kirill Kamakin
8784912cdb Extract AddRecipeInput proto file to a module 2022-08-04 20:53:26 +02:00
Kirill Kamakin
53b40bbc60 Extract database module 2022-08-04 19:34:21 +02:00
Kirill Kamakin
a21e4d395a Extract Jacoco setup to plugin 2022-08-03 20:26:21 +02:00
Kirill Kamakin
4d53b10db0 Extract application build setup to plugin 2022-08-03 19:48:55 +02:00
Kirill Kamakin
e53efc0307 Move SDK versions to version catalog 2022-08-01 22:26:35 +02:00
Kirill Kamakin
d80ae83c7d Move plugin versions to version catalog 2022-08-01 22:23:12 +02:00
Kirill Kamakin
7601702235 Move libraries versions to version catalog 2022-08-01 22:14:17 +02:00
Kirill Kamakin
51687437c0 Start working on extraction of versions 2022-08-01 21:14:54 +02:00
Kirill Kamakin
b82f75ab22 Use camelCase for Kotlin property names 2022-07-29 22:16:37 +02:00
Kirill Kamakin
2ab4b8dc52 Use KSP for Room 2022-07-29 22:06:46 +02:00
Kirill Kamakin
957e62eef7 Fix NonExistent class build errors 2022-07-29 21:46:32 +02:00
Kirill Kamakin
8193db9498 Migrate to Kotlin DSL 2022-07-29 21:43:07 +02:00