- Replaced `useDebounce` with `useDebounceValue` for better type inference and simplicity
- Added `getMenuProps` to `useCombobox` to support better accessibility and usability
- Minor style tweak to improve `ProjectSearch` header hover effect
- Created Storybook stories for the `ProjectSearchBar` component
---
* 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>
* Fix alignment of deployment status chip
* Use template name from env
* Use env for git template link
* Add loading spinner for create project
* Display user name
* Format the displayed user name
---------
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>
* Refactor mutation methods to service class
* Refactor database methods to service class
* Display organization name in sidebar
* Handle review comments
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* 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>
* 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>
* Use update project gql client method in UI
* Handle save project button based on form change
* Fix import order
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Find projects based on search text
* Use get search projects client method in UI
* Fetch searched projects inside useCombobox hook
* Get searched project from project entity
* Remove non required search projects filtering
* Fetch projects if user is owner or project member
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Update root readme and setup depcheck
* Use fetched domain data in edit domain dialog box
* Use fetched project data in general tab
* Rename files in gql-client package
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Use fetched domains data and use it in domains page
* Add record field to fetched domain data
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Refactor to fetch organization details in the parent component
* Fetch and use deployment details for a project
* Remove deployment field from ProjectDetails type
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>