Skip to content

Commit b01a3d6

Browse files
authored
Merge pull request #17 from github/ui/user-details-breadcrumbs
Add user details breadcrumbs
2 parents 995775b + e4d6875 commit b01a3d6

2 files changed

Lines changed: 92 additions & 25 deletions

File tree

src/App.css

Lines changed: 72 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1312,42 +1312,97 @@ td.cost-centers-view__num {
13121312
gap: 16px;
13131313
}
13141314

1315-
.user-details__backButton {
1316-
border: none;
1317-
cursor: pointer;
1318-
}
1319-
13201315
.user-details__header {
13211316
display: flex;
1322-
align-items: flex-end;
1323-
justify-content: space-between;
1317+
flex-direction: column;
13241318
gap: 16px;
1325-
flex-wrap: wrap;
13261319
}
13271320

1328-
.user-details__title {
1321+
.user-details__titleGroup {
13291322
display: flex;
1330-
align-items: baseline;
1331-
gap: 12px;
1323+
flex-direction: column;
1324+
gap: 8px;
1325+
}
1326+
1327+
.user-details__breadcrumbs {
1328+
display: flex;
1329+
align-items: center;
1330+
gap: 10px;
13321331
flex-wrap: wrap;
1332+
list-style: none;
1333+
margin: 0;
1334+
padding: 0;
13331335
}
13341336

1335-
.user-details__title--meta {
1336-
row-gap: 8px;
1337+
.user-details__breadcrumbItem {
1338+
display: inline-flex;
1339+
align-items: center;
1340+
gap: 10px;
13371341
}
13381342

1339-
.user-details__title--meta > *:not(:last-child)::after {
1340-
content: '|';
1341-
margin-left: 12px;
1342-
color: #8b949e;
1343+
.user-details__breadcrumbItem:not(:last-child)::after {
1344+
content: '/';
1345+
font-size: 18px;
1346+
font-weight: 600;
1347+
color: #8c959f;
1348+
}
1349+
1350+
.user-details__breadcrumb {
1351+
font: inherit;
1352+
font-size: 18px;
1353+
font-weight: 600;
1354+
color: #57606a;
1355+
background: transparent;
1356+
border: none;
1357+
padding: 0;
1358+
margin: 0;
1359+
line-height: 1.2;
1360+
}
1361+
1362+
.user-details__breadcrumb--link {
1363+
color: #0969da;
1364+
cursor: pointer;
1365+
}
1366+
1367+
.user-details__breadcrumb--link:hover {
1368+
text-decoration: underline;
1369+
}
1370+
1371+
.user-details__breadcrumb--link:focus-visible {
1372+
outline: 2px solid #0969da;
1373+
outline-offset: 3px;
1374+
border-radius: 4px;
1375+
}
1376+
1377+
.user-details__breadcrumbItem--current {
1378+
color: #1f2328;
1379+
}
1380+
1381+
.user-details__breadcrumbItem--current .user-details__heading {
1382+
color: inherit;
13431383
}
13441384

13451385
.user-details__heading {
13461386
margin: 0;
13471387
font-size: 18px;
1388+
font-weight: 600;
13481389
color: #1f2328;
13491390
}
13501391

1392+
.user-details__metaRow {
1393+
display: flex;
1394+
align-items: center;
1395+
gap: 12px;
1396+
row-gap: 8px;
1397+
flex-wrap: wrap;
1398+
}
1399+
1400+
.user-details__metaRow > *:not(:last-child)::after {
1401+
content: '|';
1402+
margin-left: 12px;
1403+
color: #8b949e;
1404+
}
1405+
13511406
.user-details__meta {
13521407
font-size: 14px;
13531408
color: #57606a;

src/views/UserDetailsView.tsx

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -145,15 +145,27 @@ export function UserDetailsView({ user, rangeStart, rangeEnd, onBackToUsers }: U
145145

146146
return (
147147
<section className="user-details">
148-
{onBackToUsers && (
149-
<button type="button" className="next-steps__cta next-steps__cta--primary user-details__backButton" onClick={onBackToUsers}>
150-
Back to users
151-
</button>
152-
)}
153-
154148
<div className="user-details__header">
155-
<div className="user-details__title user-details__title--meta">
156-
<h2 className="user-details__heading">Username: {user.username}</h2>
149+
<div className="user-details__titleGroup">
150+
<nav aria-label="Breadcrumb">
151+
<ol className="user-details__breadcrumbs">
152+
<li className="user-details__breadcrumbItem">
153+
{onBackToUsers ? (
154+
<button type="button" className="user-details__breadcrumb user-details__breadcrumb--link" onClick={onBackToUsers}>
155+
users
156+
</button>
157+
) : (
158+
<span className="user-details__breadcrumb">users</span>
159+
)}
160+
</li>
161+
<li className="user-details__breadcrumbItem user-details__breadcrumbItem--current" aria-current="page">
162+
<h2 className="user-details__heading">{user.username}</h2>
163+
</li>
164+
</ol>
165+
</nav>
166+
</div>
167+
168+
<div className="user-details__metaRow">
157169
{user.organizations.length > 0 && <span className="user-details__meta">Organizations: {joinValues(user.organizations)}</span>}
158170
{user.costCenters.length > 0 && <span className="user-details__meta">Cost Centers: {joinValues(user.costCenters)}</span>}
159171
<span className="user-details__meta">Days Active: {formatInt(activeDailyEntries.length)}</span>

0 commit comments

Comments
 (0)