Skip to content

Commit c238a99

Browse files
authored
Merge pull request #695 from denisdobra10/new-deployment-version
feat: Trigger deploy
2 parents b9c5f8b + b172824 commit c238a99

29 files changed

+1624
-3283
lines changed

UPGRADING.md

Lines changed: 0 additions & 455 deletions
This file was deleted.
0 Bytes
Binary file not shown.

docs-v3/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,5 @@ Thumbs.db
9999
# Temporary files
100100
*.tmp
101101
*.temp
102+
103+
.vercel

docs-v3/app.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ useHead({
2424
2525
// Fetch navigation and search data using the correct Nuxt Content composables
2626
const { data: navigation } = await useAsyncData('navigation', () => queryCollectionNavigation('content'))
27-
const { data: files } = useLazyAsyncData('search', () => queryCollectionSearchSections('content'), {
28-
server: false
29-
})
27+
const { data: files } = await useAsyncData('search', () => queryCollectionSearchSections('content'))
3028
3129
const searchTerm = ref('')
3230
</script>

docs-v3/assets/css/main.css

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
@import "tailwindcss";
66
@import "@nuxt/ui";
77

8+
/* Tailwind v4 theme customization */
9+
@theme {
10+
--font-sans: 'Inter', system-ui, sans-serif;
11+
--font-mono: 'JetBrains Mono', Monaco, Consolas, monospace;
12+
}
813

914
/* Base styles */
1015
html {
@@ -17,6 +22,13 @@ html {
1722
background-color: rgb(239 246 255);
1823
}
1924

25+
.dark .nav-link-active {
26+
color: rgb(96 165 250);
27+
background-color: rgba(59 130 246 / 0.2);
28+
color: rgb(37 99 235);
29+
background-color: rgb(239 246 255);
30+
}
31+
2032
.dark .nav-link-active {
2133
color: rgb(96 165 250);
2234
background-color: rgba(59 130 246 / 0.2);
@@ -61,4 +73,9 @@ html {
6173
/* Focus ring utility */
6274
.focus-ring {
6375
@apply focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 dark:focus:ring-offset-gray-800;
76+
77+
/* Focus ring utility */
78+
.focus-ring {
79+
@apply focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 dark:focus:ring-offset-gray-800;
80+
}
6481
}

docs-v3/components/CopyButton.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@ const handleCopy = async () => {
6161
6262
} catch (error) {
6363
console.error('❌ All copy methods failed:', error)
64-
const { error: showError } = useToast()
64+
const { error: showError } = useAppToast()
6565
showError('Copy failed - please manually select and copy the text')
6666
}
6767
}
6868
6969
const showSuccess = () => {
7070
iscopied.value = true
71-
const { success } = useToast()
71+
const { success } = useAppToast()
7272
success('Copied to clipboard!')
7373
7474
setTimeout(() => {
@@ -78,6 +78,8 @@ const showSuccess = () => {
7878
</script>
7979

8080
<style scoped>
81+
@reference "tailwindcss";
82+
8183
.copy-btn {
8284
@apply absolute top-3 right-3 opacity-0 group-hover:opacity-100 transition-all duration-200 p-2 bg-white/90 dark:bg-gray-800/90 hover:bg-white dark:hover:bg-gray-800 rounded-md border border-gray-200 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 active:scale-95;
8385
}

docs-v3/components/TheHeader.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
class="lg:hidden p-2 rounded-md text-gray-600 hover:text-gray-900 dark:text-gray-300 dark:hover:text-white focus-ring"
1111
aria-label="Toggle menu"
1212
>
13-
<svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
14-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
15-
</svg>
13+
<Bars3Icon class="h-6 w-6" />
1614
</button>
1715

1816
<!-- Logo -->
@@ -79,6 +77,8 @@
7977
</template>
8078

8179
<script setup lang="ts">
80+
import { Bars3Icon } from '@heroicons/vue/24/outline'
81+
8282
// Inject mobile menu state from layout
8383
const toggleMobileMenu = inject('toggleMobileMenu', () => {})
8484
</script>

docs-v3/components/ThemeToggle.vue

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,40 +5,22 @@
55
:aria-label="isDark ? 'Switch to light mode' : 'Switch to dark mode'"
66
>
77
<!-- Sun icon (light mode) -->
8-
<svg
9-
v-if="isDark"
8+
<SunIcon
9+
v-if="$colorMode.value === 'dark'"
1010
class="h-5 w-5"
11-
fill="none"
12-
viewBox="0 0 24 24"
13-
stroke="currentColor"
14-
>
15-
<path
16-
stroke-linecap="round"
17-
stroke-linejoin="round"
18-
stroke-width="2"
19-
d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"
20-
/>
21-
</svg>
11+
/>
2212

2313
<!-- Moon icon (dark mode) -->
24-
<svg
14+
<MoonIcon
2515
v-else
2616
class="h-5 w-5"
27-
fill="none"
28-
viewBox="0 0 24 24"
29-
stroke="currentColor"
30-
>
31-
<path
32-
stroke-linecap="round"
33-
stroke-linejoin="round"
34-
stroke-width="2"
35-
d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"
36-
/>
37-
</svg>
17+
/>
3818
</button>
3919
</template>
4020

4121
<script setup lang="ts">
22+
import { SunIcon, MoonIcon } from '@heroicons/vue/24/outline'
23+
4224
const colorMode = useColorMode()
4325
4426
const isDark = computed(() => colorMode.value === 'dark')

docs-v3/components/ToastContainer.vue

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,34 +20,22 @@
2020
>
2121
<div class="flex-shrink-0 mr-3">
2222
<!-- Success icon -->
23-
<svg
23+
<CheckCircleIcon
2424
v-if="toast.type === 'success'"
2525
class="w-5 h-5"
26-
fill="currentColor"
27-
viewBox="0 0 20 20"
28-
>
29-
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" />
30-
</svg>
26+
/>
3127

3228
<!-- Error icon -->
33-
<svg
29+
<XCircleIcon
3430
v-else-if="toast.type === 'error'"
3531
class="w-5 h-5"
36-
fill="currentColor"
37-
viewBox="0 0 20 20"
38-
>
39-
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd" />
40-
</svg>
32+
/>
4133

4234
<!-- Info icon -->
43-
<svg
35+
<InformationCircleIcon
4436
v-else
4537
class="w-5 h-5"
46-
fill="currentColor"
47-
viewBox="0 0 20 20"
48-
>
49-
<path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z" clip-rule="evenodd" />
50-
</svg>
38+
/>
5139
</div>
5240

5341
<div class="flex-1 text-sm font-medium">
@@ -68,8 +56,11 @@
6856
</Teleport>
6957
</template>
7058

71-
<script setup lang="ts">
72-
const { toasts, removeToast } = useToast()
59+
<script setup>
60+
import { CheckCircleIcon, XCircleIcon, InformationCircleIcon } from '@heroicons/vue/24/outline'
61+
import { useAppToast } from '~/composables/useAppToast'
62+
63+
const { toasts, removeToast } = useAppToast()
7364
</script>
7465

7566
<style scoped>
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<template>
2+
<div class="space-y-4 md:space-y-6">
3+
<!-- Section Header -->
4+
<div class="flex items-center gap-2 mb-4">
5+
<div :class="`w-2 h-2 ${type === 'input' ? 'bg-blue-400' : 'bg-green-400'} rounded-full animate-pulse`"></div>
6+
<span :class="`${type === 'input' ? 'text-blue-400' : 'text-green-400'} text-sm font-semibold uppercase tracking-wider`">
7+
{{ title }}
8+
</span>
9+
</div>
10+
11+
<!-- Input Code Blocks -->
12+
<div v-if="type === 'input'" class="space-y-4">
13+
<div v-for="(block, index) in codeBlocks" :key="index">
14+
<div class="text-gray-500 text-xs mb-2 font-mono">{{ block.comment }}</div>
15+
<pre class="text-emerald-400 font-mono text-xs md:text-sm leading-relaxed overflow-x-auto"><code v-html="block.code"></code></pre>
16+
</div>
17+
</div>
18+
19+
<!-- Output Blocks -->
20+
<div v-if="type === 'output'" class="space-y-4">
21+
<div
22+
v-for="(block, index) in outputBlocks"
23+
:key="index"
24+
class="bg-gray-800/50 rounded-lg p-3 md:p-4 border border-gray-700/30"
25+
>
26+
<div class="flex items-center gap-2 mb-2">
27+
<div :class="`w-3 h-3 bg-${block.color}-500 rounded-full`"></div>
28+
<span :class="`text-${block.color}-400 text-xs font-bold`">{{ block.title }}</span>
29+
</div>
30+
<div class="space-y-1 text-xs font-mono text-gray-300 overflow-x-auto">
31+
<div v-for="(item, itemIndex) in block.items" :key="itemIndex">
32+
<span v-if="item.method" :class="`text-${item.color}-400`">{{ item.method }}</span>
33+
<span v-if="item.endpoint">{{ item.endpoint }}</span>
34+
<span v-if="item.text">{{ item.text }}</span>
35+
</div>
36+
</div>
37+
</div>
38+
</div>
39+
</div>
40+
</template>
41+
42+
<script setup lang="ts">
43+
interface CodeBlock {
44+
comment: string
45+
code: string
46+
}
47+
48+
interface OutputItem {
49+
method?: string
50+
endpoint?: string
51+
color?: string
52+
text?: string
53+
}
54+
55+
interface OutputBlock {
56+
title: string
57+
color: string
58+
items: OutputItem[]
59+
}
60+
61+
interface Props {
62+
type: 'input' | 'output'
63+
title: string
64+
codeBlocks?: CodeBlock[]
65+
outputBlocks?: OutputBlock[]
66+
}
67+
68+
defineProps<Props>()
69+
</script>

0 commit comments

Comments
 (0)