convert about types from component to collection-type

This commit is contained in:
Schneider Roland 2025-01-19 21:57:33 +01:00
parent 741dd19588
commit c706a4c7d2
80 changed files with 2428 additions and 630 deletions

View File

@ -13,6 +13,6 @@ Accept: application/json
#Authorization: Bearer {{token}}
### GET request with a header
GET {{domain}}/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]=*
GET {{domain}}/api/about?populate[header][fields][0]=header1&populate[header][fields][1]=description&populate[feedbacks][fields][0]=*&populate[feedbacks][populate][feedbacks][fields][0]=*&populate[feedbacks][populate][feedbacks][populate][customerImage][fields][0]=name&populate[feedbacks][populate][feedbacks][populate][customerImage][fields][1]=mime&populate[feedbacks][populate][feedbacks][populate][customerImage][fields][2]=url&populate[ourServices][fields][0]=*&populate[aboutUs][fields][0]=*&populate[aboutUs][populate][image][fields][0]=name&populate[aboutUs][populate][image][fields][1]=mime&populate[aboutUs][populate][image][fields][2]=url&populate[contactUs][fields][0]=*&populate[prices][fields][0]=*&populate[prices][populate][prices][fields][0]=*&populate[prices][populate][prices][populate][icon][fields][0]=name&populate[prices][populate][prices][populate][icon][fields][1]=mime&populate[prices][populate][prices][populate][icon][fields][2]=url&populate[prices][populate][prices][populate][image][fields][0]=name&populate[prices][populate][prices][populate][image][fields][1]=mime&populate[prices][populate][prices][populate][image][fields][2]=url&populate[ourSpecialities][fields][0]=*&populate[ourSpecialities][populate][left1][fields][0]=*&populate[ourSpecialities][populate][left2][fields][0]=*&populate[ourSpecialities][populate][left3][fields][0]=*&populate[ourSpecialities][populate][left4][fields][0]=*&populate[ourSpecialities][populate][right1][fields][0]=*&populate[ourSpecialities][populate][right2][fields][0]=*&populate[ourSpecialities][populate][right3][fields][0]=*&populate[ourSpecialities][populate][right4][fields][0]=*
Accept: application/json
#Authorization: Bearer {{token}}

View File

