-
Notifications
You must be signed in to change notification settings - Fork 5.8k
fix(web): capitalize project name display across all five sites #2301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 11 commits
f8297ee
a11687f
4738ce9
7380104
630bd99
8107094
8b59bbe
eea1a1c
06c51fd
af448d0
bf61d02
58fa202
17c9d41
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -684,6 +684,12 @@ code { | |
| font-weight: 520; | ||
| letter-spacing: 0; | ||
| } | ||
| .workspace-tab__label--project { | ||
| /* Same display-layer capitalize as .app-project-title .title — see that rule for the | ||
| brand-name trade-off note. Scoped to project tabs only; Home/Marketplace/etc. use | ||
| localized strings that must not be auto-capitalized. */ | ||
| text-transform: capitalize; | ||
|
Comment on lines
+688
to
+691
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These shared tab-label selectors also style non-project tabs. |
||
| } | ||
| .workspace-tab__close { | ||
| width: 18px; | ||
| height: 18px; | ||
|
|
@@ -854,6 +860,12 @@ code { | |
| font-size: 12.5px; | ||
| font-weight: 600; | ||
| } | ||
| .workspace-tabs-list__title--project { | ||
| /* Same display-layer capitalize as .app-project-title .title — see that rule for the | ||
| brand-name trade-off note. Scoped to project tabs only; Home/Marketplace/etc. use | ||
| localized strings that must not be auto-capitalized. */ | ||
| text-transform: capitalize; | ||
| } | ||
| .workspace-tabs-list__meta { | ||
| color: var(--text-muted); | ||
| font-size: 11px; | ||
|
|
@@ -1215,6 +1227,12 @@ code { | |
| text-overflow: ellipsis; | ||
| flex: 0 1 auto; | ||
| min-width: 0; | ||
| /* Display-layer fix: project names are stored as typed (often all-lowercase when | ||
| auto-generated), so capitalize the first letter of each word for readability. | ||
| Trade-off: brand names with intentional mid-word capitalisation (e.g. "iPhone") | ||
| will render incorrectly as "IPhone". A storage-layer fix (preserving input casing | ||
| on create/rename) would make this rule redundant and should remove it when landed. */ | ||
| text-transform: capitalize; | ||
| } | ||
| .app-project-title .meta { | ||
| color: var(--text-muted); | ||
|
|
@@ -8985,6 +9003,12 @@ button.connector-action.is-loading { | |
| text-overflow: ellipsis; | ||
| color: var(--text-strong); | ||
| } | ||
| .design-card-name--project { | ||
| /* Same display-layer capitalize as .app-project-title .title — see that rule for the | ||
| brand-name trade-off note. Scoped to project cards only; live-artifact titles may | ||
| have intentional casing (brand names, version strings). */ | ||
| text-transform: capitalize; | ||
|
Comment on lines
+9007
to
+9010
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This rule changes Useful? React with 👍 / 👎.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure this is a bad thing. I'm open to changing it, but we might want to either split out the class, or apply the fix universally.
Comment on lines
+9007
to
+9010
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm debating how best to respond to the feedback. The fix should probably be applied to all of them, but the feedback is correct given the naming / usage / etc... I'll noodle on it, and likely focus on the individual fix. |
||
| } | ||
| .design-card-meta { | ||
| display: flex; | ||
| align-items: baseline; | ||
|
|
@@ -9505,6 +9529,10 @@ button.connector-action.is-loading { | |
| text-overflow: ellipsis; | ||
| /* Reserve room for the absolutely-positioned close button. */ | ||
| padding-right: 20px; | ||
| /* Same display-layer capitalize as .app-project-title .title — see that rule for the | ||
| brand-name trade-off rationale. Selector is project-name-only (kanban renders only | ||
| project cards; live artifacts use .design-card-name in the grid view). */ | ||
| text-transform: capitalize; | ||
| } | ||
| .design-kanban-card-meta { | ||
| font-size: 12px; | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch scoping the grid-card selector. One remaining path in this same component still bypasses the new rule: the kanban branch renders project names with
🔁 Powered by Looper · runner=reviewer · agent=opencode · An autonomous AI dev team for your GitHub repos..design-kanban-card-nameatDesignsTab.tsx:716-720, andapps/web/src/index.css:9063-9069still has notext-transformfor that selector. That means a project calledacme studiois fixed in grid view but flips back to lowercase as soon as the user switches the Designs tab to kanban, which is the same consistency bug this PR is trying to remove. Please apply the same project-name casing treatment to the kanban card title path as well, and extend the Vitest/Playwright coverage to exercise the kanban view so this view-mode regression is caught next time.