Skip to content

Commit 950ae08

Browse files
committed
fix: standardise on lucide icons
1 parent 23aff0a commit 950ae08

9 files changed

Lines changed: 35 additions & 60 deletions

File tree

app/components/diff/FileTree.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,11 @@ function isExpanded(path: string): boolean {
112112
function getChangeIcon(type: 'added' | 'removed' | 'modified') {
113113
switch (type) {
114114
case 'added':
115-
return 'i-octicon-diff-added-16 text-green-500'
115+
return 'i-lucide:file-plus text-green-500'
116116
case 'removed':
117-
return 'i-octicon-diff-removed-16 text-red-500'
117+
return 'i-lucide:file-minus text-red-500'
118118
case 'modified':
119-
return 'i-octicon-diff-modified-16 text-yellow-500'
119+
return 'i-lucide:file-diff text-yellow-500'
120120
}
121121
}
122122
@@ -140,14 +140,14 @@ function handleFileClick(node: DiffTreeNode) {
140140
>
141141
<span
142142
class="w-4 h-4 shrink-0 transition-transform"
143-
:class="[isExpanded(node.path) ? 'i-carbon:chevron-down' : 'i-carbon:chevron-right']"
143+
:class="[isExpanded(node.path) ? 'i-lucide:chevron-down' : 'i-lucide:chevron-right']"
144144
/>
145145
<span
146146
class="w-4 h-4 shrink-0"
147147
:class="
148148
isExpanded(node.path)
149-
? 'i-carbon:folder-open text-yellow-500'
150-
: 'i-carbon:folder text-yellow-600'
149+
? 'i-lucide:folder-open text-yellow-500'
150+
: 'i-lucide:folder text-yellow-600'
151151
"
152152
/>
153153
<span class="truncate">{{ node.name }}</span>

app/components/diff/MobileSidebarDrawer.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ watch(open, value => {
7373
:aria-label="$t('compare.close_files_panel')"
7474
@click="open = false"
7575
>
76-
<span class="i-carbon:close w-5 h-5" />
76+
<span class="i-lucide:x w-5 h-5" />
7777
</button>
7878
</div>
7979

app/components/diff/SidebarPanel.vue

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ const fileFilter = defineModel<'all' | 'added' | 'removed' | 'modified'>('fileFi
2121
const sectionOrder = ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']
2222
const { t } = useI18n()
2323
const sectionMeta = computed<Record<string, { label: string; icon: string }>>(() => ({
24-
dependencies: { label: t('compare.dependencies'), icon: 'i-carbon-cube' },
25-
devDependencies: { label: t('compare.dev_dependencies'), icon: 'i-carbon-tools' },
26-
peerDependencies: { label: t('compare.peer_dependencies'), icon: 'i-carbon-user-multiple' },
27-
optionalDependencies: { label: t('compare.optional_dependencies'), icon: 'i-carbon-help' },
24+
dependencies: { label: t('compare.dependencies'), icon: 'i-lucide:box' },
25+
devDependencies: { label: t('compare.dev_dependencies'), icon: 'i-lucide:wrench' },
26+
peerDependencies: { label: t('compare.peer_dependencies'), icon: 'i-lucide:users' },
27+
optionalDependencies: { label: t('compare.optional_dependencies'), icon: 'i-lucide:circle-help' },
2828
}))
2929
3030
const sectionList = computed(() => {
@@ -34,7 +34,7 @@ const sectionList = computed(() => {
3434
key,
3535
changes,
3636
label: sectionMeta.value[key]?.label ?? key,
37-
icon: sectionMeta.value[key]?.icon ?? 'i-carbon-cube',
37+
icon: sectionMeta.value[key]?.icon ?? 'i-lucide:box',
3838
order: sectionOrder.indexOf(key) === -1 ? sectionOrder.length + 1 : sectionOrder.indexOf(key),
3939
}))
4040
.sort((a, b) => a.order - b.order)
@@ -105,7 +105,7 @@ function handleFileSelect(file: FileChange) {
105105
class="px-3 py-2 bg-yellow-500/5 border-b border-border"
106106
>
107107
<div class="flex items-start gap-2">
108-
<span class="i-carbon-warning w-3.5 h-3.5 text-yellow-500 shrink-0 mt-0.5" />
108+
<span class="i-lucide:triangle-alert w-3.5 h-3.5 text-yellow-500 shrink-0 mt-0.5" />
109109
<div class="text-3xs text-fg-muted">
110110
<p v-for="warning in compare.meta.warnings" :key="warning">{{ warning }}</p>
111111
</div>
@@ -118,7 +118,7 @@ function handleFileSelect(file: FileChange) {
118118
class="cursor-pointer list-none flex items-center gap-2 text-xs font-medium mb-2 hover:text-fg transition-colors"
119119
>
120120
<span
121-
class="i-carbon-chevron-right w-3.5 h-3.5 transition-transform group-open:rotate-90"
121+
class="i-lucide:chevron-right w-3.5 h-3.5 transition-transform group-open:rotate-90"
122122
/>
123123
<span :class="section.icon" class="w-3.5 h-3.5" />
124124
{{ section.label }} ({{ section.changes.length }})
@@ -134,10 +134,10 @@ function handleFileSelect(file: FileChange) {
134134
:class="[
135135
'w-3 h-3 shrink-0',
136136
dep.type === 'added'
137-
? 'i-carbon-add-alt text-green-500'
137+
? 'i-lucide:plus text-green-500'
138138
: dep.type === 'removed'
139-
? 'i-carbon-subtract-alt text-red-500'
140-
: 'i-carbon-arrows-horizontal text-yellow-500',
139+
? 'i-lucide:minus text-red-500'
140+
: 'i-lucide:arrow-left-right text-yellow-500',
141141
]"
142142
/>
143143

@@ -157,7 +157,7 @@ function handleFileSelect(file: FileChange) {
157157
>
158158
{{ dep.from }}
159159
</span>
160-
<span v-if="dep.type === 'updated'" class="i-carbon-arrow-right w-2.5 h-2.5" />
160+
<span v-if="dep.type === 'updated'" class="i-lucide:arrow-right w-2.5 h-2.5" />
161161
<span v-if="dep.to">{{ dep.to }}</span>
162162
</div>
163163

@@ -187,18 +187,18 @@ function handleFileSelect(file: FileChange) {
187187
class="border-b border-border px-3 py-2 shrink-0 cursor-pointer list-none flex items-center justify-between gap-2"
188188
>
189189
<span class="text-xs font-medium flex items-center gap-1.5">
190-
<span class="i-carbon-document w-3.5 h-3.5" />
190+
<span class="i-lucide:file-text w-3.5 h-3.5" />
191191
{{ $t('compare.file_changes') }}
192192
</span>
193193
<span
194-
class="i-carbon-chevron-right w-3.5 h-3.5 transition-transform group-open:rotate-90"
194+
class="i-lucide:chevron-right w-3.5 h-3.5 transition-transform group-open:rotate-90"
195195
/>
196196
</summary>
197197

198198
<div class="border-b border-border px-3 py-2 shrink-0 space-y-2">
199199
<div class="relative">
200200
<span
201-
class="absolute inset-is-2 top-1/2 -translate-y-1/2 i-carbon-search w-3 h-3 text-fg-subtle pointer-events-none"
201+
class="absolute inset-is-2 top-1/2 -translate-y-1/2 i-lucide:search w-3 h-3 text-fg-subtle pointer-events-none"
202202
/>
203203
<input
204204
v-model="fileSearch"

app/components/diff/ViewerPanel.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -229,10 +229,10 @@ function getCodeUrl(version: string): string {
229229
:class="[
230230
'w-4 h-4 shrink-0',
231231
file.type === 'added'
232-
? 'i-carbon-add-alt text-green-500'
232+
? 'i-lucide:plus text-green-500'
233233
: file.type === 'removed'
234-
? 'i-carbon-subtract-alt text-red-500'
235-
: 'i-carbon-edit text-yellow-500',
234+
? 'i-lucide:minus text-red-500'
235+
: 'i-lucide:pen text-yellow-500',
236236
]"
237237
/>
238238

@@ -272,10 +272,10 @@ function getCodeUrl(version: string): string {
272272
:class="{ 'bg-bg-elevated text-fg': showOptions }"
273273
@click="showOptions = !showOptions"
274274
>
275-
<span class="i-carbon-settings w-3.5 h-3.5" />
275+
<span class="i-lucide:settings w-3.5 h-3.5" />
276276
Options
277277
<span
278-
class="i-carbon-chevron-down w-3 h-3 transition-transform"
278+
class="i-lucide:chevron-down w-3 h-3 transition-transform"
279279
:class="{ 'rotate-180': showOptions }"
280280
/>
281281
</button>
@@ -433,7 +433,7 @@ function getCodeUrl(version: string): string {
433433

434434
<!-- Error state -->
435435
<div v-else-if="status === 'error'" class="py-8 text-center">
436-
<span class="i-carbon-warning-alt w-8 h-8 mx-auto text-fg-subtle mb-2 block" />
436+
<span class="i-lucide:triangle-alert w-8 h-8 mx-auto text-fg-subtle mb-2 block" />
437437
<p class="text-fg-muted text-sm mb-2">
438438
{{ loadError?.message || 'Failed to load diff' }}
439439
</p>

app/pages/diff/[[org]]/[packageName]/v/[versionRange].vue

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ useSeoMeta({
141141
<span v-else class="font-mono text-sm text-fg-muted">{{ fromVersion }}</span>
142142
</div>
143143

144-
<span class="i-carbon-arrow-right w-4 h-4 text-fg-subtle" />
144+
<span class="i-lucide:arrow-right w-4 h-4 text-fg-subtle" />
145145

146146
<div class="flex items-center gap-2">
147147
<span class="text-xs text-fg-subtle uppercase tracking-wide">To</span>
@@ -217,7 +217,7 @@ useSeoMeta({
217217
class="px-2 py-1 inline-flex items-center gap-1.5 font-mono text-xs bg-bg-muted border border-border rounded text-fg-muted hover:text-fg hover:border-border-hover transition-colors"
218218
@click="mobileDrawerOpen = true"
219219
>
220-
<span class="i-carbon:document w-3.5 h-3.5" />
220+
<span class="i-lucide:file-text w-3.5 h-3.5" />
221221
{{ $t('compare.files_button') }}
222222
</button>
223223
</div>
@@ -233,9 +233,7 @@ useSeoMeta({
233233
/>
234234
<div v-else class="h-full flex items-center justify-center text-center p-8">
235235
<div>
236-
<span
237-
class="i-carbon-document-blank w-16 h-16 mx-auto text-fg-subtle/50 block mb-4"
238-
/>
236+
<span class="i-lucide:file-text w-16 h-16 mx-auto text-fg-subtle/50 block mb-4" />
239237
<p class="text-fg-muted">{{ $t('compare.select_file_prompt') }}</p>
240238
</div>
241239
</div>

app/pages/package/[[org]]/[name].vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -884,7 +884,7 @@ const showSkeleton = shallowRef(false)
884884
"
885885
variant="button-secondary"
886886
:to="`/diff/${pkg.name}/v/${displayVersion.version}...${latestVersion.version}`"
887-
classicon="i-carbon:text-align-mixed"
887+
classicon="i-lucide:diff"
888888
>
889889
{{ $t('compare.compare_versions') }}
890890
</LinkBase>
@@ -1022,19 +1022,19 @@ const showSkeleton = shallowRef(false)
10221022
</li>
10231023
<!-- Mobile-only: Docs + Code + Compare links -->
10241024
<li v-if="docsLink && displayVersion" class="sm:hidden">
1025-
<LinkBase :to="docsLink" classicon="i-carbon:document">
1025+
<LinkBase :to="docsLink" classicon="i-lucide:file-text">
10261026
{{ $t('package.links.docs') }}
10271027
</LinkBase>
10281028
</li>
10291029
<li v-if="resolvedVersion && codeLink" class="sm:hidden">
1030-
<LinkBase :to="codeLink" classicon="i-carbon:code">
1030+
<LinkBase :to="codeLink" classicon="i-lucide:code">
10311031
{{ $t('package.links.code') }}
10321032
</LinkBase>
10331033
</li>
10341034
<li class="sm:hidden">
10351035
<LinkBase
10361036
:to="{ name: 'compare', query: { packages: pkg.name } }"
1037-
classicon="i-carbon:compare"
1037+
classicon="i-lucide:git-compare"
10381038
>
10391039
{{ $t('package.links.compare') }}
10401040
</LinkBase>
@@ -1049,7 +1049,7 @@ const showSkeleton = shallowRef(false)
10491049
:to="`/diff/${pkg.name}/v/${displayVersion.version}...${latestVersion.version}`"
10501050
class="link-subtle font-mono text-sm inline-flex items-center gap-1.5"
10511051
>
1052-
<span class="i-carbon-text-align-mixed w-4 h-4" aria-hidden="true" />
1052+
<span class="i-lucide:diff w-4 h-4" aria-hidden="true" />
10531053
{{ $t('compare.compare_versions') }}
10541054
</NuxtLink>
10551055
</li>

app/types/icon.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
export type IconClass =
2-
| `i-carbon:${string}`
32
| `i-lucide:${string}`
43
| `i-simple-icons:${string}`
54
| `i-svg-spinners:${string}`

package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,7 @@
5555
"@atproto/oauth-client-node": "^0.3.15",
5656
"@deno/doc": "jsr:^0.189.1",
5757
"@floating-ui/vue": "1.1.10",
58-
"@iconify-json/carbon": "1.2.18",
5958
"@iconify-json/lucide": "1.2.93",
60-
"@iconify-json/octicon": "1.2.20",
6159
"@iconify-json/simple-icons": "1.2.71",
6260
"@iconify-json/svg-spinners": "1.2.4",
6361
"@iconify-json/vscode-icons": "1.2.43",

pnpm-lock.yaml

Lines changed: 0 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)