@ -15,6 +15,7 @@
"@types/bootstrap": "^5.2.10",
"@types/ityped": "^1.0.3",
"@types/pg": "^8.11.10",
"@types/qs": "^6.9.18",
"aos": "^2.3.4",
"bcryptjs": "^2.4.3",
"bootstrap": "^4.6.2",
@ -23,6 +24,7 @@
"ityped": "^1.0.3",
"next": "15.1.3",
"pg": "^8.13.1",
"qs": "^6.14.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
@ -1237,6 +1239,12 @@
"node": ">=12"
}
},
"node_modules/@types/qs": {
"version": "6.9.18",
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz",
"integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==",
"license": "MIT"
},
"node_modules/@types/react": {
"version": "19.0.2",
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.2.tgz",
@ -1831,7 +1839,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
"integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
"dev": true,
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2"
@ -1844,7 +1851,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
"integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
"dev": true,
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"get-intrinsic": "^1.2.6"
@ -2152,7 +2158,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
"dev": true,
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"es-errors": "^1.3.0",
@ -2248,7 +2253,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
"dev": true,
"engines": {
"node": ">= 0.4"
}
@ -2257,7 +2261,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
"dev": true,
"engines": {
"node": ">= 0.4"
}
@ -2293,7 +2296,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
"integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
"dev": true,
"dependencies": {
"es-errors": "^1.3.0"
},
@ -2912,7 +2914,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@ -2950,7 +2951,6 @@
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz",
"integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==",
"dev": true,
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"dunder-proto": "^1.0.0",
@ -3043,7 +3043,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
"dev": true,
"engines": {
"node": ">= 0.4"
},
@ -3115,7 +3114,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
"dev": true,
"engines": {
"node": ">= 0.4"
},
@ -3142,7 +3140,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2"
},
@ -3761,7 +3758,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
"dev": true,
"engines": {
"node": ">= 0.4"
}
@ -3912,7 +3908,6 @@
"version": "1.13.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
"integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
"dev": true,
"engines": {
"node": ">= 0.4"
},
@ -4341,6 +4336,21 @@
"node": ">=6"
}
},
"node_modules/qs": {
"version": "6.14.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
"integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.1.0"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@ -4697,7 +4707,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
"dev": true,
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3",
@ -4716,7 +4725,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
"dev": true,
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3"
@ -4732,7 +4740,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
"dev": true,
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
@ -4750,7 +4757,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
"dev": true,
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",

View File

@ -17,6 +17,7 @@
"@types/bootstrap": "^5.2.10",
"@types/ityped": "^1.0.3",
"@types/pg": "^8.11.10",
"@types/qs": "^6.9.18",
"aos": "^2.3.4",
"bcryptjs": "^2.4.3",
"bootstrap": "^4.6.2",
@ -25,6 +26,7 @@
"ityped": "^1.0.3",
"next": "15.1.3",
"pg": "^8.13.1",
"qs": "^6.14.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},

View File

@ -13,27 +13,28 @@ import SubHeaderComponent from "@/components/subHeader.component";
import BootstrapComponent from "@/components/bootstrap.component";
import webApi from "@/app/api/web-client/web-api";
import aboutUsComponent from "@/components/about.us.component";
import pricingComponent from "@/components/pricing.component";
export default async function About() {
const pageData = await webApi.getAboutPage();
const {header,ourServices, aboutUs} = pageData;
const {header,
ourServices,
aboutUs,
contactUs,
ourSpecialities,
prices
} = pageData;
return (
<>
<SubHeaderComponent header1={header?.header1} header2={header?.header2} description={header?.description}/>
<OurServicesComponent title={ourServices?.title!} header={ourServices?.header!} description={ourServices?.description!} />
<AboutUsComponent
title={aboutUs.title!}
header={aboutUs.header!}
description={aboutUs.description!}
content={aboutUs.content!}
buttonText={aboutUs.buttonLabel!}
buttonUrl={aboutUs.buttonLink!}
/>
<OurSpecialitiesComponent />
<ContactUsComponent />
<PricingComponent />
{ aboutUs && <AboutUsComponent data={aboutUs}/>}
{ ourSpecialities && <OurSpecialitiesComponent config={ourSpecialities} /> }
{ contactUs && <ContactUsComponent contactUs={contactUs}/>}
{ prices && <PricingComponent config={prices} /> }
<QuotesComponent />
<BlogPostsComponent />
<SubscribeComponent />

View File

@ -0,0 +1,89 @@
{
"populate": {
"header": {
"fields": ["header1","description"]
},
"feedbacks": {
"fields": ["*"],
"populate": {
"feedbacks": {
"fields": ["*"],
"populate": {
"customerImage": {
"fields": ["name","mime","url"]
}
}
}
}
},
"ourServices": {
"fields": ["*"],
"populate": {
"services": {
"fields": ["*"],
"populate": {
"image": {
"fields": ["name","mime","url"]
}
}
}
}
},
"aboutUs": {
"fields": ["*"],
"populate": {
"image": {
"fields": ["name","mime","url"]
}
}
},
"contactUs": {
"fields": ["*"]
},
"prices": {
"fields": ["*"],
"populate": {
"prices": {
"fields": ["*"],
"populate": {
"icon": {
"fields": ["name","mime","url"]
},
"image": {
"fields": ["name","mime","url"]
}
}
}
}
},
"ourSpecialities": {
"fields": ["*"] ,
"populate": {
"left1": {
"fields": ["*"]
},
"left2": {
"fields": ["*"]
},
"left3": {
"fields": ["*"]
},
"left4": {
"fields": ["*"]
},
"right1": {
"fields": ["*"]
},
"right2": {
"fields": ["*"]
},
"right3": {
"fields": ["*"]
},
"right4": {
"fields": ["*"]
}
}
}
}
}

View File

@ -1,16 +1,22 @@
import {About_Plain} from "@/types/generated-strapi-interfaces/api/about";
import strapiClient from "@/app/api/strapi/strapi-client";
import {Payload} from "@/types/generated-strapi-interfaces/common/Payload";
import {StrapiQuery} from "@/app/api/strapi/strapi-query";
import qs from "qs";
import aboutQuery from "@/app/api/strapi/query/about.json";
class StrapiApi{
constructor( ) {
}
public getImageUrl(imagePath: string){
return strapiClient.getImageUrl(imagePath);
}
public async getAboutPage(): Promise<About_Plain>{
const query = qs.stringify(aboutQuery,{ arrayFormat: 'indices' , encode: false})
const payload = await strapiClient.httpGetJson<About_Plain>(
StrapiQuery.aboutUrl
"/api/about?"+ query
);
return payload?.data;

View File

@ -7,6 +7,9 @@ class StrapiClient{
constructor(private strapiUrl: string = "http://localhost:1337") {
}
public getImageUrl(imagePath: string){
return this.strapiUrl + imagePath;
}
public async httpGet(path: string){
return await httpClient.httpGet(this.strapiUrl + path);
}

View File

@ -1,21 +1,23 @@
import YogaImageComponent from "@/components/yoga.image.component";
import {
YogaAboutUsComponent,
YogaAboutUsComponent_Plain
} from "@/types/generated-strapi-interfaces/api/yoga-about-us-component";
import {StrapiFile} from "@/types/types";
import strapiApi from "@/app/api/strapi/strapi-api";
export interface Props{
title: string;
header: string;
description: string;
content: string;
buttonText: string,
buttonUrl: string
data: YogaAboutUsComponent_Plain
}
const AboutUsComponent = ({title,header,description,content,buttonText,buttonUrl}: Props) =>{
const AboutUsComponent = ( {data: {title,header,description,content,buttonText,buttonLink, image}}: Props) =>{
const fileImage = image as StrapiFile;
return (
<section className="aboutus_section">
<div className="container">
<div className="row">
<div className="col-lg-7 col-md-7 col-sm-12 col-xs-12">
<div className="aboutus_image">
<figure className="mb-0"><YogaImageComponent src="/assets/images/aboutus_image.png" alt="" className="img-fluid"/></figure>
<figure className="mb-0"><YogaImageComponent src={strapiApi.getImageUrl(fileImage.url)} alt="" className="img-fluid"/></figure>
</div>
<figure className="aboutus_top_shape left_shape mb-0">
<YogaImageComponent src="/assets/images/aboutus_top_shape.png" alt="" className="img-fluid"/>
@ -34,7 +36,7 @@ const AboutUsComponent = ({title,header,description,content,buttonText,buttonUrl
<figure className="mb-0 purple_line"><YogaImageComponent src="/assets/images/aboutus_line.png" alt="" className="img-fluid" /></figure>
</div>
<div className="btn_wrapper">
<a href={buttonUrl} className="text-decoration-none get_started_btn">{buttonText}</a>
<a href={buttonLink} className="text-decoration-none get_started_btn">{buttonText}</a>
</div>
</div>
</div>

View File

@ -1,39 +1,42 @@
import YogaImageComponent from "@/components/yoga.image.component";
import {YogaContactUs_Plain} from "@/types/generated-strapi-interfaces/api/yoga-contact-us";
const ContactUsComponent = () => {
export interface Props{
contactUs: YogaContactUs_Plain
}
const ContactUsComponent = ( { contactUs :{ header,firstName,lastName,phone,title,message,email,buttonText }}: Props) => {
return (
<section className="get_in_touch_section">
<div className="container">
<div className="row" data-aos="fade-up">
<div className="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div className="get_in_touch_content">
<h5>Get in touch</h5>
<h2>Get a Free Consultation Now</h2>
<h5>{title}</h5>
<h2>{header}</h2>
<form>
<div className="row">
<div className="col-lg-6 col-md-6 col-sm-6">
<div className="form-group mb-0">
<input type="text" name="fname" id="fname" className="form-control"
placeholder="First Name"/>
placeholder={firstName}/>
</div>
</div>
<div className="col-lg-6 col-md-6 col-sm-6">
<div className="form-group mb-0">
<input type="text" name="lname" id="lname"
className="form-control form_style" placeholder="Last Name"/>
className="form-control form_style" placeholder={lastName}/>
</div>
</div>
<div className="col-lg-6 col-md-6 col-sm-6">
<div className="form-group mb-0">
<input type="tel" name="phonenum" id="phonenum" className="form-control"
placeholder="Phone"/>
placeholder={phone}/>
</div>
</div>
<div className="col-lg-6 col-md-6 col-sm-6">
<div className="form-group mb-0">
<input type="email" name="emailaddrs" id="emailaddrs"
className="form-control form_style" placeholder="Email"/>
className="form-control form_style" placeholder={email}/>
</div>
</div>
</div>
@ -41,12 +44,12 @@ const ContactUsComponent = () => {
<div className="col-lg-12">
<div className=" form-group mb-0">
<textarea rows={3} name="comment" id="msg" className="form-control"
placeholder="Message"></textarea>
placeholder={message}></textarea>
</div>
</div>
</div>
<div className="btn_wrapper">
<button type="submit" name="get_started" id="started">Get Started</button>
<button type="submit" name="get_started" id="started">{buttonText}</button>
</div>
</form>
</div>

View File

@ -1,7 +1,24 @@
import YogaImageComponent from "@/components/yoga.image.component";
import {
OurSpecialitiesComponent_Plain
} from "@/types/generated-strapi-interfaces/components/yoga-site/OurSpecialitiesComponent";
import OurSpecialitiesItemComponent from "@/components/our.specialities.item.component";
import {YogaSpecialitiesComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-specialities-component";
export interface Props{
config: YogaSpecialitiesComponent_Plain
}
const OurSpecialitiesComponent = () => {
const OurSpecialitiesComponent = ({ config: { title,header,description,
left1,
left2,
left3,
left4,
right1,
right2,
right3,
right4
} }: Props) => {
return (
<section className="our_specialties_section">
@ -9,31 +26,19 @@ const OurSpecialitiesComponent = () => {
<div className="row">
<div className="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div className="our_specialties_heading_content">
<h5>Our Specialties</h5>
<h2>Why Choose Us</h2>
<p>Quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores nostrum exercitationem ullam corporis suscipit laboriosam</p>
<h5>{title}</h5>
<h2>{header}</h2>
<p>{description}</p>
</div>
</div>
</div>
<div className="row">
<div className="col-lg-3 col-md-4 col-sm-6 col-xs-12" data-aos="fade-right">
<div className="specialties_content_wrapper">
<div className="specialties_content s1">
<p className="specialties_name">Vinyasa Yoga</p>
<p className="specialties_paragraph">Dolor reaellendus temorius maiores alia</p>
</div>
<div className="specialties_content s2">
<p className="specialties_name">Slow Yoga</p>
<p className="specialties_paragraph">Rabore et dolore maga eiusmo rute aliua</p>
</div>
<div className="specialties_content s3">
<p className="specialties_name">Intuitive Yoga</p>
<p className="specialties_paragraph">Earum rerum hic tene sapiente delectus</p>
</div>
<div className="specialties_content s4">
<p className="specialties_name">Aroma Yoga</p>
<p className="specialties_paragraph">Neque orro quisquam est raui dolorem</p>
</div>
{ left1 && <OurSpecialitiesItemComponent config={left1} order={1} /> }
{ left2 && <OurSpecialitiesItemComponent config={left2} order={2} /> }
{ left3 && <OurSpecialitiesItemComponent config={left3} order={3} /> }
{ left4 && <OurSpecialitiesItemComponent config={left4} order={4} /> }
<figure className="specialties_left_line mb-0">
<YogaImageComponent src="/assets/images/specialties_left_line.png" alt="" className="img-fluid" />
</figure>
@ -46,22 +51,10 @@ const OurSpecialitiesComponent = () => {
</div>
<div className="col-lg-3 col-md-4 col-sm-6 col-xs-12" data-aos="fade-right">
<div className="specialties_content_wrapper">
<div className="specialties_content specialties_content2 s5">
<p className="specialties_name">Kundalini Yoga</p>
<p className="specialties_paragraph">Dolor reaellendus temorius maiores alia</p>
</div>
<div className="specialties_content specialties_content2 s6">
<p className="specialties_name">Bikram Yoga</p>
<p className="specialties_paragraph">Rabore et dolore mae eiusmo rute aliua</p>
</div>
<div className="specialties_content specialties_content2 s7">
<p className="specialties_name">Mindfulness Training</p>
<p className="specialties_paragraph">Earum rerum hic tene sapiente delectus</p>
</div>
<div className="specialties_content specialties_content2 s8">
<p className="specialties_name">Workout Routines</p>
<p className="specialties_paragraph">Neque orro quisquam est raui dolorem</p>
</div>
{ right1 && <OurSpecialitiesItemComponent config={right1} position={"right"} order={5} /> }
{ right2 && <OurSpecialitiesItemComponent config={right2} position={"right"} order={6} /> }
{ right3 && <OurSpecialitiesItemComponent config={right3} position={"right"} order={7} /> }
{ right4 && <OurSpecialitiesItemComponent config={right4} position={"right"} order={8} /> }
<figure className="specialties_right_line mb-0">
<YogaImageComponent src="/assets/images/specialties_right_line.png" alt="" className="img-fluid" />
</figure>

View File

@ -0,0 +1,32 @@
import YogaImageComponent from "@/components/yoga.image.component";
import {
OurSpecialitiesComponent_Plain
} from "@/types/generated-strapi-interfaces/components/yoga-site/OurSpecialitiesComponent";
import {TitleDescription_Plain} from "@/types/generated-strapi-interfaces/components/shared/TitleDescription";
import clsx from "clsx";
export interface Props{
config: TitleDescription_Plain,
position?: 'left' | 'right';
order: number;
}
const OurSpecialitiesItemComponent = ({ position = "left",order, config: { title,description,
} }: Props) => {
const orderClass = "s"+order;
return (
<div className={clsx({
"specialties_content": true,
"specialties_content2": position == 'right',
[orderClass]: true
})}>
<p className="specialties_name">{title}</p>
<p className="specialties_paragraph">{description}</p>
</div>
);
}
export default OurSpecialitiesItemComponent;

View File

@ -0,0 +1,50 @@
import {YogaPrice_Plain} from "@/types/generated-strapi-interfaces/api/yoga-price";
import YogaImageComponent from "@/components/yoga.image.component";
import {StrapiFile} from "@/types/types";
import strapiApi from "@/app/api/strapi/strapi-api";
export interface Props{
config: YogaPrice_Plain
}
export function PriceItemComponent({config: {header,option1,option2,price,icon, image,buttonText}} : Props){
// there are some issues with the strapi generated types
const iconFile: StrapiFile = icon as StrapiFile;
const imageFile: StrapiFile = image as StrapiFile;
console.info("image:",strapiApi.getImageUrl(imageFile.url));
return (
<div className="col-lg-4 col-md-4 col-sm-6 col-xs-12">
<div className="pricing_plans_box_content">
<div className="pricing_plans_box_upper_portion">
<figure className="pricing_plans_image mb-0">
<YogaImageComponent src={strapiApi.getImageUrl(imageFile.url)} alt="" className="img-fluid"/>
</figure>
<div className="pricing_plans_box_image_content">
<figure className="mb-0">
<YogaImageComponent src={strapiApi.getImageUrl(iconFile.url)} alt=""
className="img-fluid"/>
</figure>
</div>
</div>
<div className="pricing_plans_box_lower_portion">
<h3>{header}</h3>
<ul className="list-unstyled">
<li>
<i className="fa-solid fa-check" aria-hidden="true"></i>{option1}
</li>
<li>
<i className="fa-solid fa-check" aria-hidden="true"></i>{option2}
</li>
</ul>
<div className="pricing_plans_span_wrapper">
<span className="price">{price} FT</span>
<span className="per_month">/per month</span>
</div>
<div className="btn_wrapper">
<a className="enroll_now_btn text-decoration-none" href="/pricing.html">{buttonText}</a>
</div>
</div>
</div>
</div>
);
}

View File

@ -1,121 +1,129 @@
import YogaImageComponent from "@/components/yoga.image.component";
import {YogaPriceComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-price-component";
import {PriceItemComponent} from "@/components/price.item.component";
const PricingComponent = () => {
export interface Props{
config: YogaPriceComponent_Plain
}
const PricingComponent = ({config: { title,header,description,prices}}: Props) => {
return (
<section className="pricing_plans_section">
<div className="container">
<div className="row">
<div className="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div className="pricing_plans_content">
<h5>What We Offer</h5>
<h2>Our Pricing Plans</h2>
<p>Molestiae non recusandae itaque earum rerum hic teneaur a sapiente delectus, rae aut
reiciendis officia deserunt mollitia animi omnis dolor</p>
<h5>{title}</h5>
<h2>{header}</h2>
<p>{description}</p>
</div>
</div>
</div>
<div className="row" data-aos="fade-up">
<div className="col-lg-4 col-md-4 col-sm-6 col-xs-12">
<div className="pricing_plans_box_content">
<div className="pricing_plans_box_upper_portion">
<figure className="pricing_plans_image mb-0">
<YogaImageComponent src="/assets/images/pricing_plan_1.png" alt="" className="img-fluid"/>
</figure>
<div className="pricing_plans_box_image_content">
<figure className="mb-0">
<YogaImageComponent src="/assets/images/pricing_plan_icon_1.png" alt="" className="img-fluid"/>
</figure>
</div>
</div>
<div className="pricing_plans_box_lower_portion">
<h3>Standard</h3>
<ul className="list-unstyled">
<li>
<i className="fa-solid fa-check" aria-hidden="true"></i>Pay as you go
</li>
<li>
<i className="fa-solid fa-check" aria-hidden="true"></i>Perfect for
non-residence
</li>
</ul>
<div className="pricing_plans_span_wrapper">
<span className="price">$30</span>
<span className="per_month">/per month</span>
</div>
<div className="btn_wrapper">
<a className="enroll_now_btn text-decoration-none" href="/pricing.html">Enroll
Now</a>
</div>
</div>
</div>
</div>
<div className="col-lg-4 col-md-4 col-sm-6 col-xs-12">
<div className="pricing_plans_box_content">
<div className="pricing_plans_box_upper_portion">
<figure className="pricing_plans_image mb-0">
<YogaImageComponent src="/assets/images/pricing_plan_2.png" alt="" className="img-fluid"/>
</figure>
<div className="pricing_plans_box_image_content">
<figure className="mb-0">
<YogaImageComponent src="/assets/images/pricing_plan_icon_2.png" alt="" className="img-fluid"/>
</figure>
</div>
</div>
<div className="pricing_plans_box_lower_portion second_lower_portion">
<h3>Professional</h3>
<ul className="list-unstyled">
<li>
<i className="fa-solid fa-check" aria-hidden="true"></i>Short-term comitment
</li>
<li>
<i className="fa-solid fa-check" aria-hidden="true"></i>Online training for all
</li>
</ul>
<div className="pricing_plans_span_wrapper">
<span className="price">$120</span>
<span className="per_month">/per month</span>
</div>
<div className="btn_wrapper">
<a className="enroll_now_btn text-decoration-none" href="/pricing.html">Enroll
Now</a>
</div>
</div>
</div>
</div>
<div className="col-lg-4 col-md-4 col-sm-6 col-xs-12">
<div className="pricing_plans_box_content">
<div className="pricing_plans_box_upper_portion">
<figure className="pricing_plans_image mb-0">
<YogaImageComponent src="/assets/images/pricing_plan_3.png" alt="" className="img-fluid"/>
</figure>
<div className="pricing_plans_box_image_content">
<figure className="mb-0">
<YogaImageComponent src="/assets/images/pricing_plan_icon_3.png" alt="" className="img-fluid"/>
</figure>
</div>
</div>
<div className="pricing_plans_box_lower_portion third_lower_portion">
<h3>Private</h3>
<ul className="list-unstyled">
<li>
<i className="fa-solid fa-check" aria-hidden="true"></i>Long-term comitment
</li>
<li>
<i className="fa-solid fa-check" aria-hidden="true"></i>24/7 Available
</li>
</ul>
<div className="pricing_plans_span_wrapper">
<span className="price">$250</span>
<span className="per_month">/per month</span>
</div>
<div className="btn_wrapper">
<a className="enroll_now_btn text-decoration-none" href="/pricing.html">Enroll
Now</a>
</div>
</div>
</div>
</div>
{
prices.map(value => <PriceItemComponent key={value.id} config={value} />)
}
{/* <div className="col-lg-4 col-md-4 col-sm-6 col-xs-12">*/}
{/* <div className="pricing_plans_box_content">*/}
{/* <div className="pricing_plans_box_upper_portion">*/}
{/* <figure className="pricing_plans_image mb-0">*/}
{/* <YogaImageComponent src="/assets/images/pricing_plan_1.png" alt="" className="img-fluid"/>*/}
{/* </figure>*/}
{/* <div className="pricing_plans_box_image_content">*/}
{/* <figure className="mb-0">*/}
{/* <YogaImageComponent src="/assets/images/pricing_plan_icon_1.png" alt="" className="img-fluid"/>*/}
{/* </figure>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="pricing_plans_box_lower_portion">*/}
{/* <h3>Standard</h3>*/}
{/* <ul className="list-unstyled">*/}
{/* <li>*/}
{/* <i className="fa-solid fa-check" aria-hidden="true"></i>Pay as you go*/}
{/* </li>*/}
{/* <li>*/}
{/* <i className="fa-solid fa-check" aria-hidden="true"></i>Perfect for*/}
{/* non-residence*/}
{/* </li>*/}
{/* </ul>*/}
{/* <div className="pricing_plans_span_wrapper">*/}
{/* <span className="price">$30</span>*/}
{/* <span className="per_month">/per month</span>*/}
{/* </div>*/}
{/* <div className="btn_wrapper">*/}
{/* <a className="enroll_now_btn text-decoration-none" href="/pricing.html">Enroll*/}
{/* Now</a>*/}
{/* </div>*/}
{/* </div>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="col-lg-4 col-md-4 col-sm-6 col-xs-12">*/}
{/* <div className="pricing_plans_box_content">*/}
{/* <div className="pricing_plans_box_upper_portion">*/}
{/* <figure className="pricing_plans_image mb-0">*/}
{/* <YogaImageComponent src="/assets/images/pricing_plan_2.png" alt="" className="img-fluid"/>*/}
{/* </figure>*/}
{/* <div className="pricing_plans_box_image_content">*/}
{/* <figure className="mb-0">*/}
{/* <YogaImageComponent src="/assets/images/pricing_plan_icon_2.png" alt="" className="img-fluid"/>*/}
{/* </figure>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="pricing_plans_box_lower_portion second_lower_portion">*/}
{/* <h3>Professional</h3>*/}
{/* <ul className="list-unstyled">*/}
{/* <li>*/}
{/* <i className="fa-solid fa-check" aria-hidden="true"></i>Short-term comitment*/}
{/* </li>*/}
{/* <li>*/}
{/* <i className="fa-solid fa-check" aria-hidden="true"></i>Online training for all*/}
{/* </li>*/}
{/* </ul>*/}
{/* <div className="pricing_plans_span_wrapper">*/}
{/* <span className="price">$120</span>*/}
{/* <span className="per_month">/per month</span>*/}
{/* </div>*/}
{/* <div className="btn_wrapper">*/}
{/* <a className="enroll_now_btn text-decoration-none" href="/pricing.html">Enroll*/}
{/* Now</a>*/}
{/* </div>*/}
{/* </div>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="col-lg-4 col-md-4 col-sm-6 col-xs-12">*/}
{/* <div className="pricing_plans_box_content">*/}
{/* <div className="pricing_plans_box_upper_portion">*/}
{/* <figure className="pricing_plans_image mb-0">*/}
{/* <YogaImageComponent src="/assets/images/pricing_plan_3.png" alt="" className="img-fluid"/>*/}
{/* </figure>*/}
{/* <div className="pricing_plans_box_image_content">*/}
{/* <figure className="mb-0">*/}
{/* <YogaImageComponent src="/assets/images/pricing_plan_icon_3.png" alt="" className="img-fluid"/>*/}
{/* </figure>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="pricing_plans_box_lower_portion third_lower_portion">*/}
{/* <h3>Private</h3>*/}
{/* <ul className="list-unstyled">*/}
{/* <li>*/}
{/* <i className="fa-solid fa-check" aria-hidden="true"></i>Long-term comitment*/}
{/* </li>*/}
{/* <li>*/}
{/* <i className="fa-solid fa-check" aria-hidden="true"></i>24/7 Available*/}
{/* </li>*/}
{/* </ul>*/}
{/* <div className="pricing_plans_span_wrapper">*/}
{/* <span className="price">$250</span>*/}
{/* <span className="per_month">/per month</span>*/}
{/* </div>*/}
{/* <div className="btn_wrapper">*/}
{/* <a className="enroll_now_btn text-decoration-none" href="/pricing.html">Enroll*/}
{/* Now</a>*/}
{/* </div>*/}
{/* </div>*/}
{/* </div>*/}
{/* </div>*/}
</div>
</div>
</section>

View File

@ -2,24 +2,29 @@
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 { YogaContactUs } from './yoga-contact-us';
import { YogaPriceComponent } from './yoga-price-component';
import { YogaSpecialitiesComponent } from './yoga-specialities-component';
import { YogaAboutUsComponent } from './yoga-about-us-component';
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 { YogaContactUs_Plain } from './yoga-contact-us';
import { YogaPriceComponent_Plain } from './yoga-price-component';
import { YogaSpecialitiesComponent_Plain } from './yoga-specialities-component';
import { YogaAboutUsComponent_Plain } from './yoga-about-us-component';
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';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface About {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB;
ourServices: OurServicesComponent;
aboutUs: AboutUs;
ourSpecialities?: OurSpecialitiesComponent;
contactUs?: { data: YogaContactUs };
prices?: { data: YogaPriceComponent };
ourSpecialities?: { data: YogaSpecialitiesComponent };
aboutUs?: { data: YogaAboutUsComponent };
locale: string;
localizations?: { data: About[] };
};
@ -28,8 +33,10 @@ export interface About_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
ourServices: OurServicesComponent_Plain;
aboutUs: AboutUs_Plain;
ourSpecialities?: OurSpecialitiesComponent_Plain;
contactUs?: YogaContactUs_Plain;
prices?: YogaPriceComponent_Plain;
ourSpecialities?: YogaSpecialitiesComponent_Plain;
aboutUs?: YogaAboutUsComponent_Plain;
locale: string;
localizations?: About_Plain[];
}
@ -38,8 +45,10 @@ export interface About_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations;
ourServices: OurServicesComponent_NoRelations;
aboutUs: AboutUs_NoRelations;
ourSpecialities?: OurSpecialitiesComponent_NoRelations;
contactUs?: number;
prices?: number;
ourSpecialities?: number;
aboutUs?: number;
locale: string;
localizations?: About[];
}
@ -48,8 +57,10 @@ export interface About_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
ourServices: OurServicesComponent_Plain;
aboutUs: AboutUs_Plain;
ourSpecialities?: OurSpecialitiesComponent_Plain;
contactUs?: AdminPanelRelationPropertyModification<YogaContactUs_Plain>;
prices?: AdminPanelRelationPropertyModification<YogaPriceComponent_Plain>;
ourSpecialities?: AdminPanelRelationPropertyModification<YogaSpecialitiesComponent_Plain>;
aboutUs?: AdminPanelRelationPropertyModification<YogaAboutUsComponent_Plain>;
locale: string;
localizations?: About[];
}

View File

@ -1,41 +0,0 @@
// Interface automatically generated by schemas-to-ts
import { Media } from '../components/shared/Media';
import { Quote } from '../components/shared/Quote';
import { Media_Plain } from '../components/shared/Media';
import { Quote_Plain } from '../components/shared/Quote';
import { Quote_NoRelations } from '../components/shared/Quote';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface Car {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
description?: string;
image?: { data: Media };
myquote: Quote[];
};
}
export interface Car_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
description?: string;
image?: Media_Plain;
myquote: Quote_Plain[];
}
export interface Car_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
description?: string;
image?: number;
myquote: Quote_NoRelations[];
}
export interface Car_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
description?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
myquote: Quote_Plain[];
}

View File

@ -0,0 +1,7 @@
export interface StrapiFile{
"id": string,
"documentId": string,
"name": string,
"mime": string,
"url": string
}

View File

@ -9,6 +9,9 @@
aboutUs: {
fields: ['*']
},
contactUs: {
fields: ['*']
},
ourSpecialities: {
fields: ['*'] ,
populate: {

View File

@ -1 +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]=*
/api/about?populate[header][fields][0]=header1&populate[header][fields][1]=description&populate[ourServices][fields][0]=*&populate[aboutUs][fields][0]=*&populate[contactUs][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]=*

View File

@ -1,25 +1,32 @@
// Interface automatically generated by schemas-to-ts
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 { YogaContactUs } from './yoga-contact-us';
import { YogaPriceComponent } from './yoga-price-component';
import { YogaSpecialitiesComponent } from './yoga-specialities-component';
import { YogaAboutUsComponent } from './yoga-about-us-component';
import { YogaCustomerFeedbackComponent } from './yoga-customer-feedback-component';
import { YogaOurServicesComponent } from './yoga-our-services-component';
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 { YogaContactUs_Plain } from './yoga-contact-us';
import { YogaPriceComponent_Plain } from './yoga-price-component';
import { YogaSpecialitiesComponent_Plain } from './yoga-specialities-component';
import { YogaAboutUsComponent_Plain } from './yoga-about-us-component';
import { YogaCustomerFeedbackComponent_Plain } from './yoga-customer-feedback-component';
import { YogaOurServicesComponent_Plain } from './yoga-our-services-component';
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';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface About {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB;
ourServices: OurServicesComponent;
aboutUs: AboutUs;
ourSpecialities?: OurSpecialitiesComponent;
contactUs?: { data: YogaContactUs };
prices?: { data: YogaPriceComponent };
ourSpecialities?: { data: YogaSpecialitiesComponent };
aboutUs?: { data: YogaAboutUsComponent };
feedbacks?: { data: YogaCustomerFeedbackComponent };
ourServices?: { data: YogaOurServicesComponent };
locale: string;
localizations?: { data: About[] };
};
@ -27,9 +34,12 @@ export interface About {
export interface About_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
ourServices: OurServicesComponent_Plain;
aboutUs: AboutUs_Plain;
ourSpecialities?: OurSpecialitiesComponent_Plain;
contactUs?: YogaContactUs_Plain;
prices?: YogaPriceComponent_Plain;
ourSpecialities?: YogaSpecialitiesComponent_Plain;
aboutUs?: YogaAboutUsComponent_Plain;
feedbacks?: YogaCustomerFeedbackComponent_Plain;
ourServices?: YogaOurServicesComponent_Plain;
locale: string;
localizations?: About_Plain[];
}
@ -37,9 +47,12 @@ export interface About_Plain {
export interface About_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations;
ourServices: OurServicesComponent_NoRelations;
aboutUs: AboutUs_NoRelations;
ourSpecialities?: OurSpecialitiesComponent_NoRelations;
contactUs?: number;
prices?: number;
ourSpecialities?: number;
aboutUs?: number;
feedbacks?: number;
ourServices?: number;
locale: string;
localizations?: About[];
}
@ -47,9 +60,12 @@ export interface About_NoRelations {
export interface About_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
ourServices: OurServicesComponent_Plain;
aboutUs: AboutUs_Plain;
ourSpecialities?: OurSpecialitiesComponent_Plain;
contactUs?: AdminPanelRelationPropertyModification<YogaContactUs_Plain>;
prices?: AdminPanelRelationPropertyModification<YogaPriceComponent_Plain>;
ourSpecialities?: AdminPanelRelationPropertyModification<YogaSpecialitiesComponent_Plain>;
aboutUs?: AdminPanelRelationPropertyModification<YogaAboutUsComponent_Plain>;
feedbacks?: AdminPanelRelationPropertyModification<YogaCustomerFeedbackComponent_Plain>;
ourServices?: AdminPanelRelationPropertyModification<YogaOurServicesComponent_Plain>;
locale: string;
localizations?: About[];
}

View File

@ -1,41 +0,0 @@
// Interface automatically generated by schemas-to-ts
import { Media } from '../components/shared/Media';
import { Quote } from '../components/shared/Quote';
import { Media_Plain } from '../components/shared/Media';
import { Quote_Plain } from '../components/shared/Quote';
import { Quote_NoRelations } from '../components/shared/Quote';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface Car {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
description?: string;
image?: { data: Media };
myquote: Quote[];
};
}
export interface Car_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
description?: string;
image?: Media_Plain;
myquote: Quote_Plain[];
}
export interface Car_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
description?: string;
image?: number;
myquote: Quote_NoRelations[];
}
export interface Car_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
description?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
myquote: Quote_Plain[];
}

View File

@ -0,0 +1,62 @@
// 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';
export interface YogaAboutUsComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
content?: string;
buttonText?: string;
image?: { data: Media };
name?: string;
buttonLink?: string;
locale: string;
localizations?: { data: YogaAboutUsComponent[] };
};
}
export interface YogaAboutUsComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
content?: string;
buttonText?: string;
image?: Media_Plain;
name?: string;
buttonLink?: string;
locale: string;
localizations?: YogaAboutUsComponent_Plain[];
}
export interface YogaAboutUsComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
content?: string;
buttonText?: string;
image?: number;
name?: string;
buttonLink?: string;
locale: string;
localizations?: YogaAboutUsComponent[];
}
export interface YogaAboutUsComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
content?: string;
buttonText?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
name?: string;
buttonLink?: string;
locale: string;
localizations?: YogaAboutUsComponent[];
}

View File

@ -0,0 +1,58 @@
// Interface automatically generated by schemas-to-ts
export interface YogaContactUs {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
firstName?: string;
lastName?: string;
phone?: string;
email?: string;
message?: string;
buttonText?: string;
locale: string;
localizations?: { data: YogaContactUs[] };
};
}
export interface YogaContactUs_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
firstName?: string;
lastName?: string;
phone?: string;
email?: string;
message?: string;
buttonText?: string;
locale: string;
localizations?: YogaContactUs_Plain[];
}
export interface YogaContactUs_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
firstName?: string;
lastName?: string;
phone?: string;
email?: string;
message?: string;
buttonText?: string;
locale: string;
localizations?: YogaContactUs[];
}
export interface YogaContactUs_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
firstName?: string;
lastName?: string;
phone?: string;
email?: string;
message?: string;
buttonText?: string;
locale: string;
localizations?: YogaContactUs[];
}

View File

@ -0,0 +1,30 @@
// Interface automatically generated by schemas-to-ts
import { YogaCustomerFeedback } from './yoga-customer-feedback';
import { YogaCustomerFeedback_Plain } from './yoga-customer-feedback';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaCustomerFeedbackComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
feedbacks: { data: YogaCustomerFeedback[] };
};
}
export interface YogaCustomerFeedbackComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
feedbacks: YogaCustomerFeedback_Plain[];
}
export interface YogaCustomerFeedbackComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
feedbacks: number[];
}
export interface YogaCustomerFeedbackComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
feedbacks: AdminPanelRelationPropertyModification<YogaCustomerFeedback_Plain>;
}

