From 706f81cda8316e4ca14f558d48fd5652d53bcd24 Mon Sep 17 00:00:00 2001 From: Philippe Serhal Date: Sun, 25 Jan 2026 22:42:12 -0500 Subject: [PATCH 1/9] feat: add about, user, orgs, and packages to nav MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Add an "about" nav item (and a new about page, content tbd) 2. Always show "github" item instead of hiding it when logged in 3. Add logged in username next to 🟢, clicking brings up `/~user` 4. when logged in, shows new 'packages' + 'orgs' nav items - clicking packages goes to user's packages - clicking orgs goes to user's orgs (new page, lists user's orgs, with org card showing # of pkgs + user's teams) - hovering on packages pops down user's 10 first packages alphabetically (this is a placeholder, eventually user prefs screen will allow pinning packages and such) - hovering on orgs pops down user's 10 first orgs alphabetically (this is a placeholder, eventually user prefs screen will allow pinning orgs and such) Closes #95 --- app/components/AppHeader.vue | 75 +++--- app/components/ConnectorStatus.client.vue | 16 +- app/components/HeaderOrgsDropdown.vue | 110 +++++++++ app/components/HeaderPackagesDropdown.vue | 110 +++++++++ app/composables/useConnector.ts | 15 ++ .../index.vue} | 0 app/pages/~[username]/orgs.vue | 225 ++++++++++++++++++ cli/src/npm-client.ts | 10 + cli/src/server.ts | 113 ++++++++- server/api/registry/org/[org]/packages.get.ts | 54 +++++ test/unit/cli-server.spec.ts | 44 ++++ test/unit/org-packages-api.spec.ts | 56 +++++ 12 files changed, 791 insertions(+), 37 deletions(-) create mode 100644 app/components/HeaderOrgsDropdown.vue create mode 100644 app/components/HeaderPackagesDropdown.vue rename app/pages/{~[username].vue => ~[username]/index.vue} (100%) create mode 100644 app/pages/~[username]/orgs.vue create mode 100644 server/api/registry/org/[org]/packages.get.ts create mode 100644 test/unit/org-packages-api.spec.ts diff --git a/app/components/AppHeader.vue b/app/components/AppHeader.vue index 869b2d7cbb..836c56e31c 100644 --- a/app/components/AppHeader.vue +++ b/app/components/AppHeader.vue @@ -9,23 +9,28 @@ withDefaults( showConnector: true, }, ) + +const { isConnected, npmUser } = useConnector() diff --git a/app/components/ConnectorStatus.client.vue b/app/components/ConnectorStatus.client.vue index 4eb4f212cf..a4b3db66fe 100644 --- a/app/components/ConnectorStatus.client.vue +++ b/app/components/ConnectorStatus.client.vue @@ -12,9 +12,8 @@ const { const showModal = shallowRef(false) const showTooltip = shallowRef(false) -const statusText = computed(() => { +const tooltipText = computed(() => { if (isConnecting.value) return 'connecting…' - if (isConnected.value && npmUser.value) return `connected as @${npmUser.value}` if (isConnected.value) return 'connected' return 'connect local CLI' }) @@ -37,7 +36,16 @@ const ariaLabel = computed(() => {