Skip to content

Commit 6c2b5a3

Browse files
m-hulbertclaude
andcommitted
fixup! fix(nav): polish sidebar and layout alignment
Standardise all chevron icons to -solid variant at 12px, use md breakpoints for breadcrumb responsiveness, and allow breadcrumbs to wrap. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c910750 commit 6c2b5a3

3 files changed

Lines changed: 18 additions & 18 deletions

File tree

src/components/Layout/Breadcrumbs.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import cn from '@ably/ui/core/utils/cn';
66
import { hierarchicalKey } from './utils/nav';
77

88
const linkStyles =
9-
'ui-text-label4 font-semibold text-neutral-900 hover:text-neutral-1300 active:text-neutral-800 dark:text-neutral-400 dark:hover:text-neutral-000 dark:active:text-neutral-500 focus-base transition-colors';
9+
'ui-text-label4 font-semibold text-neutral-900 hover:text-neutral-1300 active:text-neutral-800 dark:text-neutral-400 dark:hover:text-neutral-000 dark:active:text-neutral-500 focus-base transition-colors whitespace-nowrap';
1010

1111
const Breadcrumbs: React.FC = () => {
1212
const { activePage } = useLayoutContext();
@@ -35,40 +35,40 @@ const Breadcrumbs: React.FC = () => {
3535
})();
3636

3737
return (
38-
<nav aria-label="breadcrumb" className="flex items-center gap-1 min-w-0">
38+
<nav aria-label="breadcrumb" className="flex items-center gap-1 min-w-0 flex-wrap">
3939
{lastActiveNodeIndex === null && (
4040
<Icon
41-
name="icon-gui-chevron-left-micro"
42-
size="16px"
41+
name="icon-gui-chevron-left-solid"
42+
size="12px"
4343
color="text-neutral-900 dark:text-neutral-400"
44-
additionalCSS="sm:hidden"
44+
additionalCSS="md:hidden shrink-0"
4545
/>
4646
)}
47-
<Link to="/docs" className={cn(linkStyles, lastActiveNodeIndex !== null && 'hidden sm:block')}>
47+
<Link to="/docs" className={cn(linkStyles, lastActiveNodeIndex !== null && 'hidden md:block')}>
4848
Home
4949
</Link>
5050
<Icon
51-
name="icon-gui-chevron-right-micro"
52-
size="16px"
51+
name="icon-gui-chevron-right-solid"
52+
size="12px"
5353
color="text-neutral-900 dark:text-neutral-400"
54-
additionalCSS={cn('rotate-180 sm:rotate-0', { 'hidden sm:flex': lastActiveNodeIndex === null })}
54+
additionalCSS={cn('shrink-0 rotate-180 md:rotate-0', { 'hidden md:flex': lastActiveNodeIndex === null })}
5555
/>
5656
{activePage.tree.map((node, index) => (
5757
<React.Fragment key={hierarchicalKey(node.page.link, index, activePage.tree)}>
5858
{index > 0 ? (
5959
<Icon
60-
name="icon-gui-chevron-right-micro"
61-
size="16px"
60+
name="icon-gui-chevron-right-solid"
61+
size="12px"
6262
color="text-neutral-900 dark:text-neutral-400"
63-
additionalCSS="hidden sm:flex"
63+
additionalCSS="hidden md:flex shrink-0"
6464
/>
6565
) : null}
6666
<Link
6767
to={node.page.link}
6868
className={cn(linkStyles, {
6969
'text-neutral-700 dark:text-neutral-700 pointer-events-none':
7070
index === activePage.tree.length - 1 || node.page.link === '#',
71-
'hidden sm:flex': index !== lastActiveNodeIndex,
71+
'hidden md:flex': index !== lastActiveNodeIndex,
7272
})}
7373
>
7474
{node.page.name}

src/components/Layout/LanguageSelector.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ describe('LanguageSelector', () => {
7272

7373
it('renders the LanguageSelector component with default language (JS)', () => {
7474
render(<LanguageSelector />);
75-
expect(screen.getByText('icon-gui-chevron-down-micro')).toBeInTheDocument();
75+
expect(screen.getByText('icon-gui-chevron-down-solid')).toBeInTheDocument();
7676
expect(screen.getByText('icon-tech-javascript')).toBeInTheDocument();
7777
expect(screen.getByText('JavaScript')).toBeInTheDocument();
7878
});

src/components/Layout/LanguageSelector.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ const SingleLanguageSelector = () => {
9393
{options.length > 1 && (
9494
<Select.Icon className="flex items-center pl-2 text-red-orange cursor-pointer">
9595
<Icon
96-
name="icon-gui-chevron-down-micro"
97-
size="20px"
96+
name="icon-gui-chevron-down-solid"
97+
size="12px"
9898
additionalCSS="text-neutral-700 group-hover/lang-dropdown:text-neutral-1300 dark:text-neutral-600 dark:group-hover/lang-dropdown:text-neutral-000 transition-colors"
9999
/>
100100
</Select.Icon>
@@ -248,8 +248,8 @@ const DualLanguageDropdown = ({ label, paramName, languages, selectedLanguage }:
248248
{options.length > 1 && (
249249
<Select.Icon className="flex items-center pl-2 text-red-orange cursor-pointer">
250250
<Icon
251-
name="icon-gui-chevron-down-micro"
252-
size="20px"
251+
name="icon-gui-chevron-down-solid"
252+
size="12px"
253253
additionalCSS="text-neutral-700 group-hover/lang-dropdown:text-neutral-1300 dark:text-neutral-600 dark:group-hover/lang-dropdown:text-neutral-000 transition-colors"
254254
/>
255255
</Select.Icon>

0 commit comments

Comments
 (0)