πŸ› fix: give the Hanzo icon export the directory it names

type-check failed on three imports of a module nobody had created:

  src/icons.ts(184)                    Cannot find module './Hanzo'
  src/features/agentConfig.ts(26)      Cannot find module '@/Hanzo'
  src/features/providerConfig.tsx(78)  Cannot find module '@/Hanzo'

The rebrand renamed the identifier LobeHub to Hanzo, including in these paths,
but left src/LobeHub/ where it was β€” so the export pointed at nothing and the
directory was reachable from nowhere.

Renaming the directory rather than the imports, because the export NAME is what
everything else keys off: scripts/tocWorkflow derives each icon's directory
from `default as <Name>` in icons.ts, so with the old directory `build:toc`
looked for src/Hanzo/index.mdx and died. That is a second breakage the
typecheck could not see, and one rename settles both.

The docs and style.ts came along, since toc.json is generated from them and
regenerating with the old TITLE would have quietly reverted the rebrand's
display name. What stays is the mapping: agentConfig still matches 'lobehub',
'lobechat', … and providerEnum still reads `Hanzo = 'lobehub'`, because those
name the upstream provider this icon stands for.

Verified: type-check clean, build:toc exits 0 and is idempotent, no circular
dependencies, and toc.json reduces to the two fields the rebrand intended.
This commit is contained in:
zooqueen
2026-08-10 12:31:40 -07:00
parent a86896ffe8
commit 5fdc08d04b
10 changed files with 29 additions and 29 deletions
@@ -1,10 +1,10 @@
---
title: LobeHub
description: https://lobehub.com
title: Hanzo
description: https://hanzo.ai
category: Provider
---
import { LobeHub } from '@hanzoai/icons';
import { Hanzo } from '@hanzoai/icons';
import { Flexbox } from '@lobehub/ui';
import ColorPreview from '../components/ColorPreview';
@@ -15,34 +15,34 @@ import DocsPreview from '../components/DocsPreview';
<DocsPreview>
{
<Flexbox gap={16} horizontal>
<LobeHub size={64} />
<LobeHub.Color size={64} />
<LobeHub.Morden size={64} />
<Hanzo size={64} />
<Hanzo.Color size={64} />
<Hanzo.Morden size={64} />
</Flexbox>
}
</DocsPreview>
```tsx
import { LobeHub } from '@hanzoai/icons';
import { Hanzo } from '@hanzoai/icons';
import { Flexbox } from '@lobehub/ui';
export default () => (
<Flexbox gap={16} horizontal>
<LobeHub size={64} />
<LobeHub.Color size={64} />
<LobeHub.Morden size={64} />
<Hanzo size={64} />
<Hanzo.Color size={64} />
<Hanzo.Morden size={64} />
</Flexbox>
);
```
## Text
<DocsPreview>{<LobeHub.Text size={48} />}</DocsPreview>
<DocsPreview>{<Hanzo.Text size={48} />}</DocsPreview>
```tsx
import { LobeHub } from '@hanzoai/icons';
import { Hanzo } from '@hanzoai/icons';
export default () => <LobeHub.Text size={48} />;
export default () => <Hanzo.Text size={48} />;
```
## Combine
@@ -50,20 +50,20 @@ export default () => <LobeHub.Text size={48} />;
<DocsPreview>
{
<Flexbox gap={16} align={'flex-start'}>
<LobeHub.Combine size={64} />
<LobeHub.Combine size={64} type={'color'} />
<Hanzo.Combine size={64} />
<Hanzo.Combine size={64} type={'color'} />
</Flexbox>
}
</DocsPreview>
```tsx
import { LobeHub } from '@hanzoai/icons';
import { Hanzo } from '@hanzoai/icons';
import { Flexbox } from '@lobehub/ui';
export default () => (
<Flexbox gap={16} align={'flex-start'}>
<LobeHub.Combine size={64} />
<LobeHub.Combine size={64} type={'color'} />
<Hanzo.Combine size={64} />
<Hanzo.Combine size={64} type={'color'} />
</Flexbox>
);
```
@@ -73,20 +73,20 @@ export default () => (
<DocsPreview>
{
<Flexbox gap={16} horizontal>
<LobeHub.Avatar size={64} />
<LobeHub.Avatar size={64} shape={'square'} />
<Hanzo.Avatar size={64} />
<Hanzo.Avatar size={64} shape={'square'} />
</Flexbox>
}
</DocsPreview>
```tsx
import { LobeHub } from '@hanzoai/icons';
import { Hanzo } from '@hanzoai/icons';
import { Flexbox } from '@lobehub/ui';
export default () => (
<Flexbox gap={16} horizontal>
<LobeHub.Avatar size={64} />
<LobeHub.Avatar size={64} shape={'square'} />
<Hanzo.Avatar size={64} />
<Hanzo.Avatar size={64} shape={'square'} />
</Flexbox>
);
```
@@ -96,20 +96,20 @@ export default () => (
<DocsPreview>
{
<Flexbox gap={16} horizontal>
<ColorPreview color={LobeHub.colorPrimary} />
<ColorPreview color={Hanzo.colorPrimary} />
</Flexbox>
}
</DocsPreview>
```tsx
import { LobeHub } from '@hanzoai/icons';
import { Hanzo } from '@hanzoai/icons';
import { Flexbox } from '@lobehub/ui';
import ColorPreview from '../components/ColorPreview';
export default () => (
<Flexbox gap={16} horizontal>
<ColorPreview color={LobeHub.colorPrimary} />
<ColorPreview color={Hanzo.colorPrimary} />
</Flexbox>
);
```
@@ -1,4 +1,4 @@
export const TITLE = 'LobeHub';
export const TITLE = 'Hanzo';
export const COMBINE_TEXT_MULTIPLE = 0.6;
export const COMBINE_SPACE_MULTIPLE = 0.2;
export const COLOR_PRIMARY = '#fff';
+2 -2
View File
@@ -3382,8 +3382,8 @@
},
{
"color": "#fff",
"desc": "https://lobehub.com",
"docsUrl": "lobe-hub",
"desc": "https://hanzo.ai",
"docsUrl": "hanzo",
"fullTitle": "Hanzo",
"group": "provider",
"id": "Hanzo",