View File

@ -0,0 +1,42 @@
// 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';
export interface YogaCustomerFeedback {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
customerName?: string;
feedback?: string;
customerImage?: { data: Media };
customerDescription?: string;
};
}
export interface YogaCustomerFeedback_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
customerName?: string;
feedback?: string;
customerImage?: Media_Plain;
customerDescription?: string;
}
export interface YogaCustomerFeedback_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
customerName?: string;
feedback?: string;
customerImage?: number;
customerDescription?: string;
}
export interface YogaCustomerFeedback_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
customerName?: string;
feedback?: string;
customerImage?: AdminPanelRelationPropertyModification<Media_Plain>;
customerDescription?: string;
}

View File

@ -0,0 +1,50 @@
// Interface automatically generated by schemas-to-ts
import { YogaSingleService } from './yoga-single-service';
import { YogaSingleService_Plain } from './yoga-single-service';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaOurServicesComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
services: { data: YogaSingleService[] };
name?: string;
locale: string;
localizations?: { data: YogaOurServicesComponent[] };
};
}
export interface YogaOurServicesComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
services: YogaSingleService_Plain[];
name?: string;
locale: string;
localizations?: YogaOurServicesComponent_Plain[];
}
export interface YogaOurServicesComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
services: number[];
name?: string;
locale: string;
localizations?: YogaOurServicesComponent[];
}
export interface YogaOurServicesComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
services: AdminPanelRelationPropertyModification<YogaSingleService_Plain>;
name?: string;
locale: string;
localizations?: YogaOurServicesComponent[];
}

