xorum-io / codeforces_watcher

Mobile client application for Codeforces competitive programming platform.
https://xorum.io
MIT License
90 stars 16 forks source link

Filter problems by tags. #251

Closed yev-kanivets closed 3 years ago

yev-kanivets commented 3 years ago

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 to ProblemsState and reinit them as unique values of tags taken from problems when they are set in problemsReducer.

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.

dush1729 commented 3 years ago

@yevhenii-kanivets Please assign this to me