* Adds a new route for logging in with mfa
* New path for security page
* Adds “Security” link to account side menu
* Update the Switch component to allow label positions left and right
* Optionally hide the Close button in the Dialog title bar
* Installs `qrcode` react package for generating QR codes.
* CopyButton component now takes children
* New Security route for setting up MFA
* Adds new OTP package for the chadcn InputOTP component
* Adds new InputOTP chadcn component
* Adds InputOTP chadcn component to the MFA login screen
* InputOTP component supports variant styles
* Improvements to form handling
* Show a confirmation modal before you can disable MFA
* Revert redirect back to the dashboard for now
* Implement MFA enabling and disabling
* Refactor and cleanup mfa management code
* More cleanup
* Handle errors in the management action
* Implement mfa login flow
* recovery code input should be password
* Implement rate limiting on the mfa validation endpoint
* Better error ux
* Implement mfa emails and apply James' updates
* Use latest @better-auth/utils
* Improvements via CodeRabbit review
---------
Co-authored-by: James Ritchie <james@trigger.dev>
* Don’t show the Ready To Run Job prompt if you have an Integration that needs attention
* Don’t highlight the row red or green
* Improvements to the contrast of the app sections and dividers
* Removed the Jobs page title as it’s duped info
* using the new border variable
* Sticky last table cell
* Improved the sticky last table cell
* Make any last cell in a table sticky by adding isSticky to it
* Added a dropdown menu to the menu table cell
* table rows can be marked as disabled by adding disabled
* Using the jobTestPath function for the test path
* tidy up imports
* Removed un-used props
* Removed the green badge variant
* Added a new status badge to the Runs table
* Clicking the gradient clicks the row
* Delete Job triggers a modal popup
* Added a large danger button type
* Added some modal styling and started adding data
* Added more styling and data to the delete job modal
* A table can now be given a full width prop
* Large danger button added to Storybook
* Danger button disabled state looks disabled now
* New active badge component to display in the table and logic for showing the env data
* Style updates to the dialog component
* active and job status badges can now have a small size
* Added a new named icon
* The Job page shows the Job status in the PageInfoRow
* Small badge style update
* Runs table has a sticky right cell
* Created a JobStatusTable component
* Added some placeholder help panel content for disabling a Job
* WIP creating a Settings page
* Added a delete button that triggers the delete modal – just need data hooking up
* Implemented deleting jobs from the dashboard
---------
Co-authored-by: Eric Allam <eallam@icloud.com>
* Setup project-wide prettier
* Remove old workspace file
* Remove old debugging directives
* New top-level .prettierignore
* Updated Prettier config settings
* Contrubuting guide: Fix for some bad code blocks
* Added more ignores
* Improved the format script command
* printWidth set to 100
* Formatted entire repo (pnpm run format)