Commit Graph

303 Commits

Author SHA1 Message Date
Andre H
ee35e64f69 🔧 chore: add icons 2024-02-28 23:06:54 +07:00
Sushan Yadav
563059e887 chore: comment fixes - tab issues and hardcoded strings 2024-02-28 20:46:08 +05:45
Wahyu Kurniawan
075cec58e5
🎨 style: add github icon 2024-02-28 21:27:04 +07:00
Wahyu Kurniawan
d52a34da35
🐛 fix: controlled and uncontroller console error 2024-02-28 21:18:29 +07:00
Wahyu Kurniawan
eb4ccfbc9c
🎨 style: make the input width full 2024-02-28 21:17:59 +07:00
Wahyu Kurniawan
769593913e
🐛 fix: button inside button console browser error 2024-02-28 21:17:30 +07:00
Wahyu Kurniawan
eda2cc76ed
♻️ refactor: restructured and restyling project repo card component 2024-02-28 21:16:59 +07:00
Wahyu Kurniawan
99eb514306
♻️ refactor: restructured and restryling repository list component 2024-02-28 21:16:26 +07:00
Sushan Yadav
acf5aab26f Merge branch 'main' into sushan/T-4914-project-overview-layout 2024-02-28 16:57:32 +05:45
Sushan Yadav
b43ee3b7bb feat: add deplyment infos 2024-02-28 16:39:26 +05:45
Wahyu Kurniawan
b1bf47d104
[T-4921: feat] Update project card component (#136)
* 🎨 style: add hover interaction to the card

* ️ feat: make the whole card clickable

* 🎨 style: adjust hovered background for wavy border

* ♻️ refactor: move wavy border class to project card theme

* 🎨 style: add transition when hover

* 📝 docs: add todo to experiment using `Link` componnt
2024-02-28 16:50:55 +07:00
Wahyu Kurniawan
8ee61c0c85
[T-4910: feat] Re-styling dashboard, create project layout, project template card (#135)
* 🎨 style: adjust wavy border and add layout wavy border

* ♻️ refactor: change sidebar to use `nav`

* ♻️ refactor: org slug dashboard layout

* ♻️ refactor: create project layout and restyling it

* ♻️ refactor: remove unused style

* ️ feat: restyling template card

* ️ feat: create template icon component

* ️ feat: use `h2` for layout title

* ️ feat: Add isComingSoon property to templates and handle click event in TemplateCard component

* ♻️ refactor: WavyBorder component and update CreateProjectLayout

* 🎨 style: update button medium size padding

* 🎨 style: update layout shadow and add new shadow for the template card

* ️ feat: add wavy border gradient and line svg assets

* refactor: update wavy border svg

* 🎨 style: adjust template card name and arrow also responsive of the list of template

---------

Co-authored-by: Zachery Ng <zachery.ng@gmail.com>
2024-02-28 16:22:54 +07:00
Andre Hadianto
33aa75e341
Merge pull request #133 from snowball-tools/andrehadianto/T-4906-create-project-connect-github
[T-4906] create project connect GitHub
2024-02-28 15:55:59 +08:00
Sushan Yadav
a238610522
Reskin Project Overview - Activity section (#134)
* feat: reskin w/ new design system

* feat: add sepeator calc in comment

* chore: limit commit message to 4 line

* comment fixes

* chore: use Heading component
2024-02-28 13:31:41 +05:45
Zachery Ng
bd4a51c830 style: update tertiary button 2024-02-28 15:45:57 +08:00
Andre H
4a87c100d6 🔧 chore: use proper type 2024-02-28 14:20:12 +07:00
Andre H
3493d735b9 🔧 chore: replace bgClass with className 2024-02-28 14:19:02 +07:00
Andre H
a324d32ebf 🔧 chore: use Heading 2024-02-28 13:51:35 +07:00
Andre H
4519494be8 ♻️ refactor: cherry pick fomr main 2024-02-28 13:49:11 +07:00
Andre H
319822c8e6 🔧 chore: add shadow to button 2024-02-28 13:46:09 +07:00
Andre H
c5273ff530 ♻️ refactor: use IconWithFrame 2024-02-28 13:39:50 +07:00
Andre H
2585418ed6 🔧 chore: implement IconWithFrame common component 2024-02-28 13:39:30 +07:00
Wahyu Kurniawan
62734308fc
[T-4907: style] Re-styling home page & sidebar component (#132)
* ️ feat: create heading component

* ♻️ refactor: move sidebar inside shared components

* ️ feat: add polymorphic prop type for heading component

* 🎨 style: re-styling project list page

* ♻️ refactor: remove `.env`

* 🎨 style: set default font weight to normal for heading component
2024-02-28 12:50:30 +07:00
Andre H
89306ddcc7 🔧 chore: add toast 2024-02-28 11:19:09 +07:00
Andre H
3b67396c43 ️ feat: reskin connect github 2024-02-28 10:55:10 +07:00
Andre H
3535bd3a58 🔧 chore: add GitTeaIcon 2024-02-28 10:53:05 +07:00
Vivian Phung
13fc92bf0e
Merge pull request #128 from snowball-tools/ericlewis/prettify-select 2024-02-27 10:44:59 -05:00
Vivian Phung
5680961964
Merge pull request #122 from snowball-tools/repo 2024-02-27 09:18:20 -05:00
Wahyu Kurniawan
8280f4c7f7
[T-4902: feat] Update project card (#126)
* ️ feat: create wavy border component

* ️ feat: create project card component

* ️ feat: add new size in avatar

* 🎨 style: add default border radius when the shape is default on the button

* ️ feat: create some icons for project card component

* 🔧 chore: install and setup jetbrains mono font family

* ️ feat: create `getInitials` util function

* 🎨 style: add jetbrains mono font to the tailwind config

* ️ feat: add warning error icon

* ♻️ refactor: change `jetbrains-mono` to `mono`
2024-02-27 21:16:38 +07:00
Vivian Phung
195471b888
Merge branch 'main' into repo 2024-02-27 00:07:22 -05:00
Wahyu Kurniawan
c731dd308c
[T-4840: feat] Dropdown/select component (#108)
* 🎨 style: adjust z index of the date picker popover

* 🎨 style: add new spacing and rename box shadow from calendar to dropdown

* 🐛 fix: console error becasue button inside button

* ♻️ refactor: rename shadow calendar to shador dropdown on calendar component

* 🚀 perf: remove vscode settings inside `packages/frontend`

* ️ feat: create check radio icon and chevron down icon component

* 🔧 chore: install `downshift`

* ️ feat: create select component

* 🎨 style: adjust the popover position based on the user screen

* ️ feat: separate select item to be a component

* ️ feat: separate select value to be a component

* ♻️ refactor: adjust style and refactor to a new component

* ️ feat: create a type for merge two interface but keep the last value

* 🐛 fix: forward ref the component to fix console error

* ️ feat: add `hideValues` prop to hide the values when on multiple

* 🐛 fix: no result not showing

* ️ feat: make the select to be controller component

* ♻️ refactor: remove console log

* ♻️ refactor: update pr review
2024-02-27 12:05:16 +07:00
Vivian Phung
8ce531274d
center items in nav bar of git repos 2024-02-27 00:00:52 -05:00
Vivian Phung
6c38094093
github icon in search repo 2024-02-26 23:56:20 -05:00
Vivian Phung
95285d30dd
private repo + repo 2024-02-26 23:50:42 -05:00
Eric Lewis
d73c3c7daf fix: select issue 2024-02-26 22:57:05 -05:00
Eric Lewis
10a875d6e8 feat: prettify select in sidebar 2024-02-26 22:46:42 -05:00
Vivian Phung
284eb1403a
Merge pull request #116 from snowball-tools/ericlewis/search-bar
feat: prettier search area
2024-02-26 22:35:46 -05:00
Eric Lewis
b88752da69 softer line 2024-02-26 22:34:42 -05:00
Eric Lewis
549dc5af10 feat: prettier search area 2024-02-26 22:24:15 -05:00
Vivian Phung
81f27442fb
github page (#114)
* ss

* comment out connect account tab model for now
2024-02-26 21:08:39 -05:00
Eric Lewis
2442e92395 feat: side bar tabs + icons 2024-02-26 18:35:45 -05:00
Vivian Phung
5eff273abb
Merge branch 'designsystem' of github.com:snowball-tools/snowballtools-base into designsystem 2024-02-26 17:46:28 -05:00
Eric Lewis
ccc4589033 partial sidebar style 2024-02-26 17:45:04 -05:00
Vivian Phung
cf2f9a88e1
Merge branch 'main' of github.com:snowball-tools/snowballtools-base into designsystem 2024-02-26 17:44:42 -05:00
Eric Lewis
042aff2f87 temp (?) fix build
revert this if needed
2024-02-26 11:56:51 -05:00
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
Vivian Phung
0dfecd024d
merge 2024-02-24 00:01:06 -05:00
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
Andre H
5a5756bcf2 🔧 chore: add cloneIcon to dep list 2024-02-23 10:47:50 +07:00
Andre Hadianto
22233d95f8
Merge branch 'andrehadianto/design-system-components' into andrehadianto/T-4868-tags 2024-02-23 11:44:29 +08:00
Wahyu Kurniawan
12fba5ee0c
[T-4845: feat] Date picker component (#97)
* ️ feat: create calendar icon for date picker

* ️ feat: create date picker component

* 📝 docs: add date picker to the example page

* 🔧 chore: install `@radix-ui/react-popover`
2024-02-23 10:22:33 +07:00
Wahyu Kurniawan
9b6c777f5f
[T-4865: feat] Segmented controls component (#91)
* ️ feat: create segmented controls component

* 📝 docs: add segmented controls component to example page

* ♻️ refactor: put the icon size to icon theme

* 🐛 fix: remove `value` from `useCallback` dependency
2024-02-23 10:20:08 +07:00
Andre H
55848b1dd1 ♻️ refactor: rename tags to tag 2024-02-22 22:46:10 +07:00
Andre Hadianto
42bf1534fb
Merge branch 'andrehadianto/design-system-components' into andrehadianto/T-4869-toast 2024-02-22 23:42:47 +08:00
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
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
Wahyu Kurniawan
7d1810ebd9
[T-4866: feat] Switch component (#92)
* ️ feat: create switch component

* 📝 docs: add switch to the example page

* 🔧 chore: install `@radix-ui/react-switch`

* 🎨 style: add inset shadow

* 🎨 style: addjust input outline when error and focus
2024-02-22 17:42:13 +07:00
Wahyu Kurniawan
d2ca4df35a
[T-4864: feat] Radio component (#90)
* 🎨 style: make the cursor of the tab trigger wrapper to default

* ️ feat: create radio component

* 📝 docs: add radio component to the example page

* 🔧 chore: install `@radix-ui/react-radio-group`
2024-02-22 17:30:33 +07:00
Zachery
30bbe4d766
[T-4870] Tooltip component (#96)
* fix: button forwardRef

* feat: tooltip component
2024-02-22 18:25:04 +08:00
Andre H
8952393b31 🔧 chore: remove not working swipe down gesture 2024-02-22 17:08:05 +07:00
Andre H
32918b7930 🔧 chore: index import 2024-02-22 17:07:15 +07:00
Andre H
fb932eeb04 ️ feat: implement tags component 2024-02-22 17:01:36 +07:00
Andre H
200ea3ca7b 🐛 fix: aria-hidden naming on input 2024-02-22 16:14:27 +07:00
Andre H
4d646e1ac0 🔧 chore: extend to buttonOrLinkProps 2024-02-22 15:03:21 +07:00
Andre H
5be29a9745 🔧 chore: add id to allow singular toast deletion 2024-02-22 14:59:12 +07:00
Andre H
fffc370d40 🔧 chore: rework usememo logic 2024-02-22 14:58:57 +07:00
Andre H
1cd60d84dd 🔧 chore: use framer-motion 2024-02-22 14:22:29 +07:00
Andre H
c8a153ad27 🔧 chore: usememo dependencies 2024-02-22 14:20:26 +07:00
Andre H
675112079c ️ feat: implement toast component 2024-02-22 14:16:47 +07:00
Andre H
cb928c3360 🔧 chore: use buttonbaseprops, duration 2000 default 2024-02-22 14:16:21 +07:00
Andre H
5836779403 🔧 chore: export buttonBaseProps 2024-02-22 14:13:47 +07:00
Andre H
028dd35db1 🔧 chore: add icons 2024-02-22 14:13:27 +07:00
Andre H
ef9f4df28a 🔧 chore: ghost button is white, not transparent 2024-02-22 14:13:10 +07:00
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
Andre H
267b52a352 Merge remote-tracking branch 'origin/andrehadianto/design-system-components' into andrehadianto/T-4869-toast 2024-02-22 11:49:11 +07:00
Andre H
22c581dd33 🔧 chore: add icons 2024-02-22 11:46:17 +07:00
Andre H
d3013719e6 🔧 chore: wip simple toast render 2024-02-22 11:45:55 +07:00
Andre H
98a4d7be07 ️ feat: implement toast contexts 2024-02-22 11:45:35 +07:00
Wahyu Kurniawan
6df094bf2e
[T-4861: feat] Inline notification component (#86)
* ️ feat: create info square icon component

* ️ feat: create inline notification component

* 📝 docs: add js doc comment and add inline notification component to the example page

* 🐛 fix: use the right method of `useCallback
2024-02-22 10:45:19 +07:00
Andre Hadianto
2369f4498a
Merge pull request #85 from snowball-tools/andrehadianto/T-4863-input-field
feat: input field
2024-02-22 10:18:59 +08:00
Wahyu Kurniawan
eb6a727425
[T-4862: feat] Link component (#88) 2024-02-22 09:17:22 +07:00
Andre H
da2f7ede42 🔧 chore: add dependency to usememo 2024-02-22 09:15:17 +07:00
Andre H
448d0ceb7c 🔧 chore: 1 classname per object 2024-02-21 17:10:45 +07:00
Andre H
195d957251 🔧 chore: restructure tailwind classnames 2024-02-21 17:08:33 +07:00
Andre H
b663067035 🔧 chore: use absolute import 2024-02-21 17:07:30 +07:00
Andre Hadianto
b3a99475af
Merge branch 'andrehadianto/design-system-components' into andrehadianto/T-4863-input-field 2024-02-21 17:39:29 +08:00
Wahyu Kurniawan
ea44efa0f2
[T-4867: feat] Horizontal and vertical tabs component (#84)
* ️ feat: create tabs component

* ♻️ refactor: avoid big conflict on the example page

* 🔧 chore: upgrade tailwindcss and install `@radix-ui/react-tabs`

* ️ feat: create globe icon component

* 🎨 style: adjust vertical tab theme

* 📝 docs: add vertical tabs to the example page
2024-02-21 16:13:16 +07:00
Andre H
33b6191539 ️ feat: implement Input Field component 2024-02-21 15:43:53 +07:00
Andre H
636f68d7a4 🔧 chore: add more icons 2024-02-21 15:43:32 +07:00
Andre H
b5eef95d15 Merge remote-tracking branch 'origin/main' 2024-02-21 11:00:14 +07:00
Zachery
f0121605c4
feat: avatar component (#76) 2024-02-21 11:39:38 +08:00
Wahyu Kurniawan
83508cd81d
Merge branch 'andrehadianto/design-system-components' of https://github.com/snowball-tools/snowballtools-base into ayungavis/T-4837-badge 2024-02-20 23:38:35 +07:00
Wahyu Kurniawan
a5bce0cda2
🎨 style: adjust disabled hover text color 2024-02-20 23:34:20 +07:00
Wahyu Kurniawan
3a085a79ae
Merge branch 'andrehadianto/design-system-components' of https://github.com/snowball-tools/snowballtools-base into ayungavis/T-4838-checkbox 2024-02-20 23:29:18 +07:00
Wahyu Kurniawan
e482f998a1
️ feat: create badge comopnent 2024-02-20 23:26:04 +07:00
Wahyu Kurniawan
26260976fb
️ feat: create check icon for checkbox component 2024-02-20 23:25:19 +07:00
Wahyu Kurniawan
5e3a6ad2b5
️ feat: create checkbox component 2024-02-20 23:25:19 +07:00
Wahyu Kurniawan
5c5d759c10
♻️ refactor: fix typo and change to readable name 2024-02-20 23:24:28 +07:00
Wahyu Kurniawan
ad7dd1920a
️ feat: create calendar component 2024-02-20 23:24:27 +07:00
Wahyu Kurniawan
cc97ddff9d
️ feat: create chevron left, right, and grabbed horizontal component 2024-02-20 23:24:27 +07:00
Wahyu Kurniawan
0f7c6c73c9
️ feat: make the button component to forward ref 2024-02-20 22:59:31 +07:00
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
Wahyu Kurniawan
2b78cab849
️ feat: create custom icon and plus icon component 2024-02-19 21:15:51 +07:00
Wahyu Kurniawan
862862a9c5
🎨 style: update button and button icon only theme 2024-02-19 21:15:29 +07:00
Wahyu Kurniawan
56adfc4806
🐛 fix: typescript error 2024-02-19 20:14:23 +07:00
Wahyu Kurniawan
e850435c2d
️ feat: create button component 2024-02-19 20:13:11 +07:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
7e522aa45d
List latest commits from project repo in overview tab (#55) 2024-02-05 17:57:08 +05:30
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
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
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
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
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
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
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
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
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
3a7f16467e Save gitHub token in DB and unauthenticate on expiry (#58) 2024-02-01 11:37:57 +05:30
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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