Repository navigation
Use Library as the one visible name - #238
Merged
Merged
Conversation
Nav, the page heading, and body copy now share one name: Library, Könyvtár, and Biblioteca. Routes, tables, and API fields stay as they are. Co-authored-by: Gáborjáni-Szabó Ádám <Programcode@users.noreply.github.com>
|
Caution Review failedThe pull request is closed.
Note 🎁 Summarized by CodeRabbit Free
Comment |
Programcode
added a commit
that referenced
this pull request
Oct 27, 2026
…d owl (#243) * Prerendered pages load the built owl, not /src The prerender step runs the pages through Vite's dev SSR loader, which resolved `import point from '@/assets/owl/owl-point.svg'` to /src/assets/owl/owl-point.svg. That path 404s on the deployed site, so /, /hu, /es and /404 showed no owl until hydration. Asset imports now resolve to the hashed file from the build manifest, and the build fails if a page still names a /src/ URL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Sentence case and shorter copy across the app Headings, toasts, dialog titles, form labels and section names move to sentence case (polish study P1-1, P2-8). Proper nouns, tool names used as names, speech and role names, and the legal and SEO strings keep their capitals. Buttons and labels keep their words; only their case changes. Where the study gave new copy for a heading or a message, it is used in English, Spanish and Hungarian: the tool pages' empty panels (P1-4), the one-time intro (P1-2), the 404 heading (P1-3), the limit dialogs, the tour's last step (P2-7), landing headings (P2-8) and the provider error tail "Try again in a minute." (P3-1). Ellipses use the single character (P2-6). Running text says "library"; the page title says "Source library". The flowchart's starter node labels keep "Your Thesis": saved charts are matched to their translation key by that exact text. home.title and home.subtitle had no callers and are gone (P3-3). Unit tests, e2e specs, verify-debatelab recipes and feature notes follow the new strings. The production canary and staging specs match the Ask placeholder without its ellipsis, so they pass before and after deploy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Tool pages' empty panel shrinks under the form on phones and iPads EmptyState gains a compact size (56 px owl, no badge, tighter padding) and compact-below-lg, which Generate, Attack, Brainstorm and Factoids use: below lg the panel stacks under a form that is already the next step, so it no longer sits there as a tall block. Titles balance across lines. It also takes an optional icon, an h1 level, an eyebrow line and an action element, for the not-found pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 404 and a bad share link look the same Both render EmptyState with the surprised owl at 112 px, an h1 title, a short line and the home link. The 404 page's giant "404" becomes a muted line above "Page not found", and the share page's grey share icon makes way for the owl. The 404 owl drops from 168 px to the empty-state size. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Rows of peers wrap evenly at every width - Home: the three utilities are one equal row; on phones the icon sits above the label so Hungarian fits. - History: the seven tabs are one sideways row below lg, fading at the right edge, and seven equal columns from lg, icon above label. They keep 44 px on every touch screen, iPads included. - Timer: every speech chip is in view, in balanced rows (8 speeches are 4 + 4 on a phone, one row from md), with the time under the code. - Landing hero: the three plan stats stay three across on phones, and on iPad the text and preview sit in one centred column. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Bigger touch targets on toasts, tool pages and login - Toasts: on touch screens the action button is 44 px tall and the close button 32 px (they were 32 and about 20). - Free tool pages: inline links get 4 px above and below without moving the text, breadcrumbs and format source links are at least 24 px, and the flow sheet's strip checkbox sits in a 44 px row. - Login: "Back to DebateLab" is at least 24 px tall with a mouse, as well as 44 px on touch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Intro fits a phone; the tour ends with the owl - One-time intro: on phones the owl circle is 112 px instead of 144, the title balances across lines, and both footer buttons are 44 px with Got it filling the row. With the shorter copy it fits 390 x 844 without scrolling. - Tour: the last step uses the first step's Fredoka heading and a small celebrating owl, in place of the rocket emoji. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * iPads get the top navigation bar The app's top navigation now starts at md (768 px) instead of lg, so an iPad shows Tools, Current debate, Library, History and Settings in the bar instead of the menu button and a second Current debate row. Between md and lg only the active link shows its label; the others are icons that keep their names for screen readers, so Hungarian fits at 768 px. The theme toggle still appears from lg. The e2e helpers that open the menu on narrow screens use the same 768 px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Leave library names as on main The library's name is settled in its own PR (#238), so this one keeps every library-name string as main has it: the page title, the list card, "Save to Library", the saved and auto-saved toasts, Crossfire's grounding label and the running-text mentions, in all three languages. Tests and recipes go back to the same strings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Timer chips wrap between words and match in height With every chip in view, long speech codes such as "A Rebuttal" no longer fit on one line at 390 px. They now wrap between words instead of truncating, the side dot moves next to the time so the code has the full width, and chips in a row share one height. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Tour specs expect the welcome without its emoji and ! Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Equal-height timer tiles; hero stat labels fit two lines - Timer: the speech grid uses equal rows (auto-rows-fr) and each tile stretches through a flex item instead of a percentage height, so a row with a wrapped name ("A Rebuttal", "B Summary") no longer has tiles of different heights. Every tile is at least 44 px. - Landing hero: on phones the stat labels drop their extra letter-spacing, the cards use tighter side padding, and below 380 px the label steps down to 10 px, with hyphenation where the browser has the language. "PREPARACIÓN DIARIA CON IA" and the Hungarian trial label fit two lines at 360 to 414 px. The copy is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # src/locales/en.json # src/locales/es.json # src/locales/hu.json
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 library had several visible names. Nav, the browser tab, and Home already said Library, while the page heading said Source Library and the list card said Your Knowledge Base. This uses one name in nav, headings, and body copy.
Visible text only. Routes (
/app/library), database tables, and API fields such assourceLibraryare unchanged.Name chosen
The word already used in nav and on Home:
nav.library,home.library,onboarding.librarynav.library,home.librarynav.library,home.library,onboarding.librarySentence case. The page heading is the name itself (Library / Könyvtár / Biblioteca). The list card is “Your library” / “A könyvtárad” / “Tu biblioteca”. In English sentences the feature name stays Library (“Use Library grounding”, “Your Library has no active sources yet.”). Hungarian and Spanish keep the name lowercase in the middle of a sentence, which is how those catalogs already write könyvtár and biblioteca.
What changed
The signed-in tab title was already
Library · DebateLab(it comes fromnav.library). Private routes share the home meta description, andpageHeadhas no library entry, so no meta string changed.Left as they are, on purpose:
Unable to load source library,sources must be an array when Source Library is enabled)Screens
Library (
/app/library), the landing Features section, Crossfire setup (the grounding checkbox), and the Crossfire Review sheet. Checked at 390, 820, and 1440. The shorter heading does not overflow;scrollWidthmatches the viewport at all three widths in English.English library, before and after:
Library page at 390px before
Library page at 390px after
Library page at 820px before
Library page at 820px after
Library page at 1440px before
Library page at 1440px after
Hungarian and Spanish at 390px after (Könyvtár, Biblioteca):
Hungarian library page at 390px
Spanish library page at 390px
Crossfire grounding and the Review sheet:
Crossfire grounding label after, 390px
Crossfire review sheet after, 390px
The rest of the set (HU/ES at 820 and 1440, Features, Crossfire at 820 and 1440, before and after) is in the same artifact folder.
Likely conflicts
Other open copy work touches the same catalogs:
design/debateowl-polish(sentence-case sweep) will editlibraryPage.title(it planned “Source library”),libraryPage.yourKBTitle(it planned “Your sources”), and nearby title-case strings this PR does not touch (addNewTitle,emptyTitle,saveToLibrary,sourceSaved). Same keys, different words.onboarding.libraryin Hungarian only (Forráskönyvtár→Könyvtár). A tour or intro PR that rewritesonboardinginhu.jsonwill overlap that hunk. English and Spanish tour titles already said Library / Biblioteca.nav.library(unchanged here). Conflict only if that branch also rewrites library strings in the locale files.en.json/hu.json/es.jsoncan conflict on nearby lines, especiallyonboardingin Hungarian, even though this PR does not rename the product.Checks
Local, on this commit. Not a CI run.
npm run docs:check: passednpm run lint: passednpm run typecheck: passednpm test: 662 passed, 1 failed. The failure issrc/test/scripts/backend-status.test.ts, abeforeEachhook timeout (10s) while that file runsgit initand commits in a temp directory. A retry failed a different test in the same file with the same hook timeout. It does not read these strings. The other 90 files passed.npm run test:collaboration: 30 passednpm run build: passednpm run test:sw: passede2e/first-run.spec.tsande2e/admin-announcements.spec.ts, 7 passed (these assert the library heading and the Hungarian tour title)npm run verifywas not run.denois not installed here, sonpm run test:edgecannot run, and verify stops before the smoke browser set. The full@smokePlaywright set was not run, only the two specs above. No database gate (no Docker).To show artifacts inline, enable in settings.