View File

@ -0,0 +1,46 @@
// Interface automatically generated by schemas-to-ts
import { YogaPrice } from './yoga-price';
import { YogaPrice_Plain } from './yoga-price';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaPriceComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
prices: { data: YogaPrice[] };
locale: string;
localizations?: { data: YogaPriceComponent[] };
};
}
export interface YogaPriceComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
prices: YogaPrice_Plain[];
locale: string;
localizations?: YogaPriceComponent_Plain[];
}
export interface YogaPriceComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
prices: number[];
locale: string;
localizations?: YogaPriceComponent[];
}
export interface YogaPriceComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
prices: AdminPanelRelationPropertyModification<YogaPrice_Plain>;
locale: string;
localizations?: YogaPriceComponent[];
}

View File

@ -0,0 +1,50 @@
// 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';
export interface YogaPrice {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
option1?: string;
option2?: string;
buttonText?: string;
price?: number;
icon?: { data: Media };
image?: { data: Media };
};
}
export interface YogaPrice_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
option1?: string;
option2?: string;
buttonText?: string;
price?: number;
icon?: Media_Plain;
image?: Media_Plain;
}
export interface YogaPrice_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
option1?: string;
option2?: string;
buttonText?: string;
price?: number;
icon?: number;
image?: number;
}
export interface YogaPrice_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
option1?: string;
option2?: string;
buttonText?: string;
price?: number;
icon?: AdminPanelRelationPropertyModification<Media_Plain>;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
}

