Rename hamburger's Hour of Code / Beyond Code.org to CodeAI branding - #74139
#74139Open
stephenliang wants to merge 4 commits into
stagingcode-dot-org/code-dot-org:stagingfrom
stephen/hamburger-codeai-rebrandcode-dot-org/code-dot-org:stephen/hamburger-codeai-rebrandCopy head branch name to clipboard
Open
Rename hamburger's Hour of Code / Beyond Code.org to CodeAI branding#74139stephenliang wants to merge 4 commits intostagingcode-dot-org/code-dot-org:stagingfrom stephen/hamburger-codeai-rebrandcode-dot-org/code-dot-org:stephen/hamburger-codeai-rebrandCopy head branch name to clipboard
stephenliang wants to merge 4 commits into
stagingcode-dot-org/code-dot-org:stagingfrom
stephen/hamburger-codeai-rebrandcode-dot-org/code-dot-org:stephen/hamburger-codeai-rebrandCopy head branch name to clipboard
Conversation
_header renders this file via File.read + inline, so a mid-deploy process can pair its old compiled template (no :marketing_nav local) with the new file and raise NameError on every header render until restart. local_assigns is nil-safe across the skew, matching user_header.haml. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…deAI branding The signed-in teacher/student hamburger's Teach submenu still linked to the legacy hourofcode.com campaign and said "Beyond Code.org", unlike the signed-out marketing nav's already-renamed Hour of AI entry. Retarget the hamburger entry to /hour-of-ai and rename the sibling label to match.
stephenliang
changed the base branch from
stephen/hamburger-local-assigns
to
staging
July 27, 2026 19:58
stephenliang
marked this pull request as ready for review
July 27, 2026 19:59
GLOBAL_NAV hardcoded //code.org, but marketingUrl is brand/environment-aware and already used by the sibling signed-out-marketing nav entry. Since it needs siteConfig fully initialised and test mocks in place, GLOBAL_NAV becomes a lazily-called buildGlobalNav(), matching buildMarketingGlobalNav and getFooterLinks.
…marketingUrl Every //code.org-hosted href in buildGlobalNav, STUDENT_MENU_ITEMS, TEACHER_MENU_ITEMS, and CREATE_MENU_ITEMS was hardcoded, unlike the already brand/environment-aware buildMarketingGlobalNav. Since marketingUrl needs siteConfig fully initialised and test mocks in place, the three static arrays become lazily-called builders (buildStudentMenuItems, buildTeacherMenuItems, buildCreateMenuItems), matching the established buildMarketingGlobalNav/getFooterLinks pattern. Add config.test.ts to pin every entry to siteConfig.marketingUrl and guard against future //code.org regressions.
🖼️ Storybook Visual Comparison ReportA difference was found in our Storybook front-end visual comparison testing against the Remediation steps:
|
cat5inthecradle
approved these changes
Jul 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The hamburger menu's signed-in (teacher/student) "Teach" submenu still said "Hour of Code" (linking to the legacy hourofcode.com campaign site) and "Beyond Code.org", unlike the signed-out marketing nav's already-renamed "Hour of AI" entry added in #74042. This retargets that hamburger entry to the same
/hour-of-aidestination and renames the sibling label to match, on both the Rails-rendered dashboard header and the Vitefrontend/apps/studioheader.Links
Testing story
dashboard/test/integration/header_test.rb's Teach-submenu assertions updated to the new label/href pairs; ran viabundle exec spring testunit test/integration/header_test.rb— 20 tests, 0 failures.yarn typecheckinfrontend/— 20/20 tasks passing, including@code-dot-org/studio../tools/hooks/pre-commitclean.educate_hockey remains.Deployment notes
Standard merge-and-deploy; no migrations or flags involved.