Skip to content

Commit 285c594

Browse files
authored
Merge pull request #1534 from thunderstore-io/09-16-add_breadcrumbs_for_settings_pages
Add Breadcrumbs for settings pages
2 parents 27105a8 + d2ea714 commit 285c594

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

apps/cyberstorm-remix/app/root.tsx

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,28 @@ export function Layout({ children }: { children: React.ReactNode }) {
217217
// splitPath.length > 5 && splitPath[1] === "c" && splitPath[3] === "p";
218218
const matches = useMatches();
219219

220+
const userSettingsPage = matches.find(
221+
(m) => m.id === "settings/user/Settings"
222+
);
223+
const userSettingsAccountPage = matches.find(
224+
(m) => m.id === "settings/user/Account/Account"
225+
);
226+
const teamsPage = matches.find((m) => m.id === "settings/teams/Teams");
227+
const teamSettingsPage = matches.find(
228+
(m) => m.id === "settings/teams/team/teamSettings"
229+
);
230+
const teamSettingsProfilePage = matches.find(
231+
(m) => m.id === "settings/teams/team/tabs/Profile/Profile"
232+
);
233+
const teamSettingsMembersPage = matches.find(
234+
(m) => m.id === "settings/teams/team/tabs/Members/Members"
235+
);
236+
const teamSettingsServiceAccountsPage = matches.find(
237+
(m) => m.id === "settings/teams/team/tabs/ServiceAccounts/ServiceAccounts"
238+
);
239+
const teamSettingsSettingsPage = matches.find(
240+
(m) => m.id === "settings/teams/team/tabs/Settings/Settings"
241+
);
220242
const communitiesPage = matches.find(
221243
(m) => m.id === "communities/communities"
222244
);
@@ -300,6 +322,73 @@ export function Layout({ children }: { children: React.ReactNode }) {
300322
<section className="container container--y container--full layout__content">
301323
{/* Breadcrumbs are build progressively */}
302324
<NewBreadCrumbs>
325+
{/* User Settings */}
326+
{userSettingsPage ? (
327+
userSettingsAccountPage ? (
328+
<NewBreadCrumbsLink
329+
primitiveType="cyberstormLink"
330+
linkId="Settings"
331+
csVariant="cyber"
332+
>
333+
Settings
334+
</NewBreadCrumbsLink>
335+
) : (
336+
<span>
337+
<span>Settings</span>
338+
</span>
339+
)
340+
) : null}
341+
{/* User Settings account */}
342+
{userSettingsAccountPage ? (
343+
<span>
344+
<span>Account</span>
345+
</span>
346+
) : null}
347+
{/* Teams */}
348+
{teamsPage || teamSettingsPage ? (
349+
<NewBreadCrumbsLink
350+
primitiveType="cyberstormLink"
351+
linkId="Teams"
352+
csVariant="cyber"
353+
>
354+
Teams
355+
</NewBreadCrumbsLink>
356+
) : null}
357+
{/* Team settings */}
358+
{teamSettingsPage ? (
359+
<NewBreadCrumbsLink
360+
primitiveType="cyberstormLink"
361+
linkId="Team"
362+
csVariant="cyber"
363+
team={teamSettingsPage.params.namespaceId}
364+
>
365+
{teamSettingsPage.params.namespaceId}
366+
</NewBreadCrumbsLink>
367+
) : null}
368+
{/* Team Settings Profile */}
369+
{teamSettingsProfilePage ? (
370+
<span>
371+
<span>Profile</span>
372+
</span>
373+
) : null}
374+
{/* Team Settings Members */}
375+
{teamSettingsMembersPage ? (
376+
<span>
377+
<span>Members</span>
378+
</span>
379+
) : null}
380+
{/* Team Settings Service Accounts */}
381+
{teamSettingsServiceAccountsPage ? (
382+
<span>
383+
<span>Service Accounts</span>
384+
</span>
385+
) : null}
386+
{/* Team Settings Settings */}
387+
{teamSettingsSettingsPage ? (
388+
<span>
389+
<span>Settings</span>
390+
</span>
391+
) : null}
303392
{/* Upload */}
304393
{uploadPage ? (
305394
<span>

0 commit comments

Comments
 (0)