Commit 24980cb
feat(frontend): add display names to page titles (#861)
## Summary
When multiple ACP sessions are open in separate browser tabs, all tabs
show the same title ("Ambient Code Platform"), making it impossible to
identify which tab belongs to which session. This also prevents browser
tab search features (e.g., Chrome's "Search tabs") from being useful for
finding a specific session.
Adds dynamic browser tab titles across all main pages so users can
distinguish tabs when multiple are open.
Uses two complementary Next.js mechanisms:
- **Server-side `generateMetadata`** in new layout files — initial title
from route params on first load
- **Client-side `<title>` tags** in page components — refines title with
fetched display names after hydration
### Changes
| File | What |
|------|------|
| `integrations/layout.tsx` | New — static title metadata |
| `projects/[name]/page.tsx` | Fragment wrapper + `<title>` with
`project.displayName` |
| `sessions/[sessionName]/page.tsx` | `<title>` with
`session.spec.displayName` |
No behavioral, styling, or logic changes — purely additive. The large
diff in the project page is just re-indentation from the fragment
wrapper.
<img width="655" height="202" alt="image"
src="https://github.com/user-attachments/assets/3419b38b-4d3d-4c2b-abe4-4590998399b5"
/>
Co-authored-by: Martin Prpič <mprpic@redhat.com>1 parent 373db39 commit 24980cb
3 files changed
Lines changed: 63 additions & 46 deletions
File tree
- components/frontend/src/app
- integrations
- projects/[name]
- sessions/[sessionName]
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
176 | 179 | | |
177 | 180 | | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1458 | 1458 | | |
1459 | 1459 | | |
1460 | 1460 | | |
| 1461 | + | |
1461 | 1462 | | |
1462 | 1463 | | |
1463 | 1464 | | |
| |||
0 commit comments