View File

@ -0,0 +1,54 @@
// 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';
export interface YogaSingleService {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
description?: string;
buttonLink?: string;
image?: { data: Media };
imageAlt?: string;
name?: string;
locale: string;
localizations?: { data: YogaSingleService[] };
};
}
export interface YogaSingleService_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
description?: string;
buttonLink?: string;
image?: Media_Plain;
imageAlt?: string;
name?: string;
locale: string;
localizations?: YogaSingleService_Plain[];
}
export interface YogaSingleService_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
description?: string;
buttonLink?: string;
image?: number;
imageAlt?: string;
name?: string;
locale: string;
localizations?: YogaSingleService[];
}
export interface YogaSingleService_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
description?: string;
buttonLink?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
imageAlt?: string;
name?: string;
locale: string;
localizations?: YogaSingleService[];
}

View File

@ -0,0 +1,38 @@
// Interface automatically generated by schemas-to-ts
export interface YogaSingleSpeciality {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
description?: string;
name: string;
locale: string;
localizations?: { data: YogaSingleSpeciality[] };
};
}
export interface YogaSingleSpeciality_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
description?: string;
name: string;
locale: string;
localizations?: YogaSingleSpeciality_Plain[];
}
export interface YogaSingleSpeciality_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
description?: string;
name: string;
locale: string;
localizations?: YogaSingleSpeciality[];
}
export interface YogaSingleSpeciality_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
description?: string;
name: string;
locale: string;
localizations?: YogaSingleSpeciality[];
}

View File

@ -0,0 +1,78 @@
// Interface automatically generated by schemas-to-ts
import { YogaSingleSpeciality } from './yoga-single-speciality';
import { YogaSingleSpeciality_Plain } from './yoga-single-speciality';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaSpecialitiesComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
left1?: { data: YogaSingleSpeciality };
left2?: { data: YogaSingleSpeciality };
left3?: { data: YogaSingleSpeciality };
left4?: { data: YogaSingleSpeciality };
right1?: { data: YogaSingleSpeciality };
right2?: { data: YogaSingleSpeciality };
right3?: { data: YogaSingleSpeciality };
right4?: { data: YogaSingleSpeciality };
locale: string;
localizations?: { data: YogaSpecialitiesComponent[] };
};
}
export interface YogaSpecialitiesComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
left1?: YogaSingleSpeciality_Plain;
left2?: YogaSingleSpeciality_Plain;
left3?: YogaSingleSpeciality_Plain;
left4?: YogaSingleSpeciality_Plain;
right1?: YogaSingleSpeciality_Plain;
right2?: YogaSingleSpeciality_Plain;
right3?: YogaSingleSpeciality_Plain;
right4?: YogaSingleSpeciality_Plain;
locale: string;
localizations?: YogaSpecialitiesComponent_Plain[];
}
export interface YogaSpecialitiesComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
left1?: number;
left2?: number;
left3?: number;
left4?: number;
right1?: number;
right2?: number;
right3?: number;
right4?: number;
locale: string;
localizations?: YogaSpecialitiesComponent[];
}
export interface YogaSpecialitiesComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
left1?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
left2?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
left3?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
left4?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
right1?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
right2?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
right3?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
right4?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
locale: string;
localizations?: YogaSpecialitiesComponent[];
}

View File

@ -1,28 +0,0 @@
// 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;
}

View File

@ -26,37 +26,35 @@
}
}
},
"ourServices": {
"type": "component",
"repeatable": false,
"pluginOptions": {
"i18n": {
"localized": true
}
},
"component": "yoga-site.our-services-component",
"required": true
"contactUs": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-contact-us.yoga-contact-us"
},
"aboutUs": {
"type": "component",
"repeatable": false,
"pluginOptions": {
"i18n": {
"localized": true
}
},
"component": "yoga-site.about-us",
"required": true
"prices": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-price-component.yoga-price-component"
},
"ourSpecialities": {
"type": "component",
"repeatable": false,
"pluginOptions": {
"i18n": {
"localized": true
}
},
"component": "yoga-site.our-specialities-component"
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-specialities-component.yoga-specialities-component"
},
"aboutUs": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-about-us-component.yoga-about-us-component"
},
"feedbacks": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-customer-feedback-component.yoga-customer-feedback-component"
},
"ourServices": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-our-services-component.yoga-our-services-component"
}
}
}

View File

@ -1,38 +0,0 @@
{
"kind": "collectionType",
"collectionName": "cars",
"info": {
"singularName": "car",
"pluralName": "cars",
"displayName": "car",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"name": {
"type": "string"
},
"description": {
"type": "text"
},
"image": {
"type": "media",
"multiple": false,
"required": false,
"allowedTypes": [
"images",
"files",
"videos",
"audios"
]
},
"myquote": {
"type": "component",
"repeatable": true,
"component": "shared.quote"
}
}
}

View File

