Skip to content

Commit 17be489

Browse files
committed
Merge branch 'main' into feat-i18n/adding-dutch
2 parents b82da88 + 8ee186a commit 17be489

File tree

179 files changed

+6435
-3650
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+6435
-3650
lines changed

.storybook/main.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ const config = {
88
features: {
99
backgrounds: false,
1010
},
11-
async viteFinal(config) {
12-
config.plugins ??= []
11+
async viteFinal(newConfig) {
12+
newConfig.plugins ??= []
1313

14-
config.plugins.push({
14+
newConfig.plugins.push({
1515
name: 'ignore-internals',
1616
transform(_, id) {
1717
if (id.includes('/app/pages/blog/') && id.endsWith('.md')) {
@@ -23,7 +23,7 @@ const config = {
2323
// vue-docgen-api can crash on components that import types from other
2424
// .vue files (it tries to parse the SFC with @babel/parser as plain TS).
2525
// This wrapper catches those errors so the build doesn't fail.
26-
const docgenPlugin = config.plugins?.find(
26+
const docgenPlugin = newConfig.plugins?.find(
2727
(p): p is Extract<typeof p, { name: string }> =>
2828
!!p && typeof p === 'object' && 'name' in p && p.name === 'storybook:vue-docgen-plugin',
2929
)
@@ -48,7 +48,7 @@ const config = {
4848
}
4949
}
5050

51-
return config
51+
return newConfig
5252
},
5353
} satisfies StorybookConfig
5454

app/assets/main.css

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114

115115
--badge-blue: oklch(0.579 0.191 252);
116116
--badge-yellow: oklch(0.588 0.183 91);
117-
--badge-green: oklch(0.566 0.202 165);
117+
--badge-green: oklch(0.49 0.15 161.08);
118118
--badge-indigo: oklch(0.457 0.24 277.023);
119119
--badge-purple: oklch(0.495 0.172 295);
120120
--badge-orange: oklch(0.67 0.185 55);
@@ -275,13 +275,16 @@ dd {
275275
}
276276

277277
/* Shiki theme colors */
278-
html.light .shiki,
279-
html.light .shiki span {
278+
html.light .shiki {
280279
color: var(--shiki-light) !important;
281280
background-color: var(--shiki-light-bg) !important;
282-
font-style: var(--shiki-light-font-style) !important;
283-
font-weight: var(--shiki-light-font-weight) !important;
284-
text-decoration: var(--shiki-light-text-decoration) !important;
281+
282+
& span {
283+
color: var(--shiki-light) !important;
284+
font-style: var(--shiki-light-font-style) !important;
285+
font-weight: var(--shiki-light-font-weight) !important;
286+
text-decoration: var(--shiki-light-text-decoration) !important;
287+
}
285288
}
286289

287290
/* Inline code in package descriptions */

app/components/Alert.vue

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<script setup lang="ts">
2+
interface Props {
3+
variant: 'warning' | 'error'
4+
title?: string
5+
}
6+
7+
defineProps<Props>()
8+
9+
const WRAPPER_CLASSES: Record<Props['variant'], string> = {
10+
warning: 'border-amber-400/20 bg-amber-500/8',
11+
error: 'border-red-400/20 bg-red-500/8',
12+
}
13+
14+
const TITLE_CLASSES: Record<Props['variant'], string> = {
15+
warning: 'text-amber-800 dark:text-amber-300',
16+
error: 'text-red-800 dark:text-red-300',
17+
}
18+
19+
const BODY_CLASSES: Record<Props['variant'], string> = {
20+
warning: 'text-amber-700 dark:text-amber-400',
21+
error: 'text-red-700 dark:text-red-400',
22+
}
23+
24+
const ROLES: Record<Props['variant'], 'status' | 'alert'> = {
25+
warning: 'status',
26+
error: 'alert',
27+
}
28+
</script>
29+
30+
<template>
31+
<div
32+
:role="ROLES[variant]"
33+
class="border rounded-md px-3 py-2.5"
34+
:class="WRAPPER_CLASSES[variant]"
35+
>
36+
<p v-if="title" class="font-semibold mb-1" :class="TITLE_CLASSES[variant]">{{ title }}</p>
37+
<div class="text-xs" :class="BODY_CLASSES[variant]">
38+
<slot />
39+
</div>
40+
</div>
41+
</template>

app/components/AppFooter.vue

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,21 @@ const closeModal = () => modalRef.value?.close?.()
8888
</p>
8989
<ul class="mb-8 flex flex-col gap-2">
9090
<li class="flex gap-2 items-center">
91-
<kbd class="kbd">.</kbd>
92-
<span>{{ $t('shortcuts.open_code_view') }}</span>
91+
<kbd class="kbd">m</kbd>
92+
<span>{{ $t('shortcuts.open_main') }}</span>
9393
</li>
9494
<li class="flex gap-2 items-center">
9595
<kbd class="kbd">d</kbd>
9696
<span>{{ $t('shortcuts.open_docs') }}</span>
9797
</li>
98+
<li class="flex gap-2 items-center">
99+
<kbd class="kbd">.</kbd>
100+
<span>{{ $t('shortcuts.open_code_view') }}</span>
101+
</li>
102+
<li class="flex gap-2 items-center">
103+
<kbd class="kbd">f</kbd>
104+
<span>{{ $t('shortcuts.open_diff') }}</span>
105+
</li>
98106
<li class="flex gap-2 items-center">
99107
<kbd class="kbd">c</kbd>
100108
<span>{{ $t('shortcuts.compare_from_package') }}</span>

app/components/BaseCard.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
defineProps<{
33
/** Whether this is an exact match for the query */
44
isExactMatch?: boolean
5+
selected?: boolean
56
}>()
67
</script>
78

@@ -10,6 +11,7 @@ defineProps<{
1011
class="group bg-bg-subtle border border-border rounded-lg p-4 sm:p-6 transition-[border-color,background-color] duration-200 hover:(border-border-hover bg-bg-muted) cursor-pointer relative focus-within:outline-none focus-within:ring-2 focus-within:ring-offset-bg focus-within:ring-offset-2 focus-within:ring-fg/50 focus-within:bg-bg-muted focus-within:border-border-hover"
1112
:class="{
1213
'border-accent/30 contrast-more:border-accent/90 bg-accent/5': isExactMatch,
14+
'bg-fg-subtle/15!': selected,
1315
}"
1416
>
1517
<!-- Glow effect for exact matches -->

app/components/BuildEnvironment.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
<script setup lang="ts">
2-
import type { BuildInfo } from '#shared/types'
3-
42
const { footer = false, buildInfo: buildInfoProp } = defineProps<{
53
footer?: boolean
64
buildInfo?: BuildInfo

app/components/Code/DirectoryListing.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<script setup lang="ts">
2-
import type { PackageFileTree } from '#shared/types'
32
import type { RouteLocationRaw } from 'vue-router'
43
import type { RouteNamedMap } from 'vue-router/auto-routes'
54
import { ADDITIONAL_ICONS, getFileIcon } from '~/utils/file-icons'

app/components/Code/FileTree.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<script setup lang="ts">
2-
import type { PackageFileTree } from '#shared/types'
32
import type { RouteLocationRaw } from 'vue-router'
43
import type { RouteNamedMap } from 'vue-router/auto-routes'
54
import { ADDITIONAL_ICONS, getFileIcon } from '~/utils/file-icons'

app/components/Code/MobileTreeDrawer.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<script setup lang="ts">
2-
import type { PackageFileTree } from '#shared/types'
32
import type { RouteNamedMap } from 'vue-router/auto-routes'
43
54
defineProps<{
@@ -29,7 +28,7 @@ watch(isOpen, open => (isLocked.value = open))
2928
<!-- Toggle button (mobile only) -->
3029
<ButtonBase
3130
variant="primary"
32-
class="md:hidden fixed bottom-4 inset-ie-4 z-45"
31+
class="md:hidden fixed bottom-9 inset-ie-4 z-45"
3332
:aria-label="$t('code.toggle_tree')"
3433
@click="isOpen = !isOpen"
3534
:classicon="isOpen ? 'i-lucide:x' : 'i-lucide:folder'"

app/components/ColumnPicker.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ const columnLabels = computed(() => ({
5454
maintenanceScore: $t('filters.columns.maintenance_score'),
5555
combinedScore: $t('filters.columns.combined_score'),
5656
security: $t('filters.columns.security'),
57+
selection: $t('filters.columns.selection'),
5758
}))
5859
5960
function getColumnLabel(id: ColumnId): string {

0 commit comments

Comments
 (0)