Skip to content

feat: add UI for project storage in project page - #4258

Draft
boucherjeanphi wants to merge 20 commits into
mainfrom
jp/add-project-storage
Draft

feat: add UI for project storage in project page#4258
boucherjeanphi wants to merge 20 commits into
mainfrom
jp/add-project-storage

Conversation

@boucherjeanphi

@boucherjeanphi boucherjeanphi commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Add UI for adding / editing & deleting project storage in Project page

  • New btn "Add project storage" in DataConnectorModal
  • Project storage appears below the list of data connnectors in ProjectDataConnectorsBox
  • Add / edit & delete project storage only for project owners
  • Update Shutdown session content to include project storage
Screenshot from 2026-07-28 16-42-21

/deploy #notest renku-data-services=feature/project-storage

@boucherjeanphi
boucherjeanphi requested a review from a team as a code owner July 8, 2026 12:15
@RenkuBot

RenkuBot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

You can access the deployment of this PR at https://renku-ci-ui-4258.dev.renku.ch

@boucherjeanphi
boucherjeanphi marked this pull request as draft July 8, 2026 12:52
@boucherjeanphi boucherjeanphi changed the title wip: fix typo feat: add UI for project storage in project page Jul 30, 2026
@lorenzo-cavazzi lorenzo-cavazzi self-assigned this Jul 30, 2026

@lorenzo-cavazzi lorenzo-cavazzi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The logic is already great! I added a few inline comments, but it's mostly minor things; you are already on the right track 👍

P.S. This comment didn't fit inline: you probably want to update DataConnectorModalHeader as well, to change the fixed string data connector in the title into something like project storage when it makes sense.

Comment on lines +272 to +283
getProjectsByProjectIdStorage: {
providesTags: ["ProjectStorage"],
},
postDataConnectorsStorage: {
invalidatesTags: ["ProjectStorage"],
},
deleteDataConnectorsStorageByStorageId: {
invalidatesTags: ["ProjectStorage"],
},
patchDataConnectorsStorageByStorageId: {
invalidatesTags: ["ProjectStorage"],
},

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the way to go 👍
Tip: you could even make the cache smarter by considering the IDs. As of now, any operation invalidates all storages, while E.G. patching a storage could invalidate only that storage's cache. I think for this case we can keep this code without overcomplicating

Comment on lines +93 to +98
if (projectStorageError) {
return (
<RtkOrDataServicesError error={projectStorageError} dismissible={false} />
);
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change: I understand why you put this here, but I'm not sure it's the best place. If this fails, users won't see any other data connector, which is probably not what we want. I suggest putting this in a child component

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants