phasehq / console

Application secrets and configuration management for developers.
https://phase.dev
Other
441 stars 22 forks source link

Add detailed diffs of changes made to secrets #274

Open rohan-chaturvedi opened 3 months ago

rohan-chaturvedi commented 3 months ago

Is your feature request related to a problem?

Making changes to secrets currently shows a "You have undeployed changes to this environment." warning banner and an amber highlight to affected secrets, but it can be difficult to determine what changes were made other than which secrets are affected.

2024-06-16 20-44-40.webm

Describe the solution you'd like

Clicking the warning banner should show a modal with details of secrets affected, with diffs of specific properties changed, such as tags, comments, etc. For example:

Ideally, something inspired by VSCode's diffs would be great:

image

harshith-1008 commented 2 months ago

hey, I would like to work on this issue. @rohan-chaturvedi

rohan-chaturvedi commented 2 months ago

hey, I would like to work on this issue. @rohan-chaturvedi

Great, its all yours!

harshith-1008 commented 2 months ago
Screenshot 2024-07-11 at 12 09 50 PM Screenshot 2024-07-11 at 12 14 03 PM

Hey @rohan-chaturvedi just wanted a little clarification about the UI, for testing I have created a dropdown ui, should I make a separate pop up screen/page for the changes or should I just try to make the current dropdown look cleaner?

rohan-chaturvedi commented 2 months ago

Hey @harshith-1008 , this is a good start! However I think we should avoid this "accordion" style behavior, since it shifts the entire rest of the UI down. Instead, how about trying a modal dialog? We have a GenericDialog component you could use: https://github.com/phasehq/console/blob/main/frontend/components/common/GenericDialog.tsx

harshith-1008 commented 2 months ago

thanks for the feedback, ill try to implement it.

harshith-1008 commented 1 month ago

@rohan-chaturvedi I tried using genericDialogue component, but it expects button variant props, if I pass button variant then the alert changes to green box around the text. I have changed the component such that it accepts an empty string as props for genericDialogue, is it fine?

Screenshot 2024-07-25 at 1 10 17 PM
rohan-chaturvedi commented 1 month ago

@rohan-chaturvedi I tried using genericDialogue component, but it expects button variant props, if I pass button variant then the alert changes to green box around the text. I have changed the component such that it accepts an empty string as props for genericDialogue, is it fine? Screenshot 2024-07-25 at 1 10 17 PM

@harshith-1008 that should be fine, just make sure that its not a breaking change for other components that use it. I'll take a look in detail once you have a PR. Once thing you could try is adding an i icon in an outline or secondary button as the modal trigger rather than the entire alert text :thinking:

harshith-1008 commented 1 month ago
Screenshot 2024-07-27 at 10 47 12 PM Screenshot 2024-07-27 at 10 47 23 PM

@rohan-chaturvedi I hope this UI is fine.

rohan-chaturvedi commented 1 month ago

This is a great start! A few suggestions:

harshith-1008 commented 1 month ago
Screenshot 2024-07-28 at 12 34 14 AM

@rohan-chaturvedi is this ui okay?

rohan-chaturvedi commented 1 month ago

That looks awesome! A few notes:

image

rohan-chaturvedi commented 1 month ago

@harshith-1008 The SecretPropertyDiffs component could be useful for rendering details of changes

harshith-1008 commented 1 month ago

@rohan-chaturvedi just one small clarification, the font-mono should be just on keys name right? not the properties name right?

rohan-chaturvedi commented 1 month ago

Yep, I think that will work well

harshith-1008 commented 1 month ago
Screenshot 2024-07-31 at 11 00 50 AM

@rohan-chaturvedi Is this UI fine?

rohan-chaturvedi commented 1 month ago

@harshith-1008 This is good progress! The UI still needs a bit of work though. Could you tag me on the PR when its ready? It will be easier to suggest changes to the styles.