Problem should be marked with all checked tags to be displayed in filter. Filters should be persisted between launches in Settings (SharedPrefs).
Filtering logic should be implemented in common module, so it later can be reused by iOS app. For better understanding of architecture, which is used in both apps (Redux) check out the following articles:
Description
Allow users to filter problems by tags. Problem's tags can be easily retrieved from https://codeforces.com/api/problemset.problems (endpoint is already implemented).
Problem should be marked with all checked tags to be displayed in filter. Filters should be persisted between launches in Settings (SharedPrefs).
Filtering logic should be implemented in
common
module, so it later can be reused by iOS app. For better understanding of architecture, which is used in both apps (Redux) check out the following articles:You can add
filters
toProblemsState
and reinit them as unique values of tags taken from problems when they are set inproblemsReducer
.Design
Add filter icon to the right side of toolbar in Problems tab. Icon is already added to app.
When clicked open this screen: https://www.figma.com/file/l6SIUlv0M74QAAeRVXeFNh/algoris.me?node-id=473%3A1214.