Skip to content

Split GitHub team panel into subtabs - #125

Merged
hwangjokim merged 4 commits into
mainfrom
feat/124-github-tab-subtabs
Jun 17, 2026
Merged

Split GitHub team panel into subtabs#125
hwangjokim merged 4 commits into
mainfrom
feat/124-github-tab-subtabs

Conversation

@hwangjokim

Copy link
Copy Markdown
Member

Summary

  • Split the team GitHub panel into contribution, weekly summary, and integration subtabs.
  • Keep weekly summary and integration queries scoped to their selected subtab.
  • Add a login-free preview route at /team/github-preview with seeded GitHub tab data.

Validation

  • pnpm tsc --noEmit
  • pnpm biome lint .
  • pnpm build

Closes #124

@vercel

vercel Bot commented Jun 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
client Ready Ready Preview, Comment Jun 17, 2026 4:37am

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6907a3bcf6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +20 to +23
queryClient.setQueryData(teamSpaceQueryKeys.githubStatus(projectGroupId), {
connected: true,
organizationLogin: "team-po-labs",
repositoryCount: githubSubtabPreviewConnectedRepositories.length,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Isolate preview data from the shared query cache

Opening /team/github-preview writes fixture data into the app-wide QueryClient under the normal teamSpaceQueryKeys for projectGroupId 10. If a user then navigates to /team for that same project group before these queries become stale, the real team view will reuse the preview organization/repository/contribution data as fresh and can temporarily show the wrong GitHub state. Keep the preview in an isolated cache or remove these seeded keys on unmount.

Useful? React with 👍 / 👎.

Comment on lines +68 to +72
<RealGithubInstallationPanel
canManageGithubInstallation={true}
completionFeedback={null}
isCompletingInstallation={false}
projectGroup={githubSubtabPreviewProjectGroup}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep the preview route from calling live APIs

This preview mounts the normal RealGithubInstallationPanel, but only a subset of its queries are pre-seeded. In real API mode, selecting the weekly summary subtab immediately runs the unseeded weekly-summary queries, and after the 15s stale time the seeded GitHub queries can refetch too, so a supposedly login-free preview starts hitting authenticated /team-space/... endpoints and shows backend/auth errors instead of stable fixture data. Use a static/preview-specific panel or disable/seed all of the panel's queries and mutations for this route.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 87fc62cea0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

const createInstallUrlMutation = useCreateGithubAppInstallationUrlMutation();
const setGithubRepositoriesMutation = useSetGithubRepositoriesMutation();
const [selectedGithubSubtab, setSelectedGithubSubtab] =
useState<GithubSubtabId>("contributions");

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Default first-time installs to setup

For a newly completed GitHub App install with no repositories selected, the existing completion flow can leave the status as connected with repositoryCount === 0 until the host saves repository settings (the MSW completion handler does this before PUT /github/repositories). Because this new state always opens on contributions, that connected-but-empty case only shows the passive empty repository message and hides the repository picker/policy notice behind the integration tab, so first-time setup has no visible next step. Initialize/select integration when repositoryCount === 0, or add a CTA from the empty state.

Useful? React with 👍 / 👎.

@hwangjokim
hwangjokim merged commit 69a0aab into main Jun 17, 2026
3 checks passed
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.

Split GitHub team panel into subtabs

1 participant