@dani-builder/strapi-plugin-builder 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/sync.js +320 -0
- package/dist/server/src/bootstrap.d.ts +6 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -0
- package/dist/server/src/bootstrap.js +8 -0
- package/dist/server/src/bootstrap.js.map +1 -0
- package/dist/server/src/components/blocks/bento-grid.json +29 -0
- package/dist/server/src/components/blocks/content.json +23 -0
- package/dist/server/src/components/blocks/cta.json +37 -0
- package/dist/server/src/components/blocks/faq.json +20 -0
- package/dist/server/src/components/blocks/features.json +32 -0
- package/dist/server/src/components/blocks/hero.json +42 -0
- package/dist/server/src/components/blocks/highlights.json +32 -0
- package/dist/server/src/components/blocks/inquiry-form.json +18 -0
- package/dist/server/src/components/blocks/logo-cloud.json +27 -0
- package/dist/server/src/components/blocks/pricing.json +27 -0
- package/dist/server/src/components/blocks/slider.json +27 -0
- package/dist/server/src/components/blocks/stats.json +32 -0
- package/dist/server/src/components/blocks/team.json +27 -0
- package/dist/server/src/components/blocks/testimonials.json +32 -0
- package/dist/server/src/components/elements/footer.json +36 -0
- package/dist/server/src/components/elements/section.json +41 -0
- package/dist/server/src/components/shared/analytics-setting.json +26 -0
- package/dist/server/src/components/shared/bento-item.json +42 -0
- package/dist/server/src/components/shared/brand-colors.json +17 -0
- package/dist/server/src/components/shared/chatbot-setting.json +25 -0
- package/dist/server/src/components/shared/feature-item.json +28 -0
- package/dist/server/src/components/shared/highlight-item.json +27 -0
- package/dist/server/src/components/shared/link.json +27 -0
- package/dist/server/src/components/shared/logo-item.json +24 -0
- package/dist/server/src/components/shared/navigation-group.json +21 -0
- package/dist/server/src/components/shared/pricing-tier.json +36 -0
- package/dist/server/src/components/shared/seo.json +39 -0
- package/dist/server/src/components/shared/site-verification.json +22 -0
- package/dist/server/src/components/shared/slider-item.json +27 -0
- package/dist/server/src/components/shared/stat-item.json +20 -0
- package/dist/server/src/components/shared/team-member.json +30 -0
- package/dist/server/src/components/shared/testimonial-item.json +35 -0
- package/dist/server/src/controllers/global.d.ts +12 -0
- package/dist/server/src/controllers/global.d.ts.map +1 -0
- package/dist/server/src/controllers/global.js +22 -0
- package/dist/server/src/controllers/global.js.map +1 -0
- package/dist/server/src/controllers/index.d.ts +3 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -0
- package/dist/server/src/controllers/index.js +13 -0
- package/dist/server/src/controllers/index.js.map +1 -0
- package/dist/server/src/controllers/page.d.ts +17 -0
- package/dist/server/src/controllers/page.d.ts.map +1 -0
- package/dist/server/src/controllers/page.js +37 -0
- package/dist/server/src/controllers/page.js.map +1 -0
- package/dist/server/src/index.d.ts +3 -0
- package/dist/server/src/index.d.ts.map +1 -0
- package/dist/server/src/index.js +19 -0
- package/dist/server/src/index.js.map +1 -0
- package/dist/server/src/register.d.ts +11 -0
- package/dist/server/src/register.d.ts.map +1 -0
- package/dist/server/src/register.js +48 -0
- package/dist/server/src/register.js.map +1 -0
- package/dist/server/src/routes/content-api.d.ts +14 -0
- package/dist/server/src/routes/content-api.d.ts.map +1 -0
- package/dist/server/src/routes/content-api.js +35 -0
- package/dist/server/src/routes/content-api.js.map +1 -0
- package/dist/server/src/routes/index.d.ts +16 -0
- package/dist/server/src/routes/index.d.ts.map +1 -0
- package/dist/server/src/routes/index.js +10 -0
- package/dist/server/src/routes/index.js.map +1 -0
- package/dist/server/src/services/index.d.ts +3 -0
- package/dist/server/src/services/index.d.ts.map +1 -0
- package/dist/server/src/services/index.js +11 -0
- package/dist/server/src/services/index.js.map +1 -0
- package/dist/server/src/services/populate.d.ts +75 -0
- package/dist/server/src/services/populate.d.ts.map +1 -0
- package/dist/server/src/services/populate.js +252 -0
- package/dist/server/src/services/populate.js.map +1 -0
- package/package.json +55 -0
- package/schemas/api/article/content-types/article/schema.json +102 -0
- package/schemas/api/author/content-types/author/schema.json +44 -0
- package/schemas/api/category/content-types/category/schema.json +43 -0
- package/schemas/api/faq/content-types/faq/schema.json +36 -0
- package/schemas/api/global/content-types/global/schema.json +64 -0
- package/schemas/api/inquiry/content-types/inquiry/schema.json +31 -0
- package/schemas/api/navigation/content-types/navigation/schema.json +52 -0
- package/schemas/api/page/content-types/page/schema.json +62 -0
- package/schemas/api/series/content-types/series/schema.json +44 -0
- package/schemas/api/site-setting/content-types/site-setting/schema.json +35 -0
- package/schemas/api/tag/content-types/tag/schema.json +44 -0
- package/schemas/manifest.json +16 -0
- package/strapi-server.js +3 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_blocks_stats",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Stats",
|
|
5
|
+
"icon": "chartBubble",
|
|
6
|
+
"description": "Key metrics/numbers showcase block"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"variant": {
|
|
13
|
+
"type": "enumeration",
|
|
14
|
+
"enum": ["simple", "card-grid", "split"]
|
|
15
|
+
},
|
|
16
|
+
"section": {
|
|
17
|
+
"type": "component",
|
|
18
|
+
"component": "elements.section",
|
|
19
|
+
"repeatable": false
|
|
20
|
+
},
|
|
21
|
+
"media": {
|
|
22
|
+
"type": "media",
|
|
23
|
+
"multiple": false,
|
|
24
|
+
"allowedTypes": ["images", "videos"]
|
|
25
|
+
},
|
|
26
|
+
"items": {
|
|
27
|
+
"type": "component",
|
|
28
|
+
"component": "shared.stat-item",
|
|
29
|
+
"repeatable": true
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_blocks_teams",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Team",
|
|
5
|
+
"icon": "user",
|
|
6
|
+
"description": "Team member showcase block"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"variant": {
|
|
13
|
+
"type": "enumeration",
|
|
14
|
+
"enum": ["grid", "large-image", "compact"]
|
|
15
|
+
},
|
|
16
|
+
"section": {
|
|
17
|
+
"type": "component",
|
|
18
|
+
"component": "elements.section",
|
|
19
|
+
"repeatable": false
|
|
20
|
+
},
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "component",
|
|
23
|
+
"component": "shared.team-member",
|
|
24
|
+
"repeatable": true
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_blocks_testimonials",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Testimonials",
|
|
5
|
+
"icon": "quote",
|
|
6
|
+
"description": "Customer testimonials/reviews block"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"variant": {
|
|
13
|
+
"type": "enumeration",
|
|
14
|
+
"enum": ["centered", "side-by-side", "card-grid", "subtle-grid"]
|
|
15
|
+
},
|
|
16
|
+
"section": {
|
|
17
|
+
"type": "component",
|
|
18
|
+
"component": "elements.section",
|
|
19
|
+
"repeatable": false
|
|
20
|
+
},
|
|
21
|
+
"media": {
|
|
22
|
+
"type": "media",
|
|
23
|
+
"multiple": false,
|
|
24
|
+
"allowedTypes": ["images", "videos"]
|
|
25
|
+
},
|
|
26
|
+
"items": {
|
|
27
|
+
"type": "component",
|
|
28
|
+
"component": "shared.testimonial-item",
|
|
29
|
+
"repeatable": true
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_elements_footers",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Footer",
|
|
5
|
+
"icon": "layout",
|
|
6
|
+
"description": "Footer layout with organization info, links, and sitemap"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"organization": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"businessInfo": {
|
|
13
|
+
"type": "text"
|
|
14
|
+
},
|
|
15
|
+
"socialLinks": {
|
|
16
|
+
"type": "component",
|
|
17
|
+
"component": "shared.link",
|
|
18
|
+
"repeatable": true
|
|
19
|
+
},
|
|
20
|
+
"otherLinks": {
|
|
21
|
+
"type": "component",
|
|
22
|
+
"component": "shared.link",
|
|
23
|
+
"repeatable": true
|
|
24
|
+
},
|
|
25
|
+
"sitemap": {
|
|
26
|
+
"type": "component",
|
|
27
|
+
"component": "shared.navigation-group",
|
|
28
|
+
"repeatable": true
|
|
29
|
+
},
|
|
30
|
+
"logo": {
|
|
31
|
+
"type": "media",
|
|
32
|
+
"multiple": false,
|
|
33
|
+
"allowedTypes": ["images"]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_elements_sections",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Section",
|
|
5
|
+
"icon": "layout",
|
|
6
|
+
"description": "Section wrapper with heading, theme, and background"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"heading": {
|
|
10
|
+
"type": "text"
|
|
11
|
+
},
|
|
12
|
+
"subheading": {
|
|
13
|
+
"type": "text"
|
|
14
|
+
},
|
|
15
|
+
"kickerText": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"anchorId": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"headerAlign": {
|
|
22
|
+
"type": "enumeration",
|
|
23
|
+
"enum": ["auto", "left", "center", "right"]
|
|
24
|
+
},
|
|
25
|
+
"theme": {
|
|
26
|
+
"type": "enumeration",
|
|
27
|
+
"enum": ["default", "light", "dark", "accent", "muted", "contrast"],
|
|
28
|
+
"default": "default"
|
|
29
|
+
},
|
|
30
|
+
"backgroundImage": {
|
|
31
|
+
"type": "media",
|
|
32
|
+
"multiple": false,
|
|
33
|
+
"allowedTypes": ["images"]
|
|
34
|
+
},
|
|
35
|
+
"backgroundImageOpacity": {
|
|
36
|
+
"type": "decimal",
|
|
37
|
+
"min": 0,
|
|
38
|
+
"max": 1
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_analytics_settings",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Analytics Setting",
|
|
5
|
+
"icon": "chartCircle",
|
|
6
|
+
"description": "Web analytics tool configuration"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"provider": {
|
|
10
|
+
"type": "enumeration",
|
|
11
|
+
"enum": ["google-tag-manager", "google-analytics", "matomo"],
|
|
12
|
+
"required": true
|
|
13
|
+
},
|
|
14
|
+
"trackingId": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"required": true
|
|
17
|
+
},
|
|
18
|
+
"customDomain": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"enabled": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"default": true
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_bento_items",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Bento Item",
|
|
5
|
+
"icon": "grid",
|
|
6
|
+
"description": "Bento grid item with span control and optional link"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"title": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"description": {
|
|
13
|
+
"type": "text"
|
|
14
|
+
},
|
|
15
|
+
"media": {
|
|
16
|
+
"type": "media",
|
|
17
|
+
"multiple": false,
|
|
18
|
+
"allowedTypes": ["images"]
|
|
19
|
+
},
|
|
20
|
+
"icon": {
|
|
21
|
+
"type": "customField",
|
|
22
|
+
"customField": "plugin::icon-picker.icon"
|
|
23
|
+
},
|
|
24
|
+
"colSpan": {
|
|
25
|
+
"type": "integer",
|
|
26
|
+
"min": 1,
|
|
27
|
+
"max": 4,
|
|
28
|
+
"default": 1
|
|
29
|
+
},
|
|
30
|
+
"rowSpan": {
|
|
31
|
+
"type": "integer",
|
|
32
|
+
"min": 1,
|
|
33
|
+
"max": 3,
|
|
34
|
+
"default": 1
|
|
35
|
+
},
|
|
36
|
+
"link": {
|
|
37
|
+
"type": "component",
|
|
38
|
+
"component": "shared.link",
|
|
39
|
+
"repeatable": false
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_brand_colors",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Brand Colors",
|
|
5
|
+
"icon": "palette",
|
|
6
|
+
"description": "Brand color overrides for the site theme"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"primary": { "type": "string", "customField": "plugin::color-picker.color" },
|
|
10
|
+
"primaryLight": { "type": "string", "customField": "plugin::color-picker.color" },
|
|
11
|
+
"cta": { "type": "string", "customField": "plugin::color-picker.color" },
|
|
12
|
+
"ctaHover": { "type": "string", "customField": "plugin::color-picker.color" },
|
|
13
|
+
"background": { "type": "string", "customField": "plugin::color-picker.color" },
|
|
14
|
+
"text": { "type": "string", "customField": "plugin::color-picker.color" },
|
|
15
|
+
"textMuted": { "type": "string", "customField": "plugin::color-picker.color" }
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_chatbot_settings",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Chatbot Setting",
|
|
5
|
+
"icon": "discuss",
|
|
6
|
+
"description": "Chatbot integration configuration"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"provider": {
|
|
10
|
+
"type": "enumeration",
|
|
11
|
+
"enum": ["channel-talk", "zendesk", "intercom"],
|
|
12
|
+
"required": true
|
|
13
|
+
},
|
|
14
|
+
"appId": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"required": true
|
|
17
|
+
},
|
|
18
|
+
"key": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"secret": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_feature_items",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Feature Item",
|
|
5
|
+
"icon": "star",
|
|
6
|
+
"description": "Feature item with icon, label, description, and link"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"label": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"description": {
|
|
13
|
+
"type": "richtext"
|
|
14
|
+
},
|
|
15
|
+
"icon": {
|
|
16
|
+
"type": "customField",
|
|
17
|
+
"customField": "plugin::icon-picker.icon"
|
|
18
|
+
},
|
|
19
|
+
"infoText": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"link": {
|
|
23
|
+
"type": "component",
|
|
24
|
+
"component": "shared.link",
|
|
25
|
+
"repeatable": false
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_highlight_items",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Highlight Item",
|
|
5
|
+
"icon": "picture",
|
|
6
|
+
"description": "Highlight item with required media, label, description, and link"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"label": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"description": {
|
|
13
|
+
"type": "richtext"
|
|
14
|
+
},
|
|
15
|
+
"media": {
|
|
16
|
+
"type": "media",
|
|
17
|
+
"multiple": false,
|
|
18
|
+
"required": true,
|
|
19
|
+
"allowedTypes": ["images", "videos"]
|
|
20
|
+
},
|
|
21
|
+
"link": {
|
|
22
|
+
"type": "component",
|
|
23
|
+
"component": "shared.link",
|
|
24
|
+
"repeatable": false
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_links",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Link",
|
|
5
|
+
"icon": "link",
|
|
6
|
+
"description": "Link with label, URL, icon, and new window option"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"label": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"required": true,
|
|
12
|
+
"maxLength": 80
|
|
13
|
+
},
|
|
14
|
+
"href": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"required": true
|
|
17
|
+
},
|
|
18
|
+
"newWindow": {
|
|
19
|
+
"type": "boolean",
|
|
20
|
+
"default": false
|
|
21
|
+
},
|
|
22
|
+
"icon": {
|
|
23
|
+
"type": "customField",
|
|
24
|
+
"customField": "plugin::icon-picker.icon"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_logo_items",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Logo Item",
|
|
5
|
+
"icon": "picture",
|
|
6
|
+
"description": "Company/partner logo with optional link"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"logo": {
|
|
10
|
+
"type": "media",
|
|
11
|
+
"multiple": false,
|
|
12
|
+
"required": true,
|
|
13
|
+
"allowedTypes": ["images"]
|
|
14
|
+
},
|
|
15
|
+
"companyName": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"link": {
|
|
19
|
+
"type": "component",
|
|
20
|
+
"component": "shared.link",
|
|
21
|
+
"repeatable": false
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_navigation_groups",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Navigation Group",
|
|
5
|
+
"icon": "layer",
|
|
6
|
+
"description": "Navigation group with label and child links"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"label": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"href": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"links": {
|
|
16
|
+
"type": "component",
|
|
17
|
+
"component": "shared.link",
|
|
18
|
+
"repeatable": true
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_pricing_tiers",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Pricing Tier",
|
|
5
|
+
"icon": "priceTag",
|
|
6
|
+
"description": "Pricing plan with name, price, features, and CTA"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"planName": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"required": true
|
|
12
|
+
},
|
|
13
|
+
"price": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": true
|
|
16
|
+
},
|
|
17
|
+
"billingPeriod": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"description": {
|
|
21
|
+
"type": "text"
|
|
22
|
+
},
|
|
23
|
+
"featureList": {
|
|
24
|
+
"type": "richtext"
|
|
25
|
+
},
|
|
26
|
+
"ctaLink": {
|
|
27
|
+
"type": "component",
|
|
28
|
+
"component": "shared.link",
|
|
29
|
+
"repeatable": false
|
|
30
|
+
},
|
|
31
|
+
"highlighted": {
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"default": false
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_seos",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "SEO",
|
|
5
|
+
"icon": "search",
|
|
6
|
+
"description": "SEO meta tags and structured data"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"metaTitle": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"maxLength": 120
|
|
12
|
+
},
|
|
13
|
+
"metaDescription": {
|
|
14
|
+
"type": "text"
|
|
15
|
+
},
|
|
16
|
+
"ogImage": {
|
|
17
|
+
"type": "media",
|
|
18
|
+
"multiple": false,
|
|
19
|
+
"allowedTypes": ["images"]
|
|
20
|
+
},
|
|
21
|
+
"canonicalURL": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"noindex": {
|
|
25
|
+
"type": "boolean",
|
|
26
|
+
"default": false
|
|
27
|
+
},
|
|
28
|
+
"nofollow": {
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"default": false
|
|
31
|
+
},
|
|
32
|
+
"structuredData": {
|
|
33
|
+
"type": "json"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"pluginOptions": {
|
|
37
|
+
"i18n": { "localized": true }
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_site_verifications",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Site Verification",
|
|
5
|
+
"icon": "check",
|
|
6
|
+
"description": "Search engine site verification"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"service": {
|
|
10
|
+
"type": "enumeration",
|
|
11
|
+
"enum": ["google", "bing", "naver", "custom"],
|
|
12
|
+
"required": true
|
|
13
|
+
},
|
|
14
|
+
"name": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"content": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"required": true
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_slider_items",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Slider Item",
|
|
5
|
+
"icon": "slideshow",
|
|
6
|
+
"description": "Slider carousel item with required media, label, and link"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"label": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"description": {
|
|
13
|
+
"type": "text"
|
|
14
|
+
},
|
|
15
|
+
"link": {
|
|
16
|
+
"type": "component",
|
|
17
|
+
"component": "shared.link",
|
|
18
|
+
"repeatable": false
|
|
19
|
+
},
|
|
20
|
+
"media": {
|
|
21
|
+
"type": "media",
|
|
22
|
+
"multiple": false,
|
|
23
|
+
"required": true,
|
|
24
|
+
"allowedTypes": ["images", "videos"]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_stat_items",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Stat Item",
|
|
5
|
+
"icon": "chartBubble",
|
|
6
|
+
"description": "Metric item with value, label, and description"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"value": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"required": true
|
|
12
|
+
},
|
|
13
|
+
"label": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"description": {
|
|
17
|
+
"type": "text"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_team_members",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Team Member",
|
|
5
|
+
"icon": "user",
|
|
6
|
+
"description": "Team member with name, role, bio, photo, and social links"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"memberName": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"required": true
|
|
12
|
+
},
|
|
13
|
+
"role": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"bio": {
|
|
17
|
+
"type": "text"
|
|
18
|
+
},
|
|
19
|
+
"photo": {
|
|
20
|
+
"type": "media",
|
|
21
|
+
"multiple": false,
|
|
22
|
+
"allowedTypes": ["images"]
|
|
23
|
+
},
|
|
24
|
+
"socialLinks": {
|
|
25
|
+
"type": "component",
|
|
26
|
+
"component": "shared.link",
|
|
27
|
+
"repeatable": true
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionName": "components_shared_testimonial_items",
|
|
3
|
+
"info": {
|
|
4
|
+
"displayName": "Testimonial Item",
|
|
5
|
+
"icon": "quote",
|
|
6
|
+
"description": "Testimonial with quote, author info, and optional rating"
|
|
7
|
+
},
|
|
8
|
+
"attributes": {
|
|
9
|
+
"quote": {
|
|
10
|
+
"type": "text",
|
|
11
|
+
"required": true
|
|
12
|
+
},
|
|
13
|
+
"authorName": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"authorRole": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"avatar": {
|
|
20
|
+
"type": "media",
|
|
21
|
+
"multiple": false,
|
|
22
|
+
"allowedTypes": ["images"]
|
|
23
|
+
},
|
|
24
|
+
"logo": {
|
|
25
|
+
"type": "media",
|
|
26
|
+
"multiple": false,
|
|
27
|
+
"allowedTypes": ["images"]
|
|
28
|
+
},
|
|
29
|
+
"rating": {
|
|
30
|
+
"type": "integer",
|
|
31
|
+
"min": 1,
|
|
32
|
+
"max": 5
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Core } from '@strapi/strapi';
|
|
2
|
+
declare const global: ({ strapi }: {
|
|
3
|
+
strapi: Core.Strapi;
|
|
4
|
+
}) => {
|
|
5
|
+
/**
|
|
6
|
+
* GET /api/builder/global
|
|
7
|
+
* Global settings with deep populate (siteWideBlocks + footer)
|
|
8
|
+
*/
|
|
9
|
+
find(ctx: any): Promise<any>;
|
|
10
|
+
};
|
|
11
|
+
export default global;
|
|
12
|
+
//# sourceMappingURL=global.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/global.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,QAAA,MAAM,MAAM,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;IACjD;;;OAGG;cACa,GAAG;CAenB,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const global = ({ strapi }) => ({
|
|
4
|
+
/**
|
|
5
|
+
* GET /api/builder/global
|
|
6
|
+
* Global settings with deep populate (siteWideBlocks + footer)
|
|
7
|
+
*/
|
|
8
|
+
async find(ctx) {
|
|
9
|
+
const populateService = strapi.plugin('builder').service('populate');
|
|
10
|
+
const populate = populateService.getGlobalPopulate();
|
|
11
|
+
const result = await strapi.documents('api::global.global').findFirst({
|
|
12
|
+
populate,
|
|
13
|
+
...ctx.query,
|
|
14
|
+
});
|
|
15
|
+
if (!result) {
|
|
16
|
+
return ctx.notFound('Global not found');
|
|
17
|
+
}
|
|
18
|
+
ctx.body = { data: result };
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
exports.default = global;
|
|
22
|
+
//# sourceMappingURL=global.js.map
|