Skip to content

Commit 03847d6

Browse files
committed
chore: init
1 parent 5a3899d commit 03847d6

14 files changed

+54
-46
lines changed

app.vue

+26-24
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,37 @@
1+
<script setup lang="ts">
2+
import Toaster from '@/components/ui/toast/Toaster.vue'
3+
4+
const config = useConfig()
5+
const route = useRoute()
6+
const { themeClass, radius } = useThemes()
7+
8+
useSeoMeta({
9+
description: config.value.site.description,
10+
ogDescription: config.value.site.description,
11+
ogImage: config.value.site.ogImage,
12+
twitterCard: 'summary_large_image',
13+
})
14+
15+
useServerHead({
16+
bodyAttrs: {
17+
class: themeClass.value,
18+
style: `--radius: ${radius.value}rem;`,
19+
},
20+
})
21+
</script>
22+
123
<template>
224
<NuxtLoadingIndicator :color="false" class="z-100 bg-primary/80" />
325
<LayoutHeader />
426

527
<div v-if="route.path !== '/'" class="min-h-screen border-b">
628
<div
729
class="flex-1 items-start px-4 md:grid md:grid-cols-[220px_minmax(0,1fr)] md:gap-6 md:px-8 lg:grid-cols-[240px_minmax(0,1fr)] lg:gap-10"
8-
:class="[config.main.padded && 'container']">
30+
:class="[config.main.padded && 'container']"
31+
>
932
<aside
10-
class="fixed top-[102px] z-30 -ml-2 hidden h-[calc(100vh-3.5rem)] w-full shrink-0 overflow-y-auto md:sticky md:top-[60px] md:block">
33+
class="fixed top-[102px] z-30 -ml-2 hidden h-[calc(100vh-3.5rem)] w-full shrink-0 overflow-y-auto md:sticky md:top-[60px] md:block"
34+
>
1135
<LayoutAside :is-mobile="false" />
1236
</aside>
1337
<NuxtPage />
@@ -18,25 +42,3 @@
1842
<Toaster />
1943
<LayoutFooter />
2044
</template>
21-
22-
<script setup lang="ts">
23-
import Toaster from '@/components/ui/toast/Toaster.vue';
24-
25-
const config = useConfig();
26-
const route = useRoute();
27-
const { themeClass, radius } = useThemes();
28-
29-
useSeoMeta({
30-
description: config.value.site.description,
31-
ogDescription: config.value.site.description,
32-
ogImage: config.value.site.ogImage,
33-
twitterCard: 'summary_large_image',
34-
});
35-
36-
useServerHead({
37-
bodyAttrs: {
38-
class: themeClass.value,
39-
style: `--radius: ${radius.value}rem;`,
40-
},
41-
});
42-
</script>

