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.
Complete the OAuth process by adding a redirect when pressing the login button with the provider. When the button is
pressed, the system will request the authentication URL from the backend, then the user will be redirected.