Login functionality is complete as described in #2.
Upon successful login, the user sees a loader and the login button is disabled, preventing further API calls until the request returns a response.
If they fail to log in, they are either told about their account being currently disabled or are told the wrong username or password message.
If login is successful and the user has selected their role and company previously, they are routed to the main page.
Successful login attempts result in the storing of user data and any further rerun of the application will autofill their login info.
If a user hasn't selected their role (seller or buyer) and the company to which they belong during registration (#1), then they will be shown the appropriate role and company selection screens.
If they continue, they get to choose a role (immediately updated). If they choose a role, they can select their respective company accordingly, given their role (sellers create a company, buyers choose between an existing one).
As an aside, there are a couple UX quality-of-life improvements that can be made, but have been set aside for now:
missing loaders and button disable calls for the floating action buttons on the role selection and company selection screens (it would be simplest to implement this if they were simply switched out for regular FormSubmitButtons which already have such functionality)
the snackbar error or info messages cover the floating action buttons for the role selection and company selection screens
Login functionality is complete as described in #2.
Successful login attempts result in the storing of user data and any further rerun of the application will autofill their login info.
If a user hasn't selected their role (seller or buyer) and the company to which they belong during registration (#1), then they will be shown the appropriate role and company selection screens.
If they continue, they get to choose a role (immediately updated). If they choose a role, they can select their respective company accordingly, given their role (sellers create a company, buyers choose between an existing one).
As an aside, there are a couple UX quality-of-life improvements that can be made, but have been set aside for now: