corbado / javascript

MIT License
10 stars 2 forks source link

User Management Panel UI #405

Closed aehnh closed 3 weeks ago

aehnh commented 1 month ago

as-is: only display components if the user has identifier to-be: display components if project supports identifier. If user doesn't have the identifier, add an option to add it

aehnh commented 1 month ago

as-is: only display components if the user has identifier to-be: display components if project supports identifier. If user doesn't have the identifier, add an option to add it

Need to add a new public frontend api v2 endpoint that returns which identifier types (+ full name) are enabled?

Options:

  1. New endpoint getSupportedIdentifierTypes(fullNameRequired, identifierConfig, socialConfig). Is this too much information for a public API endpoint? Can be limited to array of identifierTypes and array of socialProviderTypes.
  2. Add the fields as optional fields to the existing GetSessionConfig in fapiv2
aehnh commented 1 month ago

At first I thought the updated @corbado/types code needs to be published to npm registry, but it seems the issue is bigger than that:

Simply using LoginIdentifierType from packages/react breaks the lerna build command. If I add @corbado/types to packages/react/webpack.prod.js and packages/web-js/tsconfig.bundler.json, lerna build is fixed but running react playground fails.

Since everything works correctly outside this branch, it seems that modifying interdependent packages (react, shared-ui, types) simultaneously seems to cause the problem. Is there a best-practice for this that i'm not aware of?

aehnh commented 1 month ago

At first I thought the updated @corbado/types code needs to be published to npm registry, but it seems the issue is bigger than that:

Simply using LoginIdentifierType from packages/react breaks the lerna build command. If I add @corbado/types to packages/react/webpack.prod.js and packages/web-js/tsconfig.bundler.json, lerna build is fixed but running react playground fails.

Since everything works correctly outside this branch, it seems that modifying interdependent packages (react, shared-ui, types) simultaneously seems to cause the problem. Is there a best-practice for this that i'm not aware of?

It works when I use LoginIdentifierType from shared-ui instead of from corbado/types... why??? :(

incorbador commented 1 month ago
aehnh commented 1 month ago

todos for changes to the UI

  1. fix and use css variables in user.css
  2. proper coloring for light/dark modes (i guess this point is enabled by point 1)
  3. import the email+phone verification UI from login flow
  4. modularize name, username, email, and phone cards into different components/files like in passkeylist?
  5. create dropdown menu for "verify" and "delete" options for each email/phone
  6. ensure smooth responsive design
  7. add confirmation dialogs for when deleting an identifier, or deleting the account, as shown in figma
  8. handle what happens after successful account deletion (not specified in figma. direct to a confirmation page? go straight to login page?)
  9. generally improve every component to match the figma design (regarding size, padding, border, etc.)