Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
As part of #1348, categories will be transitioned from being an enum to an object class. This change allows categories to be dynamically defined by the backend.
As a result, the
PostCategory
enum has been removed since its values will no longer align with dynamically defined categories.Key Changes
API
The
PostCategory
enum is removed and replaced with the category id to align with the dynamic structure.App
Any UI Block that previously relied on
PostCategory
now includes a categoryId to support dynamic categories.The name of the category is resolved using the
CategoriesBloc
state, which stores all fetched categories.Bloc Placement:
The
CategoriesBloc
has been moved higher in the widget tree to make its data accessible across different screens, such as theArticleDetailsPage
.Hydrated Bloc Update:
The
CategoriesBloc
is no longer a hydrated bloc because categories are dynamic and storing them locally is unnecessary. The backend might change or update them at any time.📝 Note
The refactor of
Category
into an object class will be handled in a subsequent PR. This PR focuses first on refactoringPostCategory
, with theCategory
refactor to follow later, ensuring the changes remain manageable and the PR size is kept reasonable.Type of Change