Skip to content

feat: add Game Center entry points to desktop and mobile sidebars#5812

Open
AmarTrebinjac wants to merge 2 commits intomainfrom
eng-1164-game-center-entry-points
Open

feat: add Game Center entry points to desktop and mobile sidebars#5812
AmarTrebinjac wants to merge 2 commits intomainfrom
eng-1164-game-center-entry-points

Conversation

@AmarTrebinjac
Copy link
Copy Markdown
Contributor

@AmarTrebinjac AmarTrebinjac commented Mar 26, 2026

Summary

  • Add "Game Center" nav item to desktop sidebar below "Agentic Hub", gated behind questsFeature + logged-in user
  • Add "Game Center" nav item to mobile profile settings menu in the "Misc" section, with the same feature gate
  • Create new JoystickIcon with outlined and filled SVG variants following the standard icon pattern

Key decisions

  • Icon: New JoystickIcon since no game-related icon existed in the icon library
  • Desktop: Uses isForcedLink: true and requiresLogin: true (same pattern as Agentic Hub)
  • Mobile: Filtered via isQuestsFeatureEnabled (same pattern as existing gamification item)
  • No new feature flags — reuses existing questsFeature (quests)

Test plan

  • Lint passes (zero warnings)
  • Sidebar tests pass (13/13)
  • TypeScript compilation succeeds
  • Manual: Desktop — confirm item appears below Agentic Hub, navigates to /game-center, icon toggles filled/outlined on active
  • Manual: Mobile — confirm item appears in Misc section, navigates correctly
  • Manual: Both surfaces — confirm item hidden when quests feature is off or user is logged out

Closes ENG-1164


Created by Huginn 🐦‍⬛

Preview domain

https://eng-1164-game-center-entry-point.preview.app.daily.dev

Add navigation entries for the /game-center page, gated behind the
quests feature flag. Desktop sidebar shows it below Agentic Hub,
mobile profile menu shows it in the Misc section. Includes a new
Joystick icon with outlined and filled variants.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 26, 2026

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

Project Deployment Actions Updated (UTC)
daily-webapp Error Error Mar 26, 2026 9:51pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored Mar 26, 2026 9:51pm

Request Review

@AmarTrebinjac
Copy link
Copy Markdown
Contributor Author

@claude fix the build errors

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 26, 2026

Claude finished @AmarTrebinjac's task in 13m 18s —— View job


Fixed Build Errors

All 5 TypeScript strict mode violations were pre-existing issues in files that got triggered for the first time because this PR modified them.

Root cause: typecheck_strict_changed runs strict TypeScript on all changed files. These issues existed on main but were never caught because the files hadn't been modified before.

Fixes applied in commit 32ef260:

File Line Error Fix
ProfileSettingsMenu.tsx 447 string | null not assignable to string | undefined menuItem.title ?? undefined
ProfileSettingsMenu.tsx 507 (() => void) | undefined not assignable to PopupCloseFunc onClose ?? (() => {})
ProfileSettingsMenu.tsx 520 null not assignable to ReactElement Widened return type to ReactElement | null
MainSection.tsx 52 filter(Boolean) doesn't narrow SidebarMenuItem | undefined in strict mode Replaced with type predicate filter((item): item is SidebarMenuItem => !!item)
MainSection.tsx 68 LoggedUser | undefined not assignable to UserImageProps Added user! non-null assertion (safe: guarded by isLoggedIn)

… and MainSection

- ProfileSettingsMenu: convert null title to undefined for ProfileSection prop
- ProfileSettingsMenu: provide no-op fallback for optional onClose in drawer props
- ProfileSettingsMenu: widen return type of ProfileSettingsMenuDesktop to ReactElement | null
- MainSection: use type predicate in filter for SidebarMenuItem[] narrowing
- MainSection: use non-null assertion for user inside isLoggedIn branch

Co-authored-by: Amar Trebinjac <AmarTrebinjac@users.noreply.github.com>
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