Skip to content

upcoming: [UIE 9401] – Implement Share Groups Landing page tabs#13471

Open
fabrice-akamai wants to merge 9 commits intolinode:developfrom
fabrice-akamai:UIE-9401
Open

upcoming: [UIE 9401] – Implement Share Groups Landing page tabs#13471
fabrice-akamai wants to merge 9 commits intolinode:developfrom
fabrice-akamai:UIE-9401

Conversation

@fabrice-akamai
Copy link
Contributor

@fabrice-akamai fabrice-akamai commented Mar 5, 2026

Description 📝

This PR implements the Share Groups Landing page and its corresponding subtabs:

  • Owned groups
  • Joined groups
  • My membership requests.

This feature builds upon the existing work on the Image Library tabs and lays the groundwork for the Share groups implementation under the isPrivateImageSharingEnable feature flag.

Changes 🔄

List any change(s) relevant to the reviewer.

  • Added ShareGroupsTabs.tsx and ShareGroupsTabsConfig.tsx
  • Updated the share groups route and index route
  • Updated getImageLibrarySubTabIndex to be more generic so the Share Groups tab can reuse the same logic
  • Added unit test for ShareGroupsTabs.tsx

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Target release date 🗓️

Please specify a release date (and environment, if applicable) to guarantee timely review of this PR. If exact date is not known, please approximate and update it as needed.

Preview 📷

Before After
Screenshot 2026-03-05 at 3 44 45 PM Screenshot 2026-03-05 at 3 43 47 PM

How to test 🧪

Prerequisites

(How to setup test environment)

  • Make sure the isPrivateImageSharingEnabled is enabled for testing the feature under the new Images page

Reproduction steps

Verification steps

(How to verify changes)

  • Navigate to localhost:3000/images/
  • Click on the Share Groups tab
  • Click each of the sub-tabs and make sure they all render the coming soon notice
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support


  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@fabrice-akamai fabrice-akamai marked this pull request as ready for review March 5, 2026 21:48
@fabrice-akamai fabrice-akamai requested a review from a team as a code owner March 5, 2026 21:48
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 4 failing tests on test run #4 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
4 Failing868 Passing11 Skipped39m 35s

Details

Failing Tests
SpecTest
object-storage.e2e.spec.tsCloud Manager Cypress Tests→object storage end-to-end tests » can create and delete object storage buckets
account-switching.spec.tsCloud Manager Cypress Tests→Parent/Child account switching→From Parent to Child » can search child accounts
account-switching.spec.tsCloud Manager Cypress Tests→Parent/Child account switching→From Child to Parent » can switch from Proxy user back to Parent account user from Billing page
account-switching.spec.tsCloud Manager Cypress Tests→Parent/Child account switching→From Child to Child » can switch to another Child account as a Proxy user

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/objectStorage/object-storage.e2e.spec.ts,cypress/e2e/core/parentChild/account-switching.spec.ts"

@pmakode-akamai pmakode-akamai added the Private Image Sharing Related to Private Image Sharing feature label Mar 9, 2026
Copy link
Contributor

@pmakode-akamai pmakode-akamai left a comment

Choose a reason for hiding this comment

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

thanks @fabrice-akamai! This looks good to me 👍 Could we also add a Upcoming Features changeset for this PR?

@@ -95,29 +95,29 @@ describe('useIsPrivateImageSharingEnabled', () => {
});

describe('getImageLibrarySubTabIndex', () => {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
describe('getImageLibrarySubTabIndex', () => {
describe('getSubTabIndex', () => {

import { createRoute, redirect } from '@tanstack/react-router';

import { imageLibrarySubTabs } from 'src/features/Images/ImagesLanding/v2/ImageLibrary/imageLibraryTabsConfig';
import { shareGroupsSubTabs } from 'src/features/Images/ImagesLanding/v2/ShareGroups/ShareGroupsTabsConfig';
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
import { shareGroupsSubTabs } from 'src/features/Images/ImagesLanding/v2/ShareGroups/ShareGroupsTabsConfig';
import { shareGroupsSubTabs } from 'src/features/Images/ImagesLanding/v2/ShareGroups/shareGroupsTabsConfig';

Could we rename either ShareGroupsTabsConfig to shareGroupsTabsConfig or imageLibraryTabsConfig to ImageLibraryTabsConfig for naming consistency?

Membership Requests is coming soon...
</Notice>
)}
</SafeTabPanel>
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are we not using routed tabs here? See other examples with lazy routes + Outlet

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

Labels

Missing Changeset Private Image Sharing Related to Private Image Sharing feature

Projects

Status: Review

Development

Successfully merging this pull request may close these issues.

4 participants