Commit Graph
100 Commits
Author SHA1 Message Date
nabarun ab72bbb03f Update template repo links (#124) 2024-02-27 14:16:36 +05:30
nabarun cc4e5fd627 Add deployer package for frontend app (#123)
* Add script and records for deploying frontend app

* Update readme with steps for new deployment

* Add troubleshooting section

* Move config env update

* Add step to commit updated records

* Bump record version
2024-02-27 11:52:05 +05:30
nabarunandneeraj b48afed24f Add project create template for image upload PWA (#109)
* Use image upload PWA template

* Set template URL from env

* Handle review changes

* Update readme and build app script

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-26 17:54:35 +05:30
nabarunandneeraj 353fd0f621 Set authority for record name from backend config (#104)
* Fix format of eth address to display

* Set authority for record name from backend config

* Add functionality to open repo button

* Use commit author image and commit url in activity card

* Handle review changes

* Fix commit author as null

* Add timeout to move to next page on project creation

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-23 14:47:29 +05:30
nabarunandneeraj 9acb9daacc Update README after implementation of authentication (#101)
* Update README

* Add tooltip to display ethereum address

* Update README for production deployment

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-22 19:24:06 +05:30
nabarun f7c45ca045 Unset cookie domain to localhost by default (#100) 2024-02-22 17:52:49 +05:30
nabarunandneeraj ef0eac8293 Implement authentication with SIWE (#99)
* 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>
2024-02-22 17:26:26 +05:30
nabarunandneeraj a846531e43 Set DNS in application deployment request (#94)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-22 12:50:35 +05:30
nabarunandneeraj 6b17dce2ae UI fixes in Snowball frontend app (#93)
* 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>
2024-02-22 11:25:17 +05:30
nabarunandneeraj e816c596ca Publish ApplicationRecord and ApplicationDeploymentRequest on creating new deployments (#89)
* Create application deployment request on new deployment

* Save application deployment request datas in deployment entity

* Add project as dependency

* Use project repo name as record app name

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-22 10:04:33 +05:30
nabarunandneeraj 8ca55cd888 Implement polling for project deployment updates (#87)
* Populate organization and user if db is empty

* Use hardcoded user id from fixtures

* Implement polling for get deployments query

* Handle review changes

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-21 15:34:33 +05:30
nabarunandneeraj a45fb4c617 Fix deployments visit URL and date filter (#78)
* Add method to update multiple deployments in single query

* Fix deployments URL visit and date filter

* Clean fixtures data

* Update fixtures data

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-20 10:53:42 +05:30
nabarunandneeraj c3d1b4f3eb Use branches from GitHub API in edit domain dialog (#74)
* 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>
2024-02-19 16:55:07 +05:30
nabarunandneeraj ce55fe62d8 Check for ApplicationDeploymentRecord and update deployments (#73)
* Add skeleton and TODOs for polling deployment records

* Add method implementations for fetching deployment records

* Handle if deployment url is not set

* Add logs after getting ApplicationDeploymentRecord

* Add application deployment record to deployment entity

* Change type of application deployment record data

* Fetch delay to check deployment records from config

* Update isCurrent after deployment record received

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-19 13:43:29 +05:30
nabarunandneeraj b007286f4a Add script to publish dummy ApplicationDeploymentRecord (#72)
* Add script to publish application deployment record

* Refactor publish deploy records script

* Assert if name doesn't exist in package.json

* Disable import environment variables button

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-16 15:05:52 +05:30
nabarunandneeraj d29b29f161 Use environment variables from DB in published record data (#70)
* Publish environment variables of deployment

* Handle review changes

* Use dummy gray image for projects

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-15 18:02:37 +05:30
nabarunandneeraj c4ba59d97e Create deployments on push events in GitHub repo (#69)
* Create repo webhook and express handler for webhook

* Create deployments from commits in GitHub

* Update isCurrent in previous production deployment

* Create script for setting authority

* Update README for initialize registry script

* Handle review changes

* Use correct repo URL in record data

* Handle github unique webhook error

* Handle async execution of publishing records

* Update readme with ngrok setup

* Review changes

* Add logs for GitHub webhooks

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-15 17:24:57 +05:30
nabarunandneeraj 9921dc5186 Show public repo GitHub activity without authentication (#68)
* Handle request error while fetching Git activity

* Use default Octokit instance if auth token is not available

* Rename input arguments of mutation methods to data

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-14 17:35:02 +05:30
nabarunandneeraj db3b9148b6 Save commit message in DB and show in deployments list (#67)
* Display commit message in projects and deployments

* Handle if current deployment not present

* Rename types file

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-14 14:25:50 +05:30
nabarunandneeraj adba64fd2b Fix route for adding domain in settings page (#66)
* Use Namespace import instead of named import

* Fix route for add domain

* Fix settings tab routes on changing sub path

* Fix stepper for add domain and project

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-14 12:16:01 +05:30
nabarunandneeraj 9144d42f70 Set record data with repo commit hash and package.json content (#65)
* Get latest commit hash from repo when adding project

* Update UI/UX

* Fill registry record with data from package.json

* Add package json type

* Correct record data based on laconic console

* Update README

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-14 11:03:22 +05:30
nabarunandneeraj 76dfd3bb76 Implement routes for project settings tab (#64)
* 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>
2024-02-12 15:18:00 +05:30
nabarun 559e0f8934 Implement routes for project tabs (#63)
* Add routes to project tabs

* remove react tabs and use material tailwind component instead

* Refactor code to move project tab panels in pages directory

* Remove unused function from database class

* Refactor routes for project tabs
2024-02-12 12:17:47 +05:30
nabarunandneeraj a58b9b255e Publish app deployment record in Laconic registry on creating new deployments (#62)
* Publish record in laconic registry on creating project and deployment

* Refactor publish record method

* Set name for the published record

* Publish application deployment request

* Add README for publishing record

* Add await in add project resolver method

* Update meta data for deployment request record

* Remove title field from deployment entity

* Refactor service and registry class for publishing record

* Add record data to project and deployment entity

* Set record id and data as nullable in project entity

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-12 11:34:01 +05:30
nabarunandneeraj bd6a6b330c Create new deployment on changing preview deployment to production (#61)
* Create new deployment when changing to production

* Remove unnecessary todos

* Move deployment id and url creation in database method

* Display correct details in deployment dialog box

* Rename relativeTime function to relativeTimeISO

* Refactor resolver methods to service class

* Refactor to move github app to service class

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-08 14:59:19 +05:30
nabarun e0001466e0 Implement functionality to create project using a template (#60)
* Create repository from selected template

* Create project based on created repository

* Replace dropdown component with component from material tailwind

* Remove repository name from query parameters
2024-02-08 09:20:49 +05:30
nabarunandneeraj 413ed03eb8 Implement organization switcher and use slug in URL (#59)
* 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>
2024-02-07 18:41:54 +05:30
nabarun 6d1a48905a Show domain connected status in overview tab (#58)
* Implement functionality to visit deployment

* Check and display domain details in overview tab for production branch

* Update fixtures to remove project name from deployment url

* Refactor and add uuid to typeorm entities

* Fix deployment url

* Display live domain details in project overview

* Use database query to fetch live production domain
2024-02-06 19:11:53 +05:30
nabarun c0cee2c57f Set project name for repository organization and name (#57)
* Remove unused methods from backend utils

* Set project name from repo organization and name when creating project

* Rename success and project components according to routes
2024-02-06 16:18:29 +05:30
nabarunandneeraj afd522654c Show domains for change to production and redeploy in deployments page (#56)
* Display URL for change to production dialog box

* Refactor database method for domains to service class

* Handle error in resolver instead of service class

* Return entity from service class for add operation

* Do not fetch branches if repo not available

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-06 14:18:06 +05:30
nabarun 7e522aa45d List latest commits from project repo in overview tab (#55) 2024-02-05 17:57:08 +05:30
nabarun 1c9597739b Change UI for create new project page (#54)
* 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
2024-02-05 16:56:53 +05:30
nabarunandneeraj da92ddfba3 Refactor mutation GQL methods to service class and display organization name (#53)
* 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>
2024-02-05 16:21:55 +05:30
nabarunandneeraj ac7064afa5 Set subdomain for project and set URL for each deployment (#52)
* Display current deployment info in overview tab

* Add assign domain dialog box in deployments

* Add empty link for project settings in assign domain dialog box

* Use react router dom link

* Add sub domain to project entity

* Add deployment url with custom generated string

* Set nano id to deployment id

* Add sub domain while creating new project

* Use same id as in url

* Update readme steps for production build

* Update README

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-05 14:56:28 +05:30
nabarunandneeraj 0fdc2631ee Implement Service class and refactor GQL queries in backend (#51)
* Add Service class and use in GQL resolver

* Refactor resolver query methods to service class

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-02 15:02:12 +05:30
nabarunandneeraj 8111d34d86 Implement functionality to transfer project to different organization (#50)
* 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>
2024-02-02 14:04:26 +05:30
nabarun ef89d69577 Implement creating project by importing repository (#49)
* Implement create project with import repository

* Add button for creating project in deploy step
2024-02-01 18:10:15 +05:30
nabarunandneeraj 0aa35d05f4 Implement functionality to add project members (#48)
* 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>
2024-02-01 15:34:17 +05:30
nabarunandneeraj 7e2a313012 Implement functionality to add and delete Deploy webhooks (#47)
* Add mutation to add webhooks

* Implement frontend to add webhooks and refactor code to use updateProject resolver

* Implement functionality to delete webhooks

* Refactor webhook card component

* Update readme for frontend env GitHub OAuth client ID

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 14:04:07 +05:30
nabarunandneeraj aa49bb0de2 Implement functionality to update production branch in project settings (#60)
* Add mutation to update prod branch for project

* Implement frontend to update production branch

* Handle review changes

* Update README for Github creating OAuth app

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 1d58beb2ec Implement functionality to delete domain (#59)
* Implement functionality to delete domain

* Remove redirectToId from frontend

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarun 3a7f16467e Save gitHub token in DB and unauthenticate on expiry (#58) 2024-02-01 11:37:57 +05:30
nabarunandneeraj 0dd6c7702a Implement functionality for editing domain (#57)
* 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>
2024-02-01 11:37:57 +05:30
nabarunandneeraj ace27c7eae Implement functionality to update project member permissions in settings (#56)
* 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>
2024-02-01 11:37:57 +05:30
nabarunandneeraj b5e7554c26 Integrate GQL mutations for updating and deleting environment variables in frontend (#55)
* Use edit and delete environment variable gql client method

* Handle review changes

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj c8c6f66ed2 Add mutations for edit and delete environment variables (#54)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarun e1e9a7063e Implement Github authentication to show repositories list (#45)
* 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
2024-02-01 11:37:57 +05:30
nabarunandneeraj 2f8d21baf5 Update environment variable entity schema to update them individually (#53)
* Change environment field to enum instead of array

* Update gql client for get environment variables query

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 8ead083ab3 Display searched project from different organization (#52)
* 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>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 8bbe2583cb Add createdBy column in deployments table (#51)
* Add and use createdBy field in deployment entity

* Use updated get deployments client method in UI

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj d97794f1bf Integrate rollback deployment GQL mutation in frontend (#49)
* Use rollback deployment client in UI

* Check if deployements domain is undefined

* Fix typo

* Rename variable to current deployment

* Handle deployment domain relation on rollback

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj fdf06f9bd0 Add GQL mutation for updating domain (#50)
* Pass data for all domains in edit domain dialog box

* Add mutation to update domain by id

* implement front end and gql client method to edit domain

* Rename arguments of resolver function to update domain and project

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj a34e2286a6 Implement functionality for adding new domain in project settings (#48)
* Add mutation to create new domain

* Update mutation to create two domains for www and non-www variant

* Add gql-client method and frontend to create domain

* Display fetched domains in domains tab panel using project id

* Fix graphql type for fetching domains

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 8c38d4788e Add GQL mutation for rollback deployment (#46)
* Show project owner in member tab panel

* Implement mutation for rollback deployment

* Fix project members count

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 1ae1564878 Add GQL mutation to delete project (#43)
* Implement delete project functionality

* Use delete project client method in UI

* Refetch projects information on deleting project

* Use project's current deployment domain name for url

* Handle review changes

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj cfb4b4637c Add script to delete existing database (#44)
* Fix deployment creation time and hard coded title

* Add delete database script

* Use database file path from config file

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 0feeb9408d Add GQL mutation for redeploying deployment to production (#42)
* Add graphql mutation to redeploy deployment to production

* Implement frontend to redeploy deployment to production

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 5310d7c7d0 Add GQL mutation for updating project data in general settings tab (#41)
* 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>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 61120ac44a Add GQL mutation for updating Project entity data (#40)
* Add update and query method for project

* Rename variables to update result

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 2fb048e8ab Add GQL mutation to update deployment to production (#39)
* Add mutation to update deployment to production

* Implement gql client mutation and frontend to update deployment to production

* Add toast message when deployment is changed to production

* Throw error from init db script if db aleardy exists

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 44310d4eb8 Add and refresh environment variables in project settings tab (#37)
* Create and use add environment variables gql client method

* Implement get environment variables method

* Display fetched environment variables

* Refactor create environment variables submit handler

* Use environment variables type from gql-client

* Add fixtures for project member

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj c2b997a17b Add GQL query for projects search in app (#38)
* 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>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 2d7e56c0e1 Add fixtures for remaining entities in database initialization script (#36)
* Create fixture data for remaining entities and load it in db

* Rename currProject to currentProject in frontend package

* Handle review changes

* Update readme for loading fixtures

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj 890603061f Add script to load fixture data in database (#34)
* Add fixture data and populate database with it

* Use node to run commands in package scripts

* Move test directory out of src directory

* Save projects with user and organization relation

* Refactor and add generalized function to load data

* Populate userOrganization entity with test data

* Change project id type from number to string

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
nabarunandneeraj c61df21a00 Add new member dialog in project settings tab (#42)
* Implement add member dialog

* Fix typo

* Display the added pending member

* Seperate form submit handler for add member dialog

* Enable production branch input on repo connected

* Refactor project to include members permissions

* Refactor add member handler

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-01-09 12:25:37 +05:30
nabarunandneeraj 0894d8da3c Add dropdown for updating member permissions (#41)
* Implement functionality to permissions dropdown

* Find project owner from projects json

* Show selected option in dropdown

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-01-08 17:57:34 +05:30
nabarun 2bd378ada5 Add updates in previously implemented pages (#40)
* Add cancel button in deployments status filter

* Add namecheap hyperlink in domain config page

* Add disconnect repo confirm dialog
2024-01-08 16:58:58 +05:30
nabarunandneeraj 198a8ac335 Add members tab layout in project settings (#39)
* Add layout for members panel

* Get members detail from projects json

* Add members to all project

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-01-08 13:17:42 +05:30
nabarunandneeraj 66aa8fed4f Add dialog for editing domains in project settings tab (#38)
* Implement edit domain dialog

* Pass project and repo from domain component

* Fix dialog states in domain card

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-01-08 10:48:07 +05:30
nabarunandneeraj 2cb1feedcb Implement functionality for adding web hooks in settings Git tab (#37)
* Add webhookUrl card in settings/git

* Implement copy functionality

* Fix form reset

* Handle review changes

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 18:21:27 +05:30
nabarunandneeraj abff6c83e5 Add confirmation for deleting domain from project settings page (#36)
* Add delete domain dialog box

* Update toast message

* Fix table warning

* Remove Toaster from other parts of code

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 15:31:46 +05:30
nabarunandneeraj 7ba390d59b Implement domains list in project settings tab (#35)
* Display pending domains card in domain layout

* Rename variables

* Refactor fields in domains json

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 14:14:20 +05:30
nabarunandneeraj a6f9e18972 Add layout for Configure DNS section in Add domain page (#34)
* Add dns config page

* Move routes to domain/add directory

* Handle review change

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 14:05:01 +05:30
nabarun 7799e0337b Implement scrollable content in dashboard layout (#33) 2023-12-28 12:21:46 +05:30
nabarunandneeraj 42ec846ff2 Implement dynamic selection of primary domain name (#32)
* Add dynamic selection of primary domain

* Update alert message

* Fix alert message

* Update alert message

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 12:11:46 +05:30
nabarunandneeraj f870ab90f7 Add layout for Git tab in project settings (#31)
* Implement layout and functionality for git tab panel

* Refactor project repository card prop

* Add repo selection handler prop

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 11:52:05 +05:30
nabarunandneeraj 94c4da0175 Add form for adding new domains (#30)
* Add layout to implement addition of new domains

* Refactor code

* Add page to setup domain name

* Update layout of add domain page

* Use react-hook-form in add domain page

* Remove unnecessary code

* Handle review change

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-27 18:26:20 +05:30
nabarunandneeraj 9b224f218a Show error messages and toasters in Environment variables settings tab (#29)
* Display error if fields are empty

* Show number of added variables in toast

* Show horizontal line between different environments

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-27 17:02:34 +05:30
nabarunandneeraj 0268656d2f Add page for new domain in project settings (#28)
* Add layout to implement addition of new domains

* Handle review changes

* Move AddDomain component to pages directory

* Use useLocation for pathname

* Use relative paths to navigate between pages

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-27 11:54:47 +05:30
nabarunandneeraj 642ba72b8f Add section for displaying environment variables in project settings (#27)
* Implement functionality to display environment variables

* Handle confirm of confirm dialogs

* Reset to default value on cancel button click

* Rename delete dialog open variable

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-27 11:29:31 +05:30
nabarunandneeraj bab09bd858 Implement layout for Environment variables tab in project settings (#26)
* Implement functionality to add environment variables

* Use field array hook to handle variables form

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-26 17:08:20 +05:30
nabarunandneeraj 60235902a7 Implement layout for Domain tab in project settings (#25)
* Implement layout for Domains tab in settings

* Handle review changes

* Add json file for domains and take values from it

* Handle review changes

* Rename DomainsCard to DomainCard

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-26 12:47:42 +05:30
nabarunandneeraj fc2bdefe17 Add confirm dialogs for deployment menu (#24)
* Add dialogs for deployment menu items

* Populate deployment dialogs with dummy json

* Pass production deployment as prop to deployment card

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-26 11:53:28 +05:30
nabarun ef72a0351e Refactor routes with layout and show search bar in project details page (#23)
* Refactor routes with layout and show search bar in project details page

* Set common search layout for child routes
2023-12-22 14:19:59 +05:30
nabarunandneeraj e93cca598a Add transfer and delete project in settings tab panel (#22)
* Add dialogs for transfer and delete project

* Refactor confirm dialog

* Handle form state of transfer and delete dialog

* Handle default value of transfer dropdown

* Add space in delete dialog body

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-22 12:31:30 +05:30
nabarun 5dc079bc8f Fix typo and use null type for project domain (#21)
* Fix typo iglootools

* Use null type for project domain
2023-12-21 16:55:47 +05:30
nabarunandneeraj 0a1a53e0bc Add chips to display different kinds of information (#20)
* Add chip for showing deployment status

* Add chip to display projects count

* Display label if project search is not matching

* Add chip to display domain is not connected

* Fix text size in chips for deployment domain

* Add chip to display if repository is private

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-21 16:42:06 +05:30
nabarun 3133fb989f Fix text colors and visibility throughout app (#19) 2023-12-21 14:59:33 +05:30
nabarun 2650fa8867 Implement filtering deployments by date range selector (#17)
* Add date picker component for selecting range of dates

* Filter deployments by updatedAt date range
2023-12-21 12:00:07 +05:30
nabarunandneeraj 5c762f3583 Implement filtering repositories by name and account (#18)
* Filter repositories according to title

* Add style to project repo card

* Filter repositories through title and user

* Update project repository card for user

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-21 11:59:17 +05:30
nabarunandneeraj 6590b8f6f5 Show deploy step logs in collapsible component (#16)
* Use collapse to display process logs

* Implement functionality to copy log button

* Implement functionality to copy project id

* Add toast for successful copy

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-21 09:45:14 +05:30
nabarun 318ebdfd26 Filter deployments with status options (#15) 2023-12-20 16:43:27 +05:30
nabarunandneeraj cfb299c79e Implement vertical stepper in create new project with template flow (#14)
* Implement vertical stepper in create project page

* Handle if active step is not found

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-20 16:30:08 +05:30
nabarun 237bd01159 Implement filtering deployments on search (#13) 2023-12-20 14:08:34 +05:30
nabarunandneeraj d04517d9bb Implement confirmation dialog and menu popup (#12)
* Implement confirmation dialog for cancel deployment

* Add menu to project and deployment card

* Use dropdown for account selection

* Organize create project components

* Refactor cancel deployment dialog

* Fix cancel button flex align

* Fix typo

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-20 12:03:05 +05:30
nabarunandneeraj c0a20c80a2 Implement layout for Project settings tab panel (#10)
* Implement tab functionality for settings pannel

* Use material ui input component

* Handle form state of general panel

* Organize project components

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-20 10:16:10 +05:30
nabarun 0b91771e90 Implement projects search functionality in home page (#11)
* Implement search functionality with downshift

* Show project details in suggestions and handle selection

* Rename component to ProjectSearch

* Use renamed component
2023-12-20 09:59:02 +05:30
nabarunandneeraj 3c220c5dc6 Implement layout for deploy success page (#9)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-19 15:54:15 +05:30
nabarun 620e1aad53 Integrate material tailwind library (#8) 2023-12-19 14:47:02 +05:30
nabarunandneeraj 3e00ef555c Implement layout for Deploy section of creating new project (#7)
* Implement layout for deploy page

* Add time functionality in deploy page

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-19 14:22:25 +05:30