### TL;DR
Refactored the `DomainCard`, `EditDomainDialog`, and `WebhookCard` components to improve code readability and enhance UI using new shared components like `Tag`, `Heading`, `Button`, and `CustomIcon`.
### What changed?
- `DomainCard` component:
- Replaced `Chip` with `Tag` component.
- Used `Heading`, `Button`, and `CustomIcon` components.
- Updated refresh icon to show `LoadingIcon` when checking.
- `EditDomainDialog` component:
- Used `useToast` hook for toast messages.
- `WebhookCard` component:
- Used `Input`, `Button`, and `CustomIcon` components for better UI.
- Added Storybook stories for the updated components.
### How to test?
1. Go to the project settings page.
2. Verify the `DomainCard` UI updates.
3. Edit a domain and check the toasts.
4. Verify the `WebhookCard` UI and functionality.
5. Run Storybook and inspect the added stories for the components.
### Why make this change?
To improve the consistency and user experience of the project settings UI, and to make the components more maintainable by using shared components.
---
### TL;DR
AddMemberDialog component now uses a Select dropdown for permissions instead of Checkboxes. CollaboratorsTabPanel now includes dismiss functionality for toasts.
### What changed?
- Updated AddMemberDialog to use a Select dropdown for permissions
- Added dismiss functionality for toasts in CollaboratorsTabPanel
### How to test?
Test the functionality of selecting permissions using the dropdown and toast dismissal in CollaboratorsTabPanel.
### Why make this change?
To improve user experience and UI consistency in permissions selection and toast management.
### TL;DR
This PR involves a minor change on the AddMemberDialog component style.
### What changed?
The 'justify-start' class was removed from the Modal.Footer in the AddMemberDialog.tsx.
### How to test?
Check the AddMemberDialog on the project settings page to make sure the style changes reflect accurately.
### Why make this change?
It's not specified the specific reason for the change, However, it's aimed towards improving the component's layout and presentation in the project settings page.
---
* Create web3 modal provider with SIWE
* Add auth router to handle SIWE authentication
* Use axios instance to make request
* Add button for SIWE authentication
* Add changes to access session in web-app GQL requests
* Add auth check in GQL context and load/create user
* Use authenticated user from context
* Redirect to sign in page if unauthenticated and logout button
* Change sign-in route to login
* Get project domain from config file
* Set user ethAddress column as unique
* Use formatted user name
* Get session secret and origin url from config file
* Add unique constraint for eth address
* Get secure and samesite from origin url
* Get wallet connect id and backend url from env file
* Format user email in member tab panel
* Add backend config isProduction to set trust proxy
* Use only one server url config
* Add tool tip for displaying email
* Add trustProxy and domain in server.session config
* Add SERVER_GQL_PATH constant in frontend
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Use branches from GitHub API
* Disable git branch input if repo not found
* Disable git branch if branches is empty
* Use async select for accounts dropdown
* Log actual HTTP error in console
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Display commit message in projects and deployments
* Handle if current deployment not present
* Rename types file
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add routes to settings tab panel
* Refactor code to move settings tab components to pages
* Rename registry fields in project and deployment entity
* Use kebab case for routes
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Implement dropdown for organizations switcher
* Add dynamic route for organization id
* Update routes for organization slug
* Use organization slug for adding project
* Refactor to fetch organizations at sidebar component
* Update organization switcher based on searched project
* Refactor types in frontend
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Change create new project ui for git authentication
* Use submit handler method from react hook form
* Handle review changes
* Have a pre-selected value for connect account tab panel
* Add GQL mutation for transfer project
* Integrate transfer project GQL client method
* Use update project GQL method for transfer project
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add mutation for adding project member
* Add GQL client method for add project member
* Handle review comments
* Integrate add project member GQL client method
* Handle cascades for project members and user organizations
* Add null type to user.name and domain.redirectTo
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Make use of domain id for redirecting domains
* Add checks in backend to prevent chain redirecting and editing redirected domain
* Add self relation to domain entity and use it to create and edit domains
* Add self referencing relation to initialize db script
* Add redirectToId column in domain entity
* Remove isRedirected flag from domain entity
* Refactor edit domain dialog box
* Use dummy data for repository
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add mutation to update permissions of project member
* Use update project member permission client method in UI
* Handle review changes
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Use react-oauth-popup for github authentication popup
* Fetch auth token and use in app to fetch list of repositories
* Get client id and secret from config
* Use GitHub search API for fetching repos
* Use debounce for searching repos and projects
* Change environment field to enum instead of array
* Update gql client for get environment variables query
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Refactor to remove use of organization project
* Remove organization project from member tab panel
* Handle review changes
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>