Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Here's my solution. It's not a finished, perfect result, it can be improved but that needs time.
One problem I had was syncing the server side state with the redux state. I just didn't have time to find the perfect solution for next.js 14 so I used a working solution, initiating the redux state in a function in AttributesTable, if the redux state is empty.
I didn't have time to check all the possible errors that can appear and handle them.
I didn't have time to optimize for re-renders, such as memoizing and checking if better data structures can be used for props.
When I read the project description I had the impression it will be quick and easy, but working on it I found out that there are many situations that require deeper thinking in order to come up with the best solution, and this needs time. For instance, that labels is only 2 pages long but the limit cannot be adjusted to more than 10 values. In a real life scenario I would likely talk to the BE colleague and adjust the limit value. So here I used a loop to grab the info on all the pages server side. It's not a solution I would use in a real life scenario since the multiple API calls don't make a lot of sense to me in this situation.