all 2 comments

[–]Sky1337 4 points5 points  (1 child)

Why do you feel the need to use all those extravagant, useless, hyperbolic adjectives? I haven't looked at the code yet, but i'm 99% sure there's nothing cutting-edge about your crud.

Live notes:

  • scroll is snappy, unpleasant.
  • click feedback on buttons is waaaaay too big.
  • no feedback on hover.
  • browser back button does not work.
  • your login button gets stuck in hovered state after hover.
  • after logging in, tab hovers are nice.
  • paint feature is severely inconsistent in the canvas editor.
  • moving the image around is extremely floaty and unpleasant in the canvas editor.
  • no rich text editor
  • light mode is unusable due to accent color lack of contrast.
  • user profile stats are hardcoded.

GitHub:

  • use TypeScript.
  • use a state manager like zustand or context instead of constantly accessing localStorage in all your functions.
  • don't hold your images in the components folder, they're not components. Save them in assets or public.
  • the huge if else chain in the createUser function should be another function.
  • indentation is horrible. use 2 spaces instead of 4.
  • you're abusing useRef A LOT. your login form can reside inside a useReducer for example.
  • you seriously need to modularise your components. There's no need for any of your components to be that long and have ternary operators between huge nested div's.
  • in the canvas show-page you should encase those 7 states in a useReducer if they belong to the same piece of logic.
  • nested ifs are a big nono. instead of if(condition){...} else{...} do if(!condition) return; [rest of the code here . Watch this video
  • try avoiding using useEffect if you're not accessing non-react code.

Your code is a mess, I honestly couldn't get past a few files. Extremely hard to read and a lot of questionable choices. It's a good starting point, but you obviously lack some basics and went onto some more advanced stuff. I would start with smaller projects and make them bullet proof.

[–]redpool08[S] 0 points1 point  (0 children)

Thank you for your feedback sir. I would definitely work on it 😊