First of all I want to thank you for such meaningful review of my code Below are my replies to your feedback
Either debounce mouse position update or get rid of it altogether (in usePosition.js), because of performance issues.
You are right, now I’ve added debounce to it.
Inconsistency in styling - some files are CSS, some SCSS; class naming that resembles BEM, but is not.
Not all styles were scss, because I used scss only if it is needed. Now all files are scss even if there is no need to use scss in them. Have you any guesses to improve namings?
DB logic probably should be moved outside the component.
You sure it is necessary?
“Save” button is in Polish.
Well… yeah, I have overlooked this.
If the name in the list has non-latin characters (e.g. Mr بردیا کامروا, or even with something like Ś), your name validation RegEx fails.
Now I have fixed it by using different regex, now it works fine.
There are very few cases when you should use !important (I don’t think yours is one of those).
I have overlooked it.
Why handleSubmit in Edit.js is marked as async?
You are right, it was not necessary
What is the point of else statement in handleSubmit?
You are right, there is no point, I have overcomplicated it
If there are more than 15 names in the list, not all names are shown, but maybe it’s by desing
Thank you for see this, I didn’t notice that it was broken by other style. Now it is fixed
Inital fetching logic seems a bit convoluted, but I didn’t look too much into it, so maybe I’m wrong.
Have you any guesses to improve this logic?