Skip to content

Allow to edit and delete campaigns

Administrator requested to merge campaign-edit-delete into master

Created by: felixfbecker

Adds edit and delete buttons and an "edit" state to the campaign details page. It also replaces the NewCampaignsPage.

Interesting fact: This is the first full CRUD form component in the Sourcegraph web app that I am aware of. And it is actually not that easy to make this work properly, meaning

  • type safe i.e. without casts or !
  • with proper error handling
  • form validation
  • proper loading state handling
  • blocking history navigation
  • preventing race conditions
  • sharing the same JSX for edit, create and display to ensure consistent design and an inline-editing UX

I was looking for a good way to do this with hooks, and I am not happy with the result yet, but I wanted to ship this feature for this iteration (classes wouldn't have been easier either though). I'll experiment some more after this to better represent the state machine that is such a form in a type-safe way.

Ref #5678

cc @sourcegraph/automation

Merge request reports

Loading