Skip to content

refactor: reorganize settings navigation labels#5879

Merged
nimrodkra merged 2 commits intomainfrom
feat/settings-navigation-refresh
Apr 16, 2026
Merged

refactor: reorganize settings navigation labels#5879
nimrodkra merged 2 commits intomainfrom
feat/settings-navigation-refresh

Conversation

@nimrodkra
Copy link
Copy Markdown
Member

@nimrodkra nimrodkra commented Apr 16, 2026

Summary

  • reorganize the settings sidebar so related items are grouped more clearly and the section order matches the new structure
  • align renamed settings pages and sidebar entries so page titles and metadata match the visible navigation labels
  • update the gamification/playground area with clearer labels, ordering, and external-link affordances for items that jump out to separate surfaces

Test plan

  • Run pnpm --filter @dailydotdev/shared lint
  • Run pnpm --filter webapp lint
  • Run node ./scripts/typecheck-strict-changed.js

Made with Cursor

Preview domain

https://feat-settings-navigation-refresh.preview.app.daily.dev

Align settings page titles and metadata with the updated sidebar structure so related settings are grouped more clearly and the navigation reads consistently across surfaces.

Made-with: Cursor
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 16, 2026

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

Project Deployment Actions Updated (UTC)
daily-webapp Ready Ready Preview Apr 16, 2026 7:22pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored Apr 16, 2026 7:22pm

Request Review

@nimrodkra
Copy link
Copy Markdown
Member Author

@claude please review this pr

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Apr 16, 2026

Claude finished @nimrodkra's task in 2m 54s —— View job


PR Review: refactor: reorganize settings navigation labels

Tasks:

  • Understand request (code review)
  • Read main changed file: ProfileSettingsMenu.tsx
  • Review page files (settings pages)
  • Check gamification/playground changes
  • Check organization settings changes
  • Post review findings

Summary

This is a well-scoped refactor that reorganizes the settings sidebar structure, aligns page titles with nav labels, and cleans up several TypeScript issues along the way. The changes are safe and largely non-breaking. A few issues worth addressing:


Issues

🐛 Duplicate icon for streaks and hotTakes

packages/shared/src/components/profile/ProfileSettingsMenu.tsx:228-241

Both streaks and hotTakes use HotIcon, which visually makes them indistinguishable in the menu. There's a dedicated ReadingStreakIcon in the icon library that would be more semantically appropriate for the Streaks entry:

import { ReadingStreakIcon } from '../icons/ReadingStreak';

streaks: {
  title: 'Streaks',
  icon: ReadingStreakIcon,  // ← was HotIcon
  href: `${settingsUrl}/customization/streaks`,
},

Fix this →


⚠️ Achievements item has no feature-flag filter in playground section

packages/shared/src/components/profile/ProfileSettingsMenu.tsx:237-241

gameCenter and gamification are filtered when isQuestsFeatureEnabled !== true, but achievements is always shown regardless of the flag. This differs from the old behavior where achievements lived in the main section without gating. Confirm this is intentional — if achievements should also be gated, add a filter case for itemKey === 'achievements' in InnerProfileSettingsMenu.


⚠️ Redundant switch label text in gamification.tsx

packages/webapp/pages/settings/customization/gamification.tsx:63-68

After merging the removed description into the switch label, the text reads:

"Turn quest UI on or off across the product. Toggle to display or hide the quest system UI."

Both sentences say the same thing. The original two-sentence pattern (header description + brief switch label) was cleaner. Consider trimming to just one: "Toggle to display or hide the quest system UI." or "Turn quest UI on or off across the product."

Fix this →


Positives Worth Calling Out

composition.tsx — Fixes two bugs in one: the SEO title was "Appearance" (clearly a copy-paste from another page), and the component was named AccountManageSubscriptionPage (completely wrong). Both fixed correctly.

integrations.tsx — This page was missing SEO metadata entirely; adding getPageSeoTitles('Integrations') is a clean fix.

general.tsxupdateOrganization call — Removing the id from the call site is correct. The hook's mutationFn already closes over organizationId, so passing id from the component was both redundant and caused the mutation function to receive an unexpected shape.

Organization pages — The added guards for !organization before attempting to render in billing.tsx, general.tsx, and members.tsx eliminate potential null-dereference renders.

TypeScript improvements — Multiple files get better typing: useState<CandidateStatus | null>(null), UserShortProfile[], flags?.defaultWriteTab. These are good catches.

External link affordances — Adding external: true to Game Center, Achievements, Hot Takes, and Core Wallet is a good UX signal to users that these navigate outside the settings area.


Minor Nit

The feedback external support link (constant feedback from lib/constants) was replaced with an internal ${settingsUrl}/feedback link labeled "Your Feedback". This is a behavior change (external → internal), just confirm it's intentional and not accidentally dropping the external support URL.

@nimrodkra
Copy link
Copy Markdown
Member Author

Clarifying the two intentional behavior points from the review:

  • The Achievements item staying visible in the Gamification section without the quests feature-flag filter is intentional.
  • Replacing the old external support-style feedback link with the internal ${settingsUrl}/feedback destination labeled Your Feedback is also intentional.

No code changes needed for those two points.

Collapse the two-sentence description on the Show quests toggle into a single concise sentence so it matches the tone of the Show levels toggle.

Made-with: Cursor
@nimrodkra nimrodkra merged commit 021f490 into main Apr 16, 2026
13 checks passed
@nimrodkra nimrodkra deleted the feat/settings-navigation-refresh branch April 16, 2026 19:22
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.

1 participant