An app for finding information about and reviewing your local climbing wall - currently limited to London. Live site can be viewed at www.clambr.co.uk.
Hi Mike, Niklas from Ticketmaster here! I hope you don't mind me submitting this as an issue. After reading the code I have a couple of questions and suggestions for improvements.
To make the code easier to read I strongly suggest using a code formatter like prettier and perhaps eslint with some basic rules
I suggest adding some notes to the README explaining what the project does so it's not just the default create-react-app template
Some files are specifying classes but do not import a sass file e.g. src/components/singleWallComponents/contentTabs.js which makes it difficult to track where the styles come from
Any reason why you call localStorage.removeItem in the reducer? You don't usually see side-effects in a reducer I think
In src/helpers/Auth.js you have some async functions that create new promises with new Promise. Do we need to do this or can we make the top function async and just awaiting the fetch directly?
When encoding query parameter values I recommend using encodeUriComponent (src/components/singleWallComponents/map.js) and you won't have to manually replace the & and other special characters
In some places we get quite a deeply nested dom. Can it be flattened? Example: src/components/singleWallComponents/contentTabs.js
Multiple function components with the same name e.g. SingleWall makes debugging difficult
There are some accessibility issues: inputs without a label, inputs using a placeholder instead of a label e.g. src/components/sortAndFilter/PostcodeSort.js
There are some places where I think extracting parts into separate components could make it easier to read and reduce some duplication e.g. src/components/sortAndFilter/WallFilter.js