Skip to content

Commit d08d1e5

Browse files
committed
docs: tighten the getting-started wizard's vertical spacing
Lay each card out horizontally (icon beside the label) and put each section's title and hint on one line, trimming section and card padding so the whole wizard takes far less vertical space.
1 parent 99b7d07 commit d08d1e5

1 file changed

Lines changed: 23 additions & 21 deletions

File tree

docs/app/components/global/GettingStartedWizard.vue

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ function reset(): void {
236236

237237
<template>
238238
<div class="not-prose rounded-xl border border-default divide-y divide-default overflow-hidden">
239-
<div class="flex items-center justify-between gap-4 px-5 py-4 sm:px-6 bg-muted">
239+
<div class="flex items-center justify-between gap-4 px-5 py-3 sm:px-6 bg-muted">
240240
<div>
241241
<p class="font-medium text-highlighted">
242242
What kind of devtool do you want to build?
@@ -260,52 +260,54 @@ function reset(): void {
260260
<div
261261
v-for="section in sections"
262262
:key="section.key"
263-
class="p-5 sm:p-6"
263+
class="px-5 py-4 sm:px-6"
264264
>
265-
<p class="font-medium text-highlighted">
266-
{{ section.title }}
267-
</p>
268-
<p class="text-sm text-muted mt-0.5 mb-4">
269-
{{ section.hint }}
270-
</p>
265+
<div class="flex flex-wrap items-baseline gap-x-2 mb-3">
266+
<p class="font-medium text-highlighted">
267+
{{ section.title }}
268+
</p>
269+
<p class="text-sm text-muted">
270+
{{ section.hint }}
271+
</p>
272+
</div>
271273

272-
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3">
274+
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2.5">
273275
<button
274276
v-for="item in section.items"
275277
:key="item.value"
276278
type="button"
277279
role="checkbox"
278280
:aria-checked="isChecked(section.key, item.value)"
279-
class="relative flex flex-col items-start gap-3 rounded-lg border p-4 text-left transition-colors cursor-pointer"
281+
class="relative flex items-center gap-3 rounded-lg border p-3 text-left transition-colors cursor-pointer"
280282
:class="isChecked(section.key, item.value)
281283
? 'border-primary bg-primary/5 ring-1 ring-primary/30'
282284
: 'border-default hover:border-accented hover:bg-elevated/50'"
283285
@click="toggle(section.key, item.value)"
284286
>
285-
<UIcon
286-
v-if="isChecked(section.key, item.value)"
287-
name="i-lucide-circle-check"
288-
class="absolute top-3 right-3 size-4 text-primary"
289-
/>
290287
<span
291-
class="inline-flex items-center justify-center size-9 rounded-full transition-colors"
288+
class="inline-flex items-center justify-center size-8 shrink-0 rounded-full transition-colors"
292289
:class="isChecked(section.key, item.value) ? 'bg-primary/10 text-primary' : 'bg-elevated text-muted'"
293290
>
294-
<UIcon :name="item.icon" class="size-4.5" />
291+
<UIcon :name="item.icon" class="size-4" />
295292
</span>
296-
<span>
297-
<span class="block text-sm font-medium text-highlighted pe-4">{{ item.label }}</span>
293+
<span class="min-w-0 flex-1">
294+
<span class="block text-sm font-medium text-highlighted">{{ item.label }}</span>
298295
<span
299296
v-if="item.description"
300297
class="block text-xs text-muted mt-0.5"
301298
>{{ item.description }}</span>
302299
</span>
300+
<UIcon
301+
v-if="isChecked(section.key, item.value)"
302+
name="i-lucide-circle-check"
303+
class="size-4 shrink-0 text-primary"
304+
/>
303305
</button>
304306
</div>
305307
</div>
306308

307-
<div class="p-5 sm:p-6 bg-muted">
308-
<p class="font-medium text-highlighted mb-3">
309+
<div class="px-5 py-4 sm:px-6 bg-muted">
310+
<p class="font-medium text-highlighted mb-2">
309311
{{ hasSelections ? 'Recommended docs, based on your answers' : 'Start here' }}
310312
</p>
311313
<UPageList divide>

0 commit comments

Comments
 (0)