components/content/Alert.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ async function alertClick() {
3838

3939
<template>
4040
<UiAlert
41-
class="transition-all [&:not(:first-child)]:mt-5"
41+
class="[&:not(:first-child)]:mt-5 transition-all"
4242
:class="[typeTwClass[type], to && 'cursor-pointer hover:bg-muted/50']"
4343
@click="alertClick"
4444
>

components/content/CardGroup.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="grid [&:not(:first-child)]:mt-5 group gap-4 md:grid-cols-2">
2+
<div class="[&:not(:first-child)]:mt-5 grid group gap-4 md:grid-cols-2">
33
<slot />
44
</div>
55
</template>

components/content/Collapsible.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const isOpen = ref(false)
99
<template>
1010
<UiCollapsible v-if="variant === 'card'" v-model:open="isOpen" class="space-y-2">
1111
<div class="flex items-center justify-between space-x-4">
12-
<h4 class="text-sm font-semibold">
12+
<h4 class="font-semibold text-sm">
1313
<ContentSlot :use="$slots.title" unwrap="p" />
1414
{{ title }}
1515
</h4>
@@ -22,7 +22,7 @@ const isOpen = ref(false)
2222
</div>
2323

2424
<UiCollapsibleContent class="space-y-2">
25-
<div class="px-4 text-sm border font-mono rounded-md py-3">
25+
<div class="px-4 text-sm font-mono border rounded-md py-3">
2626
<ContentSlot :use="$slots.content" unwrap="p" />
2727
<ContentSlot unwrap="p" />
2828
</div>

components/content/Field.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const { fieldRequiredText } = useConfig().value.main
1717
<span class="text-md font-bold text-primary">
1818
{{ name }}
1919
</span>
20-
<span v-if="required" class="text-sm text-muted font-mono">
20+
<span v-if="required" class="text-muted text-sm font-mono">
2121
{{ fieldRequiredText }}
2222
</span>
2323
<span class="font-mono text-sm text-muted ml-auto">

components/content/Hero.vue

+5-5
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ defineProps<{
1111
</script>
1212

1313
<template>
14-
<section class="mx-auto flex max-w-980px flex-col items-center gap-2 py-8 md:py-12 md:pb-8 lg:py-24 lg:pb-20">
14+
<section class="flex items-center gap-2 mx-auto flex-col py-8 md:py-12 md:pb-8 max-w-980px lg:py-24 lg:pb-20">
1515
<NuxtLink
1616
v-if="announcement"
1717
:to="announcement.to"
1818
:target="announcement.target"
19-
class="inline-flex items-center rounded-lg bg-muted px-3 py-1 text-sm font-medium"
19+
class="items-center text-sm inline-flex bg-muted font-medium rounded-lg px-3 py-1"
2020
>
2121
<template v-if="announcement.icon">
2222
<SmartIcon :name="announcement.icon" :size="16" />
@@ -29,14 +29,14 @@ defineProps<{
2929
<NIcon name="i-lucide-arrow-right" class="ml-1 size-4" />
3030
</NuxtLink>
3131

32-
<h1 class="text-center text-3xl font-bold leading-tight tracking-tighter md:text-6xl lg:leading-[1.1]">
32+
<h1 class="font-bold text-3xl leading-tight tracking-tighter lg:leading-[1.1] text-center md:text-6xl">
3333
<ContentSlot :use="$slots.title" unwrap="p" />
3434
</h1>
35-
<span class="max-w-[750px] text-center text-lg text-muted sm:text-xl">
35+
<span class="text-center text-muted text-lg max-w-[750px] sm:text-xl">
3636
<ContentSlot :use="$slots.description" unwrap="p" />
3737
</span>
3838

39-
<section class="flex w-full items-center justify-center space-x-4 py-4 md:pb-10">
39+
<section class="flex w-full items-center space-x-4 justify-center py-4 md:pb-10">
4040
<NButton
4141
v-for="(action, i) in actions"
4242
:key="i"

components/content/HeroAlt.vue

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ defineProps<{
1818
</script>
1919

2020
<template>
21-
<section class="mx-auto flex flex-col items-start gap-2 px-4 py-8 md:py-12 md:pb-8 lg:py-12 lg:pb-10">
21+
<section class="flex items-start gap-2 px-4 mx-auto flex-col py-8 md:py-12 md:pb-8 lg:py-12 lg:pb-10">
2222
<NuxtLink
2323
v-if="announcement"
2424
:to="announcement.to"
2525
:target="announcement.target"
26-
class="inline-flex items-center px-0.5 text-sm font-medium"
26+
class="inline-flex items-center text-sm font-medium px-0.5"
2727
>
2828
<template v-if="announcement.icon">
2929
<SmartIcon :name="announcement.icon" :size="16" />
@@ -33,14 +33,14 @@ defineProps<{
3333
<Icon name="lucide:arrow-right" class="ml-1 size-4" />
3434
</NuxtLink>
3535

36-
<h1 class="text-3xl font-bold leading-tight tracking-tighter md:text-4xl lg:leading-[1.1]">
36+
<h1 class="font-bold text-3xl leading-tight tracking-tighter lg:leading-[1.1] md:text-4xl">
3737
<ContentSlot :use="$slots.title" unwrap="p" />
3838
</h1>
39-
<p class="max-w-2xl text-lg font-light text-base">
39+
<p class="text-lg max-w-2xl font-light text-base">
4040
<ContentSlot :use="$slots.description" unwrap="p" />
4141
</p>
4242

43-
<div class="flex w-full items-center justify-start gap-2 py-2">
43+
<div class="flex w-full items-center gap-2 py-2 justify-start">
4444
<NuxtLink
4545
v-for="(action, i) in actions"
4646
:key="i"

components/content/Kbd.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const sizeClasses = {
1414

1515
<template>
1616
<kbd
17-
class="items-center inline-flex gap-1 border bg-muted font-medium rounded pointer-events-none h-5 select-none border-base font-sans"
17+
class="items-center gap-1 border inline-flex bg-muted font-medium rounded pointer-events-none h-5 select-none border-base font-sans"
1818
:class="sizeClasses[size]"
1919
>
2020
<slot />

components/content/ProseH2.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const generate = computed(() => props.id && headings?.anchorLinks?.h2)
66
</script>
77

88
<template>
9-
<h2 :id="id" class="border-b text-3xl font-semibold scroll-m-20 pb-2 tracking-tight transition-colors [&:not(:first-child)]:mt-10">
9+
<h2 :id="id" class="border-b text-3xl font-semibold scroll-m-20 tracking-tight pb-2 transition-colors [&:not(:first-child)]:mt-10">
1010
<NuxtLink
1111
v-if="id && generate"
1212
:href="`#${id}`"

components/content/ProseOl.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<ol class="[&:not(:first-child)]:mt-6 list-inside list-decimal [&:not(:last-child)]:mb-6 [&>li:not(:first-child)]:mt-2">
2+
<ol class="[&:not(:first-child)]:mt-6 [&:not(:last-child)]:mb-6 [&>li:not(:first-child)]:mt-2 list-inside list-decimal">
33
<slot />
44
</ol>
55
</template>

components/layout/Header.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ const config = useConfig()
88
:class="{ 'lg:border-b': config.header.border }"
99
>
1010
<div
11-
class="flex h-14 items-center justify-between gap-2 px-4 md:px-8"
11+
class="flex items-center justify-between gap-2 px-4 md:px-8 h-14"
1212
:class="{ 'border-b lg:border-none': config.header.border, 'container max-w-screen-2xl': config.main.padded }"
1313
>
1414
<LayoutHeaderLogo class="hidden flex-1 md:flex" />
1515
<LayoutMobileNav />
1616
<LayoutHeaderLogo v-if="config.header.showTitleInMobile" class="flex md:hidden" />
1717
<LayoutHeaderNav class="hidden flex-1 lg:flex" />
18-
<div class="flex flex-1 justify-end gap-2">
18+
<div class="flex flex-1 gap-2 justify-end">
1919
<LayoutSearchButton v-if="!config.search.inAside && config.search.style === 'input'" />
2020
<div class="flex space-x-2">
2121
<LayoutSearchButton v-if="!config.search.inAside && config.search.style === 'button'" />

components/layout/SearchDialog.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ function handleNavigate(delta: -1 | 1) {
130130
<span class="shrink-0 self-center">
131131
{{ item.title }}
132132
</span>
133-
<span class="ml-2 self-center truncate text-xs text-muted" v-html="getHighlightedContent(item.content)" />
133+
<span class="ml-2 self-center truncate text-muted text-xs" v-html="getHighlightedContent(item.content)" />
134134
</NuxtLink>
135135
</div>
136136

components/ui/scroll-area/ScrollBar.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@ const delegatedProps = computed(() => {
2525
&& 'h-2.5 flex-col border-t border-t-transparent p-px',
2626
props.class)"
2727
>
28-
<ScrollAreaThumb class="relative flex-1 rounded-full bg-border" />
28+
<ScrollAreaThumb class="relative flex-1 bg-border rounded-full" />
2929
</ScrollAreaScrollbar>
3030
</template>

renovate.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": ["@nuxtjs", "@una-ui/nuxt"],
3+
"lockFileMaintenance": {
4+
"enabled": true
5+
}
6+
}

0 commit comments

Comments
 (0)