@ -1,7 +0,0 @@
/**
* car controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::car.car');

View File

@ -1,7 +0,0 @@
/**
* car router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::car.car');

View File

@ -1,7 +0,0 @@
/**
* car service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::car.car');

View File

@ -0,0 +1,90 @@
{
"kind": "collectionType",
"collectionName": "yoga_about_us_components",
"info": {
"singularName": "yoga-about-us-component",
"pluralName": "yoga-about-us-components",
"displayName": "YogaAboutUsComponent",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {
"i18n": {
"localized": true
}
},
"attributes": {
"title": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"header": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"description": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"content": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"buttonText": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"image": {
"type": "media",
"multiple": false,
"required": false,
"allowedTypes": [
"images",
"files"
],
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"name": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"buttonLink": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-about-us-component controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-about-us-component.yoga-about-us-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-about-us-component router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-about-us-component.yoga-about-us-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-about-us-component service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-about-us-component.yoga-about-us-component');

View File

@ -0,0 +1,83 @@
{
"kind": "collectionType",
"collectionName": "yoga_contact_uses",
"info": {
"singularName": "yoga-contact-us",
"pluralName": "yoga-contact-uses",
"displayName": "YogaContactUs"
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {
"i18n": {
"localized": true
}
},
"attributes": {
"title": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"header": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"firstName": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"lastName": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"phone": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"email": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"message": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"buttonText": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-contact-us controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-contact-us.yoga-contact-us');

View File

@ -0,0 +1,7 @@
/**
* yoga-contact-us router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-contact-us.yoga-contact-us');

View File

@ -0,0 +1,7 @@
/**
* yoga-contact-us service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-contact-us.yoga-contact-us');

View File

@ -0,0 +1,23 @@
{
"kind": "collectionType",
"collectionName": "yoga_customer_feedback_components",
"info": {
"singularName": "yoga-customer-feedback-component",
"pluralName": "yoga-customer-feedback-components",
"displayName": "YogaCustomerFeedbackComponent"
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"name": {
"type": "string"
},
"feedbacks": {
"type": "relation",
"relation": "oneToMany",
"target": "api::yoga-customer-feedback.yoga-customer-feedback"
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-customer-feedback-component controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-customer-feedback-component.yoga-customer-feedback-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-customer-feedback-component router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-customer-feedback-component.yoga-customer-feedback-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-customer-feedback-component service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-customer-feedback-component.yoga-customer-feedback-component');

View File

@ -0,0 +1,37 @@
{
"kind": "collectionType",
"collectionName": "yoga_customer_feedbacks",
"info": {
"singularName": "yoga-customer-feedback",
"pluralName": "yoga-customer-feedbacks",
"displayName": "YogaCustomerFeedback"
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"name": {
"type": "string"
},
"customerName": {
"type": "string"
},
"feedback": {
"type": "text"
},
"customerImage": {
"allowedTypes": [
"images",
"files",
"videos",
"audios"
],
"type": "media",
"multiple": false
},
"customerDescription": {
"type": "string"
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-customer-feedback controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-customer-feedback.yoga-customer-feedback');

View File

@ -0,0 +1,7 @@
/**
* yoga-customer-feedback router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-customer-feedback.yoga-customer-feedback');

View File

@ -0,0 +1,7 @@
/**
* yoga-customer-feedback service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-customer-feedback.yoga-customer-feedback');

View File

@ -0,0 +1,57 @@
{
"kind": "collectionType",
"collectionName": "yoga_our_services_components",
"info": {
"singularName": "yoga-our-services-component",
"pluralName": "yoga-our-services-components",
"displayName": "YogaOurServicesComponent",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {
"i18n": {
"localized": true
}
},
"attributes": {
"title": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"header": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"description": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"services": {
"type": "relation",
"relation": "oneToMany",
"target": "api::yoga-single-service.yoga-single-service"
},
"name": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-our-services-component controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-our-services-component.yoga-our-services-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-our-services-component router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-our-services-component.yoga-our-services-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-our-services-component service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-our-services-component.yoga-our-services-component');

View File

@ -0,0 +1,49 @@
{
"kind": "collectionType",
"collectionName": "yoga_price_components",
"info": {
"singularName": "yoga-price-component",
"pluralName": "yoga-price-components",
"displayName": "YogaPriceComponent",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {
"i18n": {
"localized": true
}
},
"attributes": {
"title": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"header": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"description": {
"type": "text",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"prices": {
"type": "relation",
"relation": "oneToMany",
"target": "api::yoga-price.yoga-price"
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-price-component controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-price-component.yoga-price-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-price-component router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-price-component.yoga-price-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-price-component service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-price-component.yoga-price-component');

View File

@ -0,0 +1,50 @@
{
"kind": "collectionType",
"collectionName": "yoga_prices",
"info": {
"singularName": "yoga-price",
"pluralName": "yoga-prices",
"displayName": "YogaPrice"
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"header": {
"type": "string"
},
"option1": {
"type": "string"
},
"option2": {
"type": "string"
},
"buttonText": {
"type": "string"
},
"price": {
"type": "integer"
},
"icon": {
"allowedTypes": [
"images",
"files",
"videos",
"audios"
],
"type": "media",
"multiple": false
},
"image": {
"allowedTypes": [
"images",
"files",
"videos",
"audios"
],
"type": "media",
"multiple": false
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-price controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-price.yoga-price');

View File

@ -0,0 +1,7 @@
/**
* yoga-price router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-price.yoga-price');

View File

@ -0,0 +1,7 @@
/**
* yoga-price service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-price.yoga-price');

View File

@ -0,0 +1,74 @@
{
"kind": "collectionType",
"collectionName": "yoga_single_services",
"info": {
"singularName": "yoga-single-service",
"pluralName": "yoga-single-services",
"displayName": "YogaSingleService"
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {
"i18n": {
"localized": true
}
},
"attributes": {
"header": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"description": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"buttonLink": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"image": {
"allowedTypes": [
"images",
"files",
"videos",
"audios"
],
"type": "media",
"multiple": false,
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"imageAlt": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
},
"name": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string"
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-single-service controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-single-service.yoga-single-service');

View File

@ -0,0 +1,7 @@
/**
* yoga-single-service router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-single-service.yoga-single-service');

View File

@ -0,0 +1,7 @@
/**
* yoga-single-service service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-single-service.yoga-single-service');

View File

@ -0,0 +1,46 @@
{
"kind": "collectionType",
"collectionName": "yoga_single_specialities",
"info": {
"singularName": "yoga-single-speciality",
"pluralName": "yoga-single-specialities",
"displayName": "YogaSingleSpeciality",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {
"i18n": {
"localized": true
}
},
"attributes": {
"title": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"description": {
"type": "text",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"name": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "string",
"required": true,
"unique": true
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-single-speciality controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-single-speciality.yoga-single-speciality');

View File

@ -0,0 +1,7 @@
/**
* yoga-single-speciality router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-single-speciality.yoga-single-speciality');

View File

@ -0,0 +1,7 @@
/**
* yoga-single-speciality service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-single-speciality.yoga-single-speciality');

View File

@ -0,0 +1,92 @@
{
"kind": "collectionType",
"collectionName": "yoga_specialities_components",
"info": {
"singularName": "yoga-specialities-component",
"pluralName": "yoga-specialities-components",
"displayName": "YogaSpecialitiesComponent",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {
"i18n": {
"localized": true
}
},
"attributes": {
"title": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"header": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"description": {
"type": "text",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"name": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"left1": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-single-speciality.yoga-single-speciality"
},
"left2": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-single-speciality.yoga-single-speciality"
},
"left3": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-single-speciality.yoga-single-speciality"
},
"left4": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-single-speciality.yoga-single-speciality"
},
"right1": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-single-speciality.yoga-single-speciality"
},
"right2": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-single-speciality.yoga-single-speciality"
},
"right3": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-single-speciality.yoga-single-speciality"
},
"right4": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-single-speciality.yoga-single-speciality"
}
}
}

View File

@ -0,0 +1,7 @@
/**
* yoga-specialities-component controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-specialities-component.yoga-specialities-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-specialities-component router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-specialities-component.yoga-specialities-component');

View File

@ -0,0 +1,7 @@
/**
* yoga-specialities-component service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-specialities-component.yoga-specialities-component');

View File

@ -1,27 +0,0 @@
{
"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"
}
}
}

View File

@ -1,59 +0,0 @@
{
"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"
}
}
}

View File

@ -84,21 +84,6 @@ export interface SharedTitleDescription extends Struct.ComponentSchema {
};
}
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: {
@ -125,52 +110,6 @@ export interface YogaSiteOurServicesComponent extends Struct.ComponentSchema {
};
}
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 {
@ -181,10 +120,8 @@ declare module '@strapi/strapi' {
'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;
}
}
}

View File

@ -386,16 +386,21 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema {
};
};
attributes: {
aboutUs: Schema.Attribute.Component<'yoga-site.about-us', false> &
Schema.Attribute.Required &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
aboutUs: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-about-us-component.yoga-about-us-component'
>;
contactUs: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-contact-us.yoga-contact-us'
>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
feedbacks: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-customer-feedback-component.yoga-customer-feedback-component'
>;
header: Schema.Attribute.Component<'yoga-site.header-b', false> &
Schema.Attribute.SetPluginOptions<{
i18n: {
@ -404,25 +409,18 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema {
}>;
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;
};
}>;
ourServices: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-our-services-component.yoga-our-services-component'
>;
ourSpecialities: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-specialities-component.yoga-specialities-component'
>;
prices: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-price-component.yoga-price-component'
>;
publishedAt: Schema.Attribute.DateTime;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
@ -502,35 +500,6 @@ export interface ApiAuthorAuthor extends Struct.CollectionTypeSchema {
};
}
export interface ApiCarCar extends Struct.CollectionTypeSchema {
collectionName: 'cars';
info: {
description: '';
displayName: 'car';
pluralName: 'cars';
singularName: 'car';
};
options: {
draftAndPublish: true;
};
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text;
image: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<'oneToMany', 'api::car.car'> &
Schema.Attribute.Private;
myquote: Schema.Attribute.Component<'shared.quote', true>;
name: Schema.Attribute.String;
publishedAt: Schema.Attribute.DateTime;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiCategoryCategory extends Struct.CollectionTypeSchema {
collectionName: 'categories';
info: {
@ -654,6 +623,595 @@ export interface ApiPersonPerson extends Struct.SingleTypeSchema {
};
}
export interface ApiYogaAboutUsComponentYogaAboutUsComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_about_us_components';
info: {
description: '';
displayName: 'YogaAboutUsComponent';
pluralName: 'yoga-about-us-components';
singularName: 'yoga-about-us-component';
};
options: {
draftAndPublish: true;
};
pluginOptions: {
i18n: {
localized: true;
};
};
attributes: {
buttonLink: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
buttonText: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
content: Schema.Attribute.Text &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
header: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
image: Schema.Attribute.Media<'images' | 'files'> &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
locale: Schema.Attribute.String;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-about-us-component.yoga-about-us-component'
>;
name: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
publishedAt: Schema.Attribute.DateTime;
title: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaContactUsYogaContactUs
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_contact_uses';
info: {
displayName: 'YogaContactUs';
pluralName: 'yoga-contact-uses';
singularName: 'yoga-contact-us';
};
options: {
draftAndPublish: true;
};
pluginOptions: {
i18n: {
localized: true;
};
};
attributes: {
buttonText: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
email: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
firstName: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
header: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
lastName: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
locale: Schema.Attribute.String;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-contact-us.yoga-contact-us'
>;
message: Schema.Attribute.Text &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
phone: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
publishedAt: Schema.Attribute.DateTime;
title: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaCustomerFeedbackComponentYogaCustomerFeedbackComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_customer_feedback_components';
info: {
displayName: 'YogaCustomerFeedbackComponent';
pluralName: 'yoga-customer-feedback-components';
singularName: 'yoga-customer-feedback-component';
};
options: {
draftAndPublish: true;
};
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
feedbacks: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-customer-feedback.yoga-customer-feedback'
>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-customer-feedback-component.yoga-customer-feedback-component'
> &
Schema.Attribute.Private;
name: Schema.Attribute.String;
publishedAt: Schema.Attribute.DateTime;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaCustomerFeedbackYogaCustomerFeedback
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_customer_feedbacks';
info: {
displayName: 'YogaCustomerFeedback';
pluralName: 'yoga-customer-feedbacks';
singularName: 'yoga-customer-feedback';
};
options: {
draftAndPublish: true;
};
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
customerDescription: Schema.Attribute.String;
customerImage: Schema.Attribute.Media<
'images' | 'files' | 'videos' | 'audios'
>;
customerName: Schema.Attribute.String;
feedback: Schema.Attribute.Text;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-customer-feedback.yoga-customer-feedback'
> &
Schema.Attribute.Private;
name: Schema.Attribute.String;
publishedAt: Schema.Attribute.DateTime;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaOurServicesComponentYogaOurServicesComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_our_services_components';
info: {
description: '';
displayName: 'YogaOurServicesComponent';
pluralName: 'yoga-our-services-components';
singularName: 'yoga-our-services-component';
};
options: {
draftAndPublish: true;
};
pluginOptions: {
i18n: {
localized: true;
};
};
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
header: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
locale: Schema.Attribute.String;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-our-services-component.yoga-our-services-component'
>;
name: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
publishedAt: Schema.Attribute.DateTime;
services: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-single-service.yoga-single-service'
>;
title: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaPriceComponentYogaPriceComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_price_components';
info: {
description: '';
displayName: 'YogaPriceComponent';
pluralName: 'yoga-price-components';
singularName: 'yoga-price-component';
};
options: {
draftAndPublish: true;
};
pluginOptions: {
i18n: {
localized: true;
};
};
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
header: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
locale: Schema.Attribute.String;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-price-component.yoga-price-component'
>;
prices: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-price.yoga-price'
>;
publishedAt: Schema.Attribute.DateTime;
title: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaPriceYogaPrice extends Struct.CollectionTypeSchema {
collectionName: 'yoga_prices';
info: {
displayName: 'YogaPrice';
pluralName: 'yoga-prices';
singularName: 'yoga-price';
};
options: {
draftAndPublish: true;
};
attributes: {
buttonText: Schema.Attribute.String;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
header: Schema.Attribute.String;
icon: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
image: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-price.yoga-price'
> &
Schema.Attribute.Private;
option1: Schema.Attribute.String;
option2: Schema.Attribute.String;
price: Schema.Attribute.Integer;
publishedAt: Schema.Attribute.DateTime;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaSingleServiceYogaSingleService
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_single_services';
info: {
displayName: 'YogaSingleService';
pluralName: 'yoga-single-services';
singularName: 'yoga-single-service';
};
options: {
draftAndPublish: true;
};
pluginOptions: {
i18n: {
localized: true;
};
};
attributes: {
buttonLink: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
header: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
image: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'> &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
imageAlt: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
locale: Schema.Attribute.String;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-single-service.yoga-single-service'
>;
name: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
publishedAt: Schema.Attribute.DateTime;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaSingleSpecialityYogaSingleSpeciality
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_single_specialities';
info: {
description: '';
displayName: 'YogaSingleSpeciality';
pluralName: 'yoga-single-specialities';
singularName: 'yoga-single-speciality';
};
options: {
draftAndPublish: true;
};
pluginOptions: {
i18n: {
localized: true;
};
};
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
locale: Schema.Attribute.String;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-single-speciality.yoga-single-speciality'
>;
name: Schema.Attribute.String &
Schema.Attribute.Required &
Schema.Attribute.Unique &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
publishedAt: Schema.Attribute.DateTime;
title: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaSpecialitiesComponentYogaSpecialitiesComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_specialities_components';
info: {
description: '';
displayName: 'YogaSpecialitiesComponent';
pluralName: 'yoga-specialities-components';
singularName: 'yoga-specialities-component';
};
options: {
draftAndPublish: true;
};
pluginOptions: {
i18n: {
localized: true;
};
};
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
header: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
left1: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-single-speciality.yoga-single-speciality'
>;
left2: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-single-speciality.yoga-single-speciality'
>;
left3: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-single-speciality.yoga-single-speciality'
>;
left4: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-single-speciality.yoga-single-speciality'
>;
locale: Schema.Attribute.String;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-specialities-component.yoga-specialities-component'
>;
name: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
publishedAt: Schema.Attribute.DateTime;
right1: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-single-speciality.yoga-single-speciality'
>;
right2: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-single-speciality.yoga-single-speciality'
>;
right3: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-single-speciality.yoga-single-speciality'
>;
right4: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-single-speciality.yoga-single-speciality'
>;
title: Schema.Attribute.String &
Schema.Attribute.SetPluginOptions<{
i18n: {
localized: true;
};
}>;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface PluginContentReleasesRelease
extends Struct.CollectionTypeSchema {
collectionName: 'strapi_releases';
@ -1166,11 +1724,20 @@ declare module '@strapi/strapi' {
'api::about.about': ApiAboutAbout;
'api::article.article': ApiArticleArticle;
'api::author.author': ApiAuthorAuthor;
'api::car.car': ApiCarCar;
'api::category.category': ApiCategoryCategory;
'api::global.global': ApiGlobalGlobal;
'api::page.page': ApiPagePage;
'api::person.person': ApiPersonPerson;
'api::yoga-about-us-component.yoga-about-us-component': ApiYogaAboutUsComponentYogaAboutUsComponent;
'api::yoga-contact-us.yoga-contact-us': ApiYogaContactUsYogaContactUs;
'api::yoga-customer-feedback-component.yoga-customer-feedback-component': ApiYogaCustomerFeedbackComponentYogaCustomerFeedbackComponent;
'api::yoga-customer-feedback.yoga-customer-feedback': ApiYogaCustomerFeedbackYogaCustomerFeedback;
'api::yoga-our-services-component.yoga-our-services-component': ApiYogaOurServicesComponentYogaOurServicesComponent;
'api::yoga-price-component.yoga-price-component': ApiYogaPriceComponentYogaPriceComponent;
'api::yoga-price.yoga-price': ApiYogaPriceYogaPrice;
'api::yoga-single-service.yoga-single-service': ApiYogaSingleServiceYogaSingleService;
'api::yoga-single-speciality.yoga-single-speciality': ApiYogaSingleSpecialityYogaSingleSpeciality;
'api::yoga-specialities-component.yoga-specialities-component': ApiYogaSpecialitiesComponentYogaSpecialitiesComponent;
'plugin::content-releases.release': PluginContentReleasesRelease;
'plugin::content-releases.release-action': PluginContentReleasesReleaseAction;
'plugin::i18n.locale': PluginI18NLocale;