Skip to content

Commit 1f3173f

Browse files
feat: update schema for nuxt studio
1 parent f4570cd commit 1f3173f

File tree

1 file changed

+155
-26
lines changed

1 file changed

+155
-26
lines changed

nuxt.schema.ts

+155-26
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,108 @@
11
export default defineNuxtSchema({
22
appConfig: {
3-
/**
4-
* Stylô theme configuration.
5-
*
6-
* @studioIcon material-symbols:docs
7-
*/
83
stylo: {
9-
/**
10-
* Website title, used as header default title and meta title.
11-
*
12-
* @studioIcon material-symbols:title
13-
*/
14-
title: 'Stylô',
15-
/**
16-
* Header configuration.
17-
*
18-
* @studioIcon fluent:document-header-24-regular
19-
*/
4+
$schema: {
5+
title: 'Stylô',
6+
description: 'Stylô theme configuration.',
7+
tags: [
8+
'@studioIcon material-symbols:docs'
9+
],
10+
},
11+
title: {
12+
$default: 'Stylô',
13+
$schema: {
14+
type: "string",
15+
title: 'Title',
16+
description: 'Website title, used as header default title and meta title.',
17+
tags: [
18+
'@studioIcon material-symbols:title',
19+
'@studioInput string',
20+
],
21+
},
22+
},
2023
header: {
21-
displayTitle: true,
24+
$schema: {
25+
title: 'Header',
26+
description: 'Header configuration.',
27+
tags: [
28+
'@studioIcon fluent:document-header-24-regular',
29+
],
30+
},
31+
displayTitle: {
32+
$default: true,
33+
$schema: {
34+
type: "boolean",
35+
title: 'Display title',
36+
description: 'Show or hide the title in the header.',
37+
tags: [
38+
'@studioInput boolean',
39+
],
40+
},
41+
},
2242
logo: {
23-
src: '',
24-
srcDark: '',
25-
alt: '',
43+
$schema: {
44+
title: 'Logo',
45+
description: 'Header logo configuration.',
46+
tags: [
47+
'@studioIcon material-symbols:image',
48+
],
49+
},
50+
src: {
51+
$default: '',
52+
$schema: {
53+
type: 'string',
54+
title: 'Logo (light)',
55+
description: 'Header logo image for light mode.',
56+
tags: [
57+
'@studioIcon material-symbols:image',
58+
'@studioInput media',
59+
],
60+
}
61+
},
62+
srcDark: {
63+
$default: '',
64+
$schema: {
65+
type: 'string',
66+
title: 'Logo (dark)',
67+
description: 'Header logo image for dark mode.',
68+
tags: [
69+
'@studioIcon material-symbols:image-outline',
70+
'@studioInput media',
71+
],
72+
}
73+
},
74+
alt: {
75+
$default: '',
76+
$schema: {
77+
type: 'string',
78+
title: 'Logo alt',
79+
description: 'Header logo alternative text.',
80+
tags: [
81+
'@studioInput string',
82+
],
83+
}
84+
},
2685
},
2786
},
2887
footer: {
88+
$schema: {
89+
title: 'Footer',
90+
description: 'Footer configuration.',
91+
tags: [
92+
'@studioIcon fluent:document-footer-24-regular',
93+
],
94+
},
2995
action: {
30-
enabled: true,
31-
title: 'Subscribe to our Newsletter',
32-
text: 'Keep up with the latest news, updates and exclusive content by subscribing to our newsletter!',
96+
$schema: {
97+
title: 'Action',
98+
description: 'Footer call-to-action configuration.',
99+
tags: [
100+
'@studioIcon fluent:button-20-regular',
101+
],
102+
},
103+
enabled: false,
104+
title: '',
105+
text: '',
33106
link: {
34107
href: '#',
35108
text: 'Subscribe',
@@ -38,11 +111,57 @@ export default defineNuxtSchema({
38111
},
39112
},
40113
logo: {
41-
src: '',
42-
srcDark: '',
43-
alt: '',
114+
$schema: {
115+
title: 'Logo',
116+
description: 'Footer logo configuration.',
117+
tags: [
118+
'@studioIcon material-symbols:image',
119+
],
120+
},
121+
src: {
122+
$default: '',
123+
$schema: {
124+
type: 'string',
125+
title: 'Logo (light)',
126+
description: 'Footer logo image for light mode.',
127+
tags: [
128+
'@studioIcon material-symbols:image',
129+
'@studioInput media',
130+
],
131+
}
132+
},
133+
srcDark: {
134+
$default: '',
135+
$schema: {
136+
type: 'string',
137+
title: 'Logo (dark)',
138+
description: 'Footer logo image for dark mode.',
139+
tags: [
140+
'@studioIcon material-symbols:image-outline',
141+
'@studioInput media',
142+
],
143+
}
144+
},
145+
alt: {
146+
$default: '',
147+
$schema: {
148+
type: 'string',
149+
title: 'Logo alt',
150+
description: 'Footer logo alternative text.',
151+
tags: [
152+
'@studioInput string',
153+
],
154+
}
155+
},
44156
},
45157
copyright: {
158+
$schema: {
159+
title: 'Copyrigth',
160+
description: 'Footer copyrigth configuration.',
161+
tags: [
162+
'@studioIcon material-symbols:copyright',
163+
],
164+
},
46165
enabled: false,
47166
text: '',
48167
href: '',
@@ -52,6 +171,11 @@ export default defineNuxtSchema({
52171
social: {
53172
$schema: {
54173
type: 'array',
174+
title: 'Social networks',
175+
description: 'Footer social links configuration.',
176+
tags: [
177+
'@studioIcon material-symbols:share',
178+
],
55179
items: {
56180
type: 'object',
57181
required: ['icon', 'href'],
@@ -68,6 +192,11 @@ export default defineNuxtSchema({
68192
links: {
69193
$schema: {
70194
type: 'array',
195+
title: 'Links',
196+
description: 'Footer links configuration.',
197+
tags: [
198+
'@studioIcon material-symbols:link',
199+
],
71200
items: {
72201
type: 'object',
73202
required: ['text', 'href'],

0 commit comments

Comments
 (0)