Separate the navbar from the root layout, keeping the root layout clean. Create two child layout folders:
1. main: for basic layouts such as the navbar
2. clean: for clean layouts without any extra elements.
Completely refactoring the entire old codebase with a new codebase. This change also altered most of the core UI from the old codebase, replacing it with Shadcn with some customizations.
Prop the page component state function on the main to the page component so that the page can be changed from the page
component. Used for step-by-step login procedures.
Improve error handling by creating a function handler for connections on servers that use KY, and use the status key in
the response as the key to success instead of catch. Use catch if an error occurs between the client and server, not
between the server and backend.
Implement the toast element belonging to heroUI into the project and perform testing by adding the toast registry into
the provider, then running it as an error handler during authentication.
Removed disableDevtools from the security features because it was redundant with the popup feature, which caused the
authentication popup to always close.
Send the frontend callback URI to the backend as required by the OAuth vendor. The frontend explicitly sends the
callback URI for flexibility in the backend system.
A custom React hook that ensures a function is executed only once across the entire application, even in React Strict
Mode or during development hot reloads. Maintains a global registry to track execution status using a unique key.
Adding new hooks as a replacement for `useEffects(() => {}, [])` in React by adding React strict mode safety, which
means that this function will only be executed once, even in development mode.
Create a provider option in the callback handler to define the provider name for flexibility when used with multiple
providers and requiring multiple endpoints.