-
Our Services
-
Practice Whereever You Want Whenever You Need
-
Taciti fames lacinia orci finibus metus elit tempus faucibus urna nunc dui rhoncus
- aibendum vea porttitor volutrat felis massa feugiat
+
{title}
+
{header}
+
{description}
diff --git a/yoga-app/src/components/subHeader.component.tsx b/yoga-app/src/components/subHeader.component.tsx
index e36e45d..c95b6c4 100644
--- a/yoga-app/src/components/subHeader.component.tsx
+++ b/yoga-app/src/components/subHeader.component.tsx
@@ -1,8 +1,13 @@
import YogaImageComponent from "@/components/yoga.image.component";
import Nav from "@/components/nav.component";
import {MAIN_MENU} from "@/util/const";
+import {HeaderB} from "@/types/generated-strapi-interfaces/components/yoga-site/HeaderB";
-const SubHeaderComponent = () =>{
+
+export interface Props extends HeaderB{
+}
+
+const SubHeaderComponent = ({header1,header2,description}: Props) =>{
return (
@@ -11,8 +16,8 @@ const SubHeaderComponent = () =>{
-
About Us
-
Duis aute irure dolor in reprehenderit in volurate velit cillum nulla pariatur nostrud exercitation.
+
{header1}
+
{description}
Home About
diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/about.ts b/yoga-app/src/types/generated-strapi-interfaces/api/about.ts
index 579b997..89e77f0 100644
--- a/yoga-app/src/types/generated-strapi-interfaces/api/about.ts
+++ b/yoga-app/src/types/generated-strapi-interfaces/api/about.ts
@@ -1,34 +1,55 @@
// Interface automatically generated by schemas-to-ts
-import { Media } from '../components/shared/Media';
-import { Media_Plain } from '../components/shared/Media';
-import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
+import { HeaderB } from '../components/yoga-site/HeaderB';
+import { OurServicesComponent } from '../components/yoga-site/OurServicesComponent';
+import { AboutUs } from '../components/yoga-site/AboutUs';
+import { OurSpecialitiesComponent } from '../components/yoga-site/OurSpecialitiesComponent';
+import { HeaderB_Plain } from '../components/yoga-site/HeaderB';
+import { OurServicesComponent_Plain } from '../components/yoga-site/OurServicesComponent';
+import { AboutUs_Plain } from '../components/yoga-site/AboutUs';
+import { OurSpecialitiesComponent_Plain } from '../components/yoga-site/OurSpecialitiesComponent';
+import { HeaderB_NoRelations } from '../components/yoga-site/HeaderB';
+import { OurServicesComponent_NoRelations } from '../components/yoga-site/OurServicesComponent';
+import { AboutUs_NoRelations } from '../components/yoga-site/AboutUs';
+import { OurSpecialitiesComponent_NoRelations } from '../components/yoga-site/OurSpecialitiesComponent';
export interface About {
id: number;
attributes: {
- createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
- description?: any;
- image?: { data: Media };
+ createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB;
+ ourServices: OurServicesComponent;
+ aboutUs: AboutUs;
+ ourSpecialities?: OurSpecialitiesComponent;
+ locale: string;
+ localizations?: { data: About[] };
};
}
export interface About_Plain {
id: number;
- createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
- description?: any;
- image?: Media_Plain;
+ createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
+ ourServices: OurServicesComponent_Plain;
+ aboutUs: AboutUs_Plain;
+ ourSpecialities?: OurSpecialitiesComponent_Plain;
+ locale: string;
+ localizations?: About_Plain[];
}
export interface About_NoRelations {
id: number;
- createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
- description?: any;
- image?: number;
+ createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations;
+ ourServices: OurServicesComponent_NoRelations;
+ aboutUs: AboutUs_NoRelations;
+ ourSpecialities?: OurSpecialitiesComponent_NoRelations;
+ locale: string;
+ localizations?: About[];
}
export interface About_AdminPanelLifeCycle {
id: number;
- createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
- description?: any;
- image?: AdminPanelRelationPropertyModification
;
+ createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
+ ourServices: OurServicesComponent_Plain;
+ aboutUs: AboutUs_Plain;
+ ourSpecialities?: OurSpecialitiesComponent_Plain;
+ locale: string;
+ localizations?: About[];
}
diff --git a/yoga-app/src/types/generated-strapi-interfaces/components/shared/TitleDescription.ts b/yoga-app/src/types/generated-strapi-interfaces/components/shared/TitleDescription.ts
new file mode 100644
index 0000000..3cacb39
--- /dev/null
+++ b/yoga-app/src/types/generated-strapi-interfaces/components/shared/TitleDescription.ts
@@ -0,0 +1,16 @@
+// Interface automatically generated by schemas-to-ts
+
+export interface TitleDescription {
+ title?: string;
+ description?: string;
+}
+export interface TitleDescription_Plain {
+ title?: string;
+ description?: string;
+}
+
+export interface TitleDescription_NoRelations {
+ title?: string;
+ description?: string;
+}
+
diff --git a/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/AboutUs.ts b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/AboutUs.ts
new file mode 100644
index 0000000..1a8486d
--- /dev/null
+++ b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/AboutUs.ts
@@ -0,0 +1,28 @@
+// Interface automatically generated by schemas-to-ts
+
+export interface AboutUs {
+ title?: string;
+ header?: string;
+ description?: string;
+ content?: string;
+ buttonLabel?: string;
+ buttonLink?: string;
+}
+export interface AboutUs_Plain {
+ title?: string;
+ header?: string;
+ description?: string;
+ content?: string;
+ buttonLabel?: string;
+ buttonLink?: string;
+}
+
+export interface AboutUs_NoRelations {
+ title?: string;
+ header?: string;
+ description?: string;
+ content?: string;
+ buttonLabel?: string;
+ buttonLink?: string;
+}
+
diff --git a/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/HeaderB.ts b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/HeaderB.ts
new file mode 100644
index 0000000..86b4585
--- /dev/null
+++ b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/HeaderB.ts
@@ -0,0 +1,19 @@
+// Interface automatically generated by schemas-to-ts
+
+export interface HeaderB {
+ header1?: string;
+ header2?: string;
+ description?: string;
+}
+export interface HeaderB_Plain {
+ header1?: string;
+ header2?: string;
+ description?: string;
+}
+
+export interface HeaderB_NoRelations {
+ header1?: string;
+ header2?: string;
+ description?: string;
+}
+
diff --git a/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/OurServicesComponent.ts b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/OurServicesComponent.ts
new file mode 100644
index 0000000..1b4fe39
--- /dev/null
+++ b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/OurServicesComponent.ts
@@ -0,0 +1,19 @@
+// Interface automatically generated by schemas-to-ts
+
+export interface OurServicesComponent {
+ title?: string;
+ header?: string;
+ description?: string;
+}
+export interface OurServicesComponent_Plain {
+ title?: string;
+ header?: string;
+ description?: string;
+}
+
+export interface OurServicesComponent_NoRelations {
+ title?: string;
+ header?: string;
+ description?: string;
+}
+
diff --git a/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/OurSpecialitiesComponent.ts b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/OurSpecialitiesComponent.ts
new file mode 100644
index 0000000..6ec5f62
--- /dev/null
+++ b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/OurSpecialitiesComponent.ts
@@ -0,0 +1,47 @@
+// Interface automatically generated by schemas-to-ts
+
+import { TitleDescription } from '../shared/TitleDescription';
+import { TitleDescription_Plain } from '../shared/TitleDescription';
+import { TitleDescription_NoRelations } from '../shared/TitleDescription';
+
+export interface OurSpecialitiesComponent {
+ title?: string;
+ header?: string;
+ description?: string;
+ specialityLeft1?: TitleDescription;
+ specialityLeft2?: TitleDescription;
+ specialityLeft3?: TitleDescription;
+ specialityLeft4?: TitleDescription;
+ specialityRight1?: TitleDescription;
+ specialityRight2?: TitleDescription;
+ specialityRight3?: TitleDescription;
+ specialityRight4?: TitleDescription;
+}
+export interface OurSpecialitiesComponent_Plain {
+ title?: string;
+ header?: string;
+ description?: string;
+ specialityLeft1?: TitleDescription_Plain;
+ specialityLeft2?: TitleDescription_Plain;
+ specialityLeft3?: TitleDescription_Plain;
+ specialityLeft4?: TitleDescription_Plain;
+ specialityRight1?: TitleDescription_Plain;
+ specialityRight2?: TitleDescription_Plain;
+ specialityRight3?: TitleDescription_Plain;
+ specialityRight4?: TitleDescription_Plain;
+}
+
+export interface OurSpecialitiesComponent_NoRelations {
+ title?: string;
+ header?: string;
+ description?: string;
+ specialityLeft1?: TitleDescription_NoRelations;
+ specialityLeft2?: TitleDescription_NoRelations;
+ specialityLeft3?: TitleDescription_NoRelations;
+ specialityLeft4?: TitleDescription_NoRelations;
+ specialityRight1?: TitleDescription_NoRelations;
+ specialityRight2?: TitleDescription_NoRelations;
+ specialityRight3?: TitleDescription_NoRelations;
+ specialityRight4?: TitleDescription_NoRelations;
+}
+
diff --git a/yoga-app/src/util/i18n.util.ts b/yoga-app/src/util/i18n.util.ts
new file mode 100644
index 0000000..004b740
--- /dev/null
+++ b/yoga-app/src/util/i18n.util.ts
@@ -0,0 +1,21 @@
+export interface LocalizedObject {
+ locale: string;
+ localizations?: LocalizedObject[];
+}
+
+export function getLocalizedObject(localizedObject: LocalizedObject, locale: string = "hu"): T {
+ const defaultObject = localizedObject;
+ if ( defaultObject.locale == locale ){
+ return defaultObject as T;
+ }
+ if (localizedObject && localizedObject.localizations) {
+ for (let i = 0; i < (localizedObject?.localizations?.length || 0); i++) {
+ const obj: LocalizedObject = localizedObject.localizations[i];
+ if ( obj.locale == locale ){
+ return obj as T;
+ }
+ }
+ }
+ return defaultObject as T;
+
+}
diff --git a/yoga-cms/auto-gen-queries/about.json b/yoga-cms/auto-gen-queries/about.json
new file mode 100644
index 0000000..01d6376
--- /dev/null
+++ b/yoga-cms/auto-gen-queries/about.json
@@ -0,0 +1,42 @@
+{
+ populate: {
+ header: {
+ fields: ['header1','description']
+ },
+ ourServices: {
+ fields: ['*']
+ },
+ aboutUs: {
+ fields: ['*']
+ },
+ ourSpecialities: {
+ fields: ['*'] ,
+ populate: {
+ specialityLeft1: {
+ fields: ['*'] ,
+ },
+ specialityLeft2: {
+ fields: ['*'] ,
+ },
+ specialityLeft3: {
+ fields: ['*'] ,
+ },
+ specialityLeft4: {
+ fields: ['*'] ,
+ },
+ specialityRight1: {
+ fields: ['*'] ,
+ },
+ specialityRight2: {
+ fields: ['*'] ,
+ },
+ specialityRight3: {
+ fields: ['*'] ,
+ },
+ specialityRight4: {
+ fields: ['*'] ,
+ },
+ }
+ }
+ },
+}
diff --git a/yoga-cms/auto-gen-queries/about.txt b/yoga-cms/auto-gen-queries/about.txt
new file mode 100644
index 0000000..9d4e444
--- /dev/null
+++ b/yoga-cms/auto-gen-queries/about.txt
@@ -0,0 +1 @@
+/api/about?populate[header][fields][0]=header1&populate[header][fields][1]=description&populate[ourServices][fields][0]=*&populate[aboutUs][fields][0]=*&populate[ourSpecialities][fields][0]=*&populate[ourSpecialities][populate][specialityLeft1][fields][0]=*&populate[ourSpecialities][populate][specialityLeft2][fields][0]=*&populate[ourSpecialities][populate][specialityLeft3][fields][0]=*&populate[ourSpecialities][populate][specialityLeft4][fields][0]=*&populate[ourSpecialities][populate][specialityRight1][fields][0]=*&populate[ourSpecialities][populate][specialityRight2][fields][0]=*&populate[ourSpecialities][populate][specialityRight3][fields][0]=*&populate[ourSpecialities][populate][specialityRight4][fields][0]=*
diff --git a/yoga-cms/config/plugins.ts b/yoga-cms/config/plugins.ts
index bb181c0..b25f4d0 100644
--- a/yoga-cms/config/plugins.ts
+++ b/yoga-cms/config/plugins.ts
@@ -6,4 +6,9 @@ export default () => ({
logLevel: 2
}
},
+ 'strapi-plugin-populate-deep': {
+ config: {
+ defaultDepth: 3, // Default is 5
+ }
+ },
});
diff --git a/yoga-cms/generated-strapi-interfaces/api/about.ts b/yoga-cms/generated-strapi-interfaces/api/about.ts
index 579b997..89e77f0 100644
--- a/yoga-cms/generated-strapi-interfaces/api/about.ts
+++ b/yoga-cms/generated-strapi-interfaces/api/about.ts
@@ -1,34 +1,55 @@
// Interface automatically generated by schemas-to-ts
-import { Media } from '../components/shared/Media';
-import { Media_Plain } from '../components/shared/Media';
-import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
+import { HeaderB } from '../components/yoga-site/HeaderB';
+import { OurServicesComponent } from '../components/yoga-site/OurServicesComponent';
+import { AboutUs } from '../components/yoga-site/AboutUs';
+import { OurSpecialitiesComponent } from '../components/yoga-site/OurSpecialitiesComponent';
+import { HeaderB_Plain } from '../components/yoga-site/HeaderB';
+import { OurServicesComponent_Plain } from '../components/yoga-site/OurServicesComponent';
+import { AboutUs_Plain } from '../components/yoga-site/AboutUs';
+import { OurSpecialitiesComponent_Plain } from '../components/yoga-site/OurSpecialitiesComponent';
+import { HeaderB_NoRelations } from '../components/yoga-site/HeaderB';
+import { OurServicesComponent_NoRelations } from '../components/yoga-site/OurServicesComponent';
+import { AboutUs_NoRelations } from '../components/yoga-site/AboutUs';
+import { OurSpecialitiesComponent_NoRelations } from '../components/yoga-site/OurSpecialitiesComponent';
export interface About {
id: number;
attributes: {
- createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
- description?: any;
- image?: { data: Media };
+ createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB;
+ ourServices: OurServicesComponent;
+ aboutUs: AboutUs;
+ ourSpecialities?: OurSpecialitiesComponent;
+ locale: string;
+ localizations?: { data: About[] };
};
}
export interface About_Plain {
id: number;
- createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
- description?: any;
- image?: Media_Plain;
+ createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
+ ourServices: OurServicesComponent_Plain;
+ aboutUs: AboutUs_Plain;
+ ourSpecialities?: OurSpecialitiesComponent_Plain;
+ locale: string;
+ localizations?: About_Plain[];
}
export interface About_NoRelations {
id: number;
- createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
- description?: any;
- image?: number;
+ createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations;
+ ourServices: OurServicesComponent_NoRelations;
+ aboutUs: AboutUs_NoRelations;
+ ourSpecialities?: OurSpecialitiesComponent_NoRelations;
+ locale: string;
+ localizations?: About[];
}
export interface About_AdminPanelLifeCycle {
id: number;
- createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
- description?: any;
- image?: AdminPanelRelationPropertyModification;
+ createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
+ ourServices: OurServicesComponent_Plain;
+ aboutUs: AboutUs_Plain;
+ ourSpecialities?: OurSpecialitiesComponent_Plain;
+ locale: string;
+ localizations?: About[];
}
diff --git a/yoga-cms/generated-strapi-interfaces/components/shared/TitleDescription.ts b/yoga-cms/generated-strapi-interfaces/components/shared/TitleDescription.ts
new file mode 100644
index 0000000..3cacb39
--- /dev/null
+++ b/yoga-cms/generated-strapi-interfaces/components/shared/TitleDescription.ts
@@ -0,0 +1,16 @@
+// Interface automatically generated by schemas-to-ts
+
+export interface TitleDescription {
+ title?: string;
+ description?: string;
+}
+export interface TitleDescription_Plain {
+ title?: string;
+ description?: string;
+}
+
+export interface TitleDescription_NoRelations {
+ title?: string;
+ description?: string;
+}
+
diff --git a/yoga-cms/generated-strapi-interfaces/components/yoga-site/AboutUs.ts b/yoga-cms/generated-strapi-interfaces/components/yoga-site/AboutUs.ts
new file mode 100644
index 0000000..1a8486d
--- /dev/null
+++ b/yoga-cms/generated-strapi-interfaces/components/yoga-site/AboutUs.ts
@@ -0,0 +1,28 @@
+// Interface automatically generated by schemas-to-ts
+
+export interface AboutUs {
+ title?: string;
+ header?: string;
+ description?: string;
+ content?: string;
+ buttonLabel?: string;
+ buttonLink?: string;
+}
+export interface AboutUs_Plain {
+ title?: string;
+ header?: string;
+ description?: string;
+ content?: string;
+ buttonLabel?: string;
+ buttonLink?: string;
+}
+
+export interface AboutUs_NoRelations {
+ title?: string;
+ header?: string;
+ description?: string;
+ content?: string;
+ buttonLabel?: string;
+ buttonLink?: string;
+}
+
diff --git a/yoga-cms/generated-strapi-interfaces/components/yoga-site/HeaderB.ts b/yoga-cms/generated-strapi-interfaces/components/yoga-site/HeaderB.ts
new file mode 100644
index 0000000..86b4585
--- /dev/null
+++ b/yoga-cms/generated-strapi-interfaces/components/yoga-site/HeaderB.ts
@@ -0,0 +1,19 @@
+// Interface automatically generated by schemas-to-ts
+
+export interface HeaderB {
+ header1?: string;
+ header2?: string;
+ description?: string;
+}
+export interface HeaderB_Plain {
+ header1?: string;
+ header2?: string;
+ description?: string;
+}
+
+export interface HeaderB_NoRelations {
+ header1?: string;
+ header2?: string;
+ description?: string;
+}
+
diff --git a/yoga-cms/generated-strapi-interfaces/components/yoga-site/OurServicesComponent.ts b/yoga-cms/generated-strapi-interfaces/components/yoga-site/OurServicesComponent.ts
new file mode 100644
index 0000000..1b4fe39
--- /dev/null
+++ b/yoga-cms/generated-strapi-interfaces/components/yoga-site/OurServicesComponent.ts
@@ -0,0 +1,19 @@
+// Interface automatically generated by schemas-to-ts
+
+export interface OurServicesComponent {
+ title?: string;
+ header?: string;
+ description?: string;
+}
+export interface OurServicesComponent_Plain {
+ title?: string;
+ header?: string;
+ description?: string;
+}
+
+export interface OurServicesComponent_NoRelations {
+ title?: string;
+ header?: string;
+ description?: string;
+}
+
diff --git a/yoga-cms/generated-strapi-interfaces/components/yoga-site/OurSpecialitiesComponent.ts b/yoga-cms/generated-strapi-interfaces/components/yoga-site/OurSpecialitiesComponent.ts
new file mode 100644
index 0000000..6ec5f62
--- /dev/null
+++ b/yoga-cms/generated-strapi-interfaces/components/yoga-site/OurSpecialitiesComponent.ts
@@ -0,0 +1,47 @@
+// Interface automatically generated by schemas-to-ts
+
+import { TitleDescription } from '../shared/TitleDescription';
+import { TitleDescription_Plain } from '../shared/TitleDescription';
+import { TitleDescription_NoRelations } from '../shared/TitleDescription';
+
+export interface OurSpecialitiesComponent {
+ title?: string;
+ header?: string;
+ description?: string;
+ specialityLeft1?: TitleDescription;
+ specialityLeft2?: TitleDescription;
+ specialityLeft3?: TitleDescription;
+ specialityLeft4?: TitleDescription;
+ specialityRight1?: TitleDescription;
+ specialityRight2?: TitleDescription;
+ specialityRight3?: TitleDescription;
+ specialityRight4?: TitleDescription;
+}
+export interface OurSpecialitiesComponent_Plain {
+ title?: string;
+ header?: string;
+ description?: string;
+ specialityLeft1?: TitleDescription_Plain;
+ specialityLeft2?: TitleDescription_Plain;
+ specialityLeft3?: TitleDescription_Plain;
+ specialityLeft4?: TitleDescription_Plain;
+ specialityRight1?: TitleDescription_Plain;
+ specialityRight2?: TitleDescription_Plain;
+ specialityRight3?: TitleDescription_Plain;
+ specialityRight4?: TitleDescription_Plain;
+}
+
+export interface OurSpecialitiesComponent_NoRelations {
+ title?: string;
+ header?: string;
+ description?: string;
+ specialityLeft1?: TitleDescription_NoRelations;
+ specialityLeft2?: TitleDescription_NoRelations;
+ specialityLeft3?: TitleDescription_NoRelations;
+ specialityLeft4?: TitleDescription_NoRelations;
+ specialityRight1?: TitleDescription_NoRelations;
+ specialityRight2?: TitleDescription_NoRelations;
+ specialityRight3?: TitleDescription_NoRelations;
+ specialityRight4?: TitleDescription_NoRelations;
+}
+
diff --git a/yoga-cms/src/api/about/content-types/about/schema.json b/yoga-cms/src/api/about/content-types/about/schema.json
index 460e42a..6ec4252 100644
--- a/yoga-cms/src/api/about/content-types/about/schema.json
+++ b/yoga-cms/src/api/about/content-types/about/schema.json
@@ -10,24 +10,53 @@
"options": {
"draftAndPublish": true
},
- "pluginOptions": {},
+ "pluginOptions": {
+ "i18n": {
+ "localized": true
+ }
+ },
"attributes": {
- "title": {
- "type": "string"
+ "header": {
+ "type": "component",
+ "repeatable": false,
+ "component": "yoga-site.header-b",
+ "pluginOptions": {
+ "i18n": {
+ "localized": true
+ }
+ }
},
- "description": {
- "type": "blocks"
+ "ourServices": {
+ "type": "component",
+ "repeatable": false,
+ "pluginOptions": {
+ "i18n": {
+ "localized": true
+ }
+ },
+ "component": "yoga-site.our-services-component",
+ "required": true
},
- "image": {
- "type": "media",
- "multiple": false,
- "required": false,
- "allowedTypes": [
- "images",
- "files",
- "videos",
- "audios"
- ]
+ "aboutUs": {
+ "type": "component",
+ "repeatable": false,
+ "pluginOptions": {
+ "i18n": {
+ "localized": true
+ }
+ },
+ "component": "yoga-site.about-us",
+ "required": true
+ },
+ "ourSpecialities": {
+ "type": "component",
+ "repeatable": false,
+ "pluginOptions": {
+ "i18n": {
+ "localized": true
+ }
+ },
+ "component": "yoga-site.our-specialities-component"
}
}
}
diff --git a/yoga-cms/src/components/shared/title-description.json b/yoga-cms/src/components/shared/title-description.json
new file mode 100644
index 0000000..dc57b7d
--- /dev/null
+++ b/yoga-cms/src/components/shared/title-description.json
@@ -0,0 +1,15 @@
+{
+ "collectionName": "components_shared_title_descriptions",
+ "info": {
+ "displayName": "TitleDescription"
+ },
+ "options": {},
+ "attributes": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "text"
+ }
+ }
+}
diff --git a/yoga-cms/src/components/yoga-site/about-us.json b/yoga-cms/src/components/yoga-site/about-us.json
new file mode 100644
index 0000000..9703084
--- /dev/null
+++ b/yoga-cms/src/components/yoga-site/about-us.json
@@ -0,0 +1,27 @@
+{
+ "collectionName": "components_yoga_site_aboutuses",
+ "info": {
+ "displayName": "aboutUs"
+ },
+ "options": {},
+ "attributes": {
+ "title": {
+ "type": "string"
+ },
+ "header": {
+ "type": "string"
+ },
+ "description": {
+ "type": "text"
+ },
+ "content": {
+ "type": "text"
+ },
+ "buttonLabel": {
+ "type": "string"
+ },
+ "buttonLink": {
+ "type": "string"
+ }
+ }
+}
diff --git a/yoga-cms/src/components/yoga-site/header-b.json b/yoga-cms/src/components/yoga-site/header-b.json
new file mode 100644
index 0000000..22ef934
--- /dev/null
+++ b/yoga-cms/src/components/yoga-site/header-b.json
@@ -0,0 +1,19 @@
+{
+ "collectionName": "components_yoga_site_header_bs",
+ "info": {
+ "displayName": "HeaderB",
+ "description": ""
+ },
+ "options": {},
+ "attributes": {
+ "header1": {
+ "type": "string"
+ },
+ "header2": {
+ "type": "string"
+ },
+ "description": {
+ "type": "text"
+ }
+ }
+}
diff --git a/yoga-cms/src/components/yoga-site/our-services-component.json b/yoga-cms/src/components/yoga-site/our-services-component.json
new file mode 100644
index 0000000..a24ad71
--- /dev/null
+++ b/yoga-cms/src/components/yoga-site/our-services-component.json
@@ -0,0 +1,19 @@
+{
+ "collectionName": "components_yoga_site_our_services_components",
+ "info": {
+ "displayName": "OurServicesComponent",
+ "description": ""
+ },
+ "options": {},
+ "attributes": {
+ "title": {
+ "type": "string"
+ },
+ "header": {
+ "type": "string"
+ },
+ "description": {
+ "type": "text"
+ }
+ }
+}
diff --git a/yoga-cms/src/components/yoga-site/our-specialities-component.json b/yoga-cms/src/components/yoga-site/our-specialities-component.json
new file mode 100644
index 0000000..ed935ae
--- /dev/null
+++ b/yoga-cms/src/components/yoga-site/our-specialities-component.json
@@ -0,0 +1,59 @@
+{
+ "collectionName": "components_yoga_site_our_specialities_components",
+ "info": {
+ "displayName": "OurSpecialitiesComponent",
+ "description": ""
+ },
+ "options": {},
+ "attributes": {
+ "title": {
+ "type": "string"
+ },
+ "header": {
+ "type": "string"
+ },
+ "description": {
+ "type": "text"
+ },
+ "specialityLeft1": {
+ "type": "component",
+ "repeatable": false,
+ "component": "shared.title-description"
+ },
+ "specialityLeft2": {
+ "type": "component",
+ "repeatable": false,
+ "component": "shared.title-description"
+ },
+ "specialityLeft3": {
+ "type": "component",
+ "repeatable": false,
+ "component": "shared.title-description"
+ },
+ "specialityLeft4": {
+ "type": "component",
+ "repeatable": false,
+ "component": "shared.title-description"
+ },
+ "specialityRight1": {
+ "type": "component",
+ "repeatable": false,
+ "component": "shared.title-description"
+ },
+ "specialityRight2": {
+ "type": "component",
+ "repeatable": false,
+ "component": "shared.title-description"
+ },
+ "specialityRight3": {
+ "type": "component",
+ "repeatable": false,
+ "component": "shared.title-description"
+ },
+ "specialityRight4": {
+ "type": "component",
+ "repeatable": false,
+ "component": "shared.title-description"
+ }
+ }
+}
diff --git a/yoga-cms/types/generated/components.d.ts b/yoga-cms/types/generated/components.d.ts
index 0ee30f3..d575ce5 100644
--- a/yoga-cms/types/generated/components.d.ts
+++ b/yoga-cms/types/generated/components.d.ts
@@ -73,6 +73,104 @@ export interface SharedSlider extends Struct.ComponentSchema {
};
}
+export interface SharedTitleDescription extends Struct.ComponentSchema {
+ collectionName: 'components_shared_title_descriptions';
+ info: {
+ displayName: 'TitleDescription';
+ };
+ attributes: {
+ description: Schema.Attribute.Text;
+ title: Schema.Attribute.String;
+ };
+}
+
+export interface YogaSiteAboutUs extends Struct.ComponentSchema {
+ collectionName: 'components_yoga_site_aboutuses';
+ info: {
+ displayName: 'aboutUs';
+ };
+ attributes: {
+ buttonLabel: Schema.Attribute.String;
+ buttonLink: Schema.Attribute.String;
+ content: Schema.Attribute.Text;
+ description: Schema.Attribute.Text;
+ header: Schema.Attribute.String;
+ title: Schema.Attribute.String;
+ };
+}
+
+export interface YogaSiteHeaderB extends Struct.ComponentSchema {
+ collectionName: 'components_yoga_site_header_bs';
+ info: {
+ description: '';
+ displayName: 'HeaderB';
+ };
+ attributes: {
+ description: Schema.Attribute.Text;
+ header1: Schema.Attribute.String;
+ header2: Schema.Attribute.String;
+ };
+}
+
+export interface YogaSiteOurServicesComponent extends Struct.ComponentSchema {
+ collectionName: 'components_yoga_site_our_services_components';
+ info: {
+ description: '';
+ displayName: 'OurServicesComponent';
+ };
+ attributes: {
+ description: Schema.Attribute.Text;
+ header: Schema.Attribute.String;
+ title: Schema.Attribute.String;
+ };
+}
+
+export interface YogaSiteOurSpecialitiesComponent
+ extends Struct.ComponentSchema {
+ collectionName: 'components_yoga_site_our_specialities_components';
+ info: {
+ description: '';
+ displayName: 'OurSpecialitiesComponent';
+ };
+ attributes: {
+ description: Schema.Attribute.Text;
+ header: Schema.Attribute.String;
+ specialityLeft1: Schema.Attribute.Component<
+ 'shared.title-description',
+ false
+ >;
+ specialityLeft2: Schema.Attribute.Component<
+ 'shared.title-description',
+ false
+ >;
+ specialityLeft3: Schema.Attribute.Component<
+ 'shared.title-description',
+ false
+ >;
+ specialityLeft4: Schema.Attribute.Component<
+ 'shared.title-description',
+ false
+ >;
+ specialityRight1: Schema.Attribute.Component<
+ 'shared.title-description',
+ false
+ >;
+ specialityRight2: Schema.Attribute.Component<
+ 'shared.title-description',
+ false
+ >;
+ specialityRight3: Schema.Attribute.Component<
+ 'shared.title-description',
+ false
+ >;
+ specialityRight4: Schema.Attribute.Component<
+ 'shared.title-description',
+ false
+ >;
+ title: Schema.Attribute.String;
+ };
+}
+
declare module '@strapi/strapi' {
export module Public {
export interface ComponentSchemas {
@@ -82,6 +180,11 @@ declare module '@strapi/strapi' {
'shared.rich-text': SharedRichText;
'shared.seo': SharedSeo;
'shared.slider': SharedSlider;
+ 'shared.title-description': SharedTitleDescription;
+ 'yoga-site.about-us': YogaSiteAboutUs;
+ 'yoga-site.header-b': YogaSiteHeaderB;
+ 'yoga-site.our-services-component': YogaSiteOurServicesComponent;
+ 'yoga-site.our-specialities-component': YogaSiteOurSpecialitiesComponent;
}
}
}
diff --git a/yoga-cms/types/generated/contentTypes.d.ts b/yoga-cms/types/generated/contentTypes.d.ts
index e51d4cc..97f0f67 100644
--- a/yoga-cms/types/generated/contentTypes.d.ts
+++ b/yoga-cms/types/generated/contentTypes.d.ts
@@ -380,17 +380,50 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema {
options: {
draftAndPublish: true;
};
+ pluginOptions: {
+ i18n: {
+ localized: true;
+ };
+ };
attributes: {
+ aboutUs: Schema.Attribute.Component<'yoga-site.about-us', false> &
+ Schema.Attribute.Required &
+ Schema.Attribute.SetPluginOptions<{
+ i18n: {
+ localized: true;
+ };
+ }>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
- description: Schema.Attribute.Blocks;
- image: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
- locale: Schema.Attribute.String & Schema.Attribute.Private;
- localizations: Schema.Attribute.Relation<'oneToMany', 'api::about.about'> &
- Schema.Attribute.Private;
+ header: Schema.Attribute.Component<'yoga-site.header-b', false> &
+ Schema.Attribute.SetPluginOptions<{
+ i18n: {
+ localized: true;
+ };
+ }>;
+ locale: Schema.Attribute.String;
+ localizations: Schema.Attribute.Relation<'oneToMany', 'api::about.about'>;
+ ourServices: Schema.Attribute.Component<
+ 'yoga-site.our-services-component',
+ false
+ > &
+ Schema.Attribute.Required &
+ Schema.Attribute.SetPluginOptions<{
+ i18n: {
+ localized: true;
+ };
+ }>;
+ ourSpecialities: Schema.Attribute.Component<
+ 'yoga-site.our-specialities-component',
+ false
+ > &
+ Schema.Attribute.SetPluginOptions<{
+ i18n: {
+ localized: true;
+ };
+ }>;
publishedAt: Schema.Attribute.DateTime;
- title: Schema.Attribute.String;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;