home and about page

This commit is contained in:
Schneider Roland 2025-01-26 11:06:15 +01:00
parent 86dda89db9
commit 04c436cb34
76 changed files with 2036 additions and 176 deletions

View File

@ -13,11 +13,11 @@ Accept: application/json
#Authorization: Bearer {{token}} #Authorization: Bearer {{token}}
### GET request with a header ### GET request with a header
GET {{domain}}/api/about?populate[header][fields][0]=header1&populate[header][fields][1]=description&populate[blogs][fields][0]=*&populate[blogs][populate][posts][fields][0]=name&populate[blogs][populate][posts][fields][1]=id&populate[blogs][populate][posts][fields][2]=header&populate[blogs][populate][posts][populate][tags][fields][0]=*&populate[blogs][populate][posts][populate][teaserImage][fields][0]=name&populate[blogs][populate][posts][populate][teaserImage][fields][1]=mime&populate[blogs][populate][posts][populate][teaserImage][fields][2]=url&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[ourServices][populate][services][fields][0]=*&populate[ourServices][populate][services][populate][image][fields][0]=name&populate[ourServices][populate][services][populate][image][fields][1]=mime&populate[ourServices][populate][services][populate][image][fields][2]=url&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]=* GET {{domain}}/api/about?populate[header][fields][0]=header1&populate[header][fields][1]=description&populate[footer][fields][0]=*&populate[footer][populate][links][fields][0]=*&populate[footer][populate][contactUsEmail][fields][0]=*&populate[footer][populate][contactUsLocation][fields][0]=*&populate[footer][populate][contactUsPhoneNumber][fields][0]=*&populate[subscribeNow][fields][0]=*&populate[blogs][fields][0]=*&populate[blogs][populate][button][fields][0]=*&populate[blogs][populate][posts][fields][0]=name&populate[blogs][populate][posts][fields][1]=id&populate[blogs][populate][posts][fields][2]=header&populate[blogs][populate][posts][fields][3]=documentId&populate[blogs][populate][posts][populate][tags][fields][0]=*&populate[blogs][populate][posts][populate][teaserImage][fields][0]=name&populate[blogs][populate][posts][populate][teaserImage][fields][1]=mime&populate[blogs][populate][posts][populate][teaserImage][fields][2]=url&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[ourServices][populate][services][fields][0]=*&populate[ourServices][populate][services][populate][image][fields][0]=name&populate[ourServices][populate][services][populate][image][fields][1]=mime&populate[ourServices][populate][services][populate][image][fields][2]=url&populate[aboutUs1][fields][0]=*&populate[aboutUs1][populate][image][fields][0]=name&populate[aboutUs1][populate][image][fields][1]=mime&populate[aboutUs1][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 Accept: application/json
#Authorization: Bearer {{token}} #Authorization: Bearer {{token}}
x
### GET request with a header ### GET request with a header
GET {{domain}}/api/yoga-blog-posts/wmhqy1n8japcfpy0of4hauwm GET {{domain}}/api/yoga-blog-posts/wmhqy1n8japcfpy0of4hauwm
Accept: application/json Accept: application/json

View File

@ -0,0 +1,86 @@
{
"populate": {
"header": {
"fields": ["header1","description"]
},
"aboutUs": {
"fields": ["*"],
"populate": {
"image": {
"fields": ["name","mime","url"]
}
}
},
"discount": {
"fields": ["*"]
},
"ourMission": {
"fields": ["*"],
"populate": {
"image": {
"fields": ["name","mime","url"]
}
}
},
"ourVision": {
"fields": ["*"],
"populate": {
"image": {
"fields": ["name","mime","url"]
}
}
},
"achievements": {
"fields": ["*"],
"populate": {
"achievements": {
"fields": ["*"],
"populate": {
"image": {
"fields": ["name","mime","url"]
}
}
}
}
},
"blogs": {
"fields": ["*"],
"populate": {
"button": {
"fields": ["*"]
},
"posts": {
"fields": ["name", "id", "header","documentId" ],
"populate": {
"tags": {
"fields": ["*" ]
},
"teaserImage": {
"fields": ["name","mime","url"]
}
}
}
}
},
"subscribeNow": {
"fields": ["*"]
},
"footer": {
"fields": ["*"],
"populate": {
"links": {
"fields": ["*"]
},
"contactUsEmail": {
"fields": ["*"]
},
"contactUsLocation": {
"fields": ["*"]
},
"contactUsPhoneNumber": {
"fields": ["*"]
}
}
}
}
}

View File

@ -1,7 +1,14 @@
{ {
"populate": { "populate": {
"header": { "header": {
"fields": ["header1","description"] "fields": ["*"],
"populate": {
"button": {
"fields": [
"*"
]
}
}
}, },
"footer": { "footer": {
"fields": ["*"], "fields": ["*"],

View File

@ -1,9 +1,10 @@
import {About_Plain} from "@/types/generated-strapi-interfaces/api/about"; import {About_Plain} from "@/types/generated-strapi-interfaces/api/about";
import strapiClient from "@/app/api/strapi/strapi-client"; import strapiClient from "@/api/strapi/strapi-client";
import {StrapiQuery} from "@/app/api/strapi/strapi-query";
import qs from "qs"; import qs from "qs";
import aboutQuery from "@/app/api/strapi/query/about.json"; import aboutQuery from "@/api/strapi/query/about.json";
import homeQuery from "@/api/strapi/query/home.json";
import {YogaBlogPost_Plain} from "@/types/generated-strapi-interfaces/api/yoga-blog-post"; import {YogaBlogPost_Plain} from "@/types/generated-strapi-interfaces/api/yoga-blog-post";
import {Home_Plain} from "@/types/generated-strapi-interfaces/api/home";
class StrapiApi{ class StrapiApi{
@ -25,8 +26,8 @@ class StrapiApi{
return this.getJson("/api/about?",aboutQuery); return this.getJson("/api/about?",aboutQuery);
} }
public getHomePage(){ public getHomePage(): Promise<Home_Plain>{
return this.getJson("/api/home?",aboutQuery); return this.getJson("/api/home?",homeQuery);
} }

View File

@ -1,4 +1,4 @@
import httpClient from "@/app/api/http-client"; import httpClient from "@/api/http-client";
import {Payload} from "@/types/generated-strapi-interfaces/common/Payload"; import {Payload} from "@/types/generated-strapi-interfaces/common/Payload";
const STRAPI_URL = process.env.STRAPI_URL; const STRAPI_URL = process.env.STRAPI_URL;

View File

@ -1,12 +1,13 @@
import {About_Plain} from '@/types/generated-strapi-interfaces/api/about'; import {About_Plain} from '@/types/generated-strapi-interfaces/api/about';
import strapiApi from "@/app/api/strapi/strapi-api"; import strapiApi from "@/api/strapi/strapi-api";
import {Home_Plain} from "@/types/generated-strapi-interfaces/api/home";
class WebApi { class WebApi {
public getHomePage(){ public async getHomePage(): Promise<Home_Plain>{
return strapiApi.getHomePage();
} }
public async getAboutPage(): Promise<About_Plain> { public async getAboutPage(): Promise<About_Plain> {

View File

@ -1,7 +1,6 @@
import React from "react"; import React from "react";
import AosComponent from "@/components/aos.component"; import AosComponent from "@/components/aos.component";
import OurServicesComponent from "@/components/our.services.component"; import OurServicesComponent from "@/components/our.services.component";
import AboutUsComponent from "@/components/about.us.component";
import OurSpecialitiesComponent from "@/components/our.specialities.component"; import OurSpecialitiesComponent from "@/components/our.specialities.component";
import ContactUsComponent from "@/components/contact.us.component"; import ContactUsComponent from "@/components/contact.us.component";
import PricingComponent from "@/components/pricing.component"; import PricingComponent from "@/components/pricing.component";
@ -11,33 +10,44 @@ import FooterComponent from "@/components/footer.component";
import SubscribeComponent from "@/components/subscribe.component"; import SubscribeComponent from "@/components/subscribe.component";
import SubHeaderComponent from "@/components/subHeader.component"; import SubHeaderComponent from "@/components/subHeader.component";
import BootstrapComponent from "@/components/bootstrap.component"; import BootstrapComponent from "@/components/bootstrap.component";
import webApi from "@/app/api/web-client/web-api"; import webApi from "@/api/web-client/web-api";
import AboutUsWithBoxesComponent from "@/components/about.us.with.boxes.component";
import YogaDiscountComponent from "@/components/yogaDiscountComponent";
import TextWithImageComponent from "@/components/text.with.image.component";
import AchievementsComponent from "@/components/achievements.component";
export default async function About() { export default async function About() {
const pageData = await webApi.getAboutPage(); const pageData = await webApi.getAboutPage();
const {header, const {header,
ourServices,
aboutUs, aboutUs,
contactUs, discount,
ourSpecialities, ourMission,
prices, ourVision,
achievements,
blogs, blogs,
subscribeNow, subscribeNow,
footer, footer,
feedbacks
} = pageData; } = pageData;
console.info("about us", JSON.stringify(aboutUs))
return ( return (
<> <>
{ header && <SubHeaderComponent header1={header?.header1} header2={header?.header2} description={header?.description}/> } { header && <SubHeaderComponent header1={header?.header1} header2={header?.header2} description={header?.description}/> }
{ ourServices && <OurServicesComponent title={ourServices?.title!} header={ourServices?.header!} description={ourServices?.description!} /> }
{ aboutUs && <AboutUsComponent data={aboutUs}/>} { aboutUs && <AboutUsWithBoxesComponent config={aboutUs}/>}
{ ourSpecialities && <OurSpecialitiesComponent config={ourSpecialities} /> } { discount && <YogaDiscountComponent config={discount}/>}
{ contactUs && <ContactUsComponent contactUs={contactUs}/>} { ourMission && <TextWithImageComponent config={ourMission} />}
{ prices && <PricingComponent config={prices} /> } { ourVision && <TextWithImageComponent config={ourVision} />}
{ feedbacks && <FeedbackComponent config={feedbacks} /> } { achievements && <AchievementsComponent config={achievements}/>}
{/*{ ourServices && <OurServicesComponent title={ourServices?.title!} header={ourServices?.header!} description={ourServices?.description!} /> }*/}
{/*{ ourSpecialities && <OurSpecialitiesComponent config={ourSpecialities} /> }*/}
{/*{ contactUs && <ContactUsComponent contactUs={contactUs}/>}*/}
{/*{ prices && <PricingComponent config={prices} /> }*/}
{/*{ feedbacks && <FeedbackComponent config={feedbacks} /> }*/}
{ blogs && <BlogPostsComponent config={blogs} />} { blogs && <BlogPostsComponent config={blogs} />}
{ subscribeNow && <SubscribeComponent config={subscribeNow} /> } { subscribeNow && <SubscribeComponent config={subscribeNow} /> }
{ footer && <FooterComponent config={footer} />} { footer && <FooterComponent config={footer} />}

View File

@ -1,4 +1,4 @@
import strapiApi from "@/app/api/strapi/strapi-api"; import strapiApi from "@/api/strapi/strapi-api";
import clsx from "clsx"; import clsx from "clsx";
export default async function BlogComponent({ export default async function BlogComponent({

View File

@ -12,23 +12,40 @@ import SubscribeComponent from "@/components/subscribe.component";
import MainHeaderComponent from "@/components/mainHeaderComponent"; import MainHeaderComponent from "@/components/mainHeaderComponent";
import BootstrapComponent from "@/components/bootstrap.component"; import BootstrapComponent from "@/components/bootstrap.component";
import ITypedComponent from "@/components/ityped.component"; import ITypedComponent from "@/components/ityped.component";
import webApi from "@/api/web-client/web-api";
export default function Home() { export default async function Home() {
const pageData = await webApi.getHomePage();
console.info(JSON.stringify(pageData))
const {
header,
ourServices,
aboutUs,
contactUs,
ourSpecialities,
prices,
blogs,
subscribeNow,
footer,
feedbacks
} = pageData;
return ( return (
<> <>
<MainHeaderComponent/> { header && <MainHeaderComponent config={header}/> }
<OurServicesComponent /> { ourServices && <OurServicesComponent header={ourServices.header!} description={ourServices.description!} title={ourServices.title!}/> }
<AboutUsComponent /> { aboutUs && <AboutUsComponent data={aboutUs} /> }
<OurSpecialitiesComponent /> { ourSpecialities && <OurSpecialitiesComponent config={ourSpecialities} /> }
<ContactUsComponent /> { contactUs && <ContactUsComponent contactUs={contactUs} /> }
<PricingComponent /> { prices && <PricingComponent config={prices}/> }
<FeedbackComponent /> { feedbacks && <FeedbackComponent config={feedbacks} /> }
<BlogPostsComponent /> { blogs && <BlogPostsComponent config={blogs} /> }
<SubscribeComponent /> { subscribeNow && <SubscribeComponent config={subscribeNow} /> }
<FooterComponent /> { footer && <FooterComponent config={footer} /> }
<AosComponent /> <AosComponent />
<BootstrapComponent /> <BootstrapComponent />
<ITypedComponent /> {header?.headerIType && <ITypedComponent text={header.headerIType} /> }
</> </>
); );

View File

@ -1,7 +1,7 @@
import bcrypt from 'bcryptjs'; import bcrypt from 'bcryptjs';
import { invoices, customers, revenue, users } from './placeholder-data'; import { invoices, customers, revenue, users } from './placeholder-data';
import strapiApi from "@/app/api/strapi/strapi-api"; import strapiApi from "@/api/strapi/strapi-api";
// const client = await connectionPool.connect(); // const client = await connectionPool.connect();

View File

@ -4,7 +4,7 @@ import {
YogaAboutUsComponent_Plain YogaAboutUsComponent_Plain
} from "@/types/generated-strapi-interfaces/api/yoga-about-us-component"; } from "@/types/generated-strapi-interfaces/api/yoga-about-us-component";
import {StrapiFile} from "@/types/types"; import {StrapiFile} from "@/types/types";
import strapiApi from "@/app/api/strapi/strapi-api"; import strapiApi from "@/api/strapi/strapi-api";
export interface Props{ export interface Props{
data: YogaAboutUsComponent_Plain data: YogaAboutUsComponent_Plain

View File

@ -0,0 +1,60 @@
import YogaImageComponent from "@/components/yoga.image.component";
import {
YogaAboutUsWithBoxesComponent_Plain
} from "@/types/generated-strapi-interfaces/api/yoga-about-us-with-boxes-component";
export interface Props{
config: YogaAboutUsWithBoxesComponent_Plain
}
export default function AboutUsWithBoxesComponent({ config: {title,header,description,image, box1,box2,box3,box4}}: Props){
return (
<section className="aboutpage_aboutus_section">
<div className="container">
<div className="row">
<div className="col-lg-7 col-md-6 col-sm-12 col-xs-12">
<div className="aboutpage_aboutus_image">
<figure className="mb-0"><YogaImageComponent src="./assets/images/about_page_aboutus_image.png" 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" />
</figure>
<figure className="aboutus_bottom_shape left_shape mb-0">
<YogaImageComponent src="./assets/images/aboutus_bottom_shape.png" alt="" className="img-fluid" />
</figure>
</div>
<div className="col-lg-5 col-md-6 col-sm-12 col-xs-12" data-aos="fade-right">
<div className="aboutpage_aboutus_content">
<h5>{title}</h5>
<h2>{header}</h2>
<p className="margin_bottom">{description}</p>
<div className="box_wrapper">
<div className="box">
<i className="fa-solid fa-check" aria-hidden="true"></i>
<span>{box1}</span>
</div>
<div className="box mr-0">
<i className="fa-solid fa-check" aria-hidden="true"></i>
<span>{box2}</span>
</div>
</div>
<div className="box_wrapper">
<div className="box">
<i className="fa-solid fa-check" aria-hidden="true"></i>
<span>{box3}</span>
</div>
<div className="box mr-0">
<i className="fa-solid fa-check" aria-hidden="true"></i>
<span>{box4}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
)
}

View File

@ -0,0 +1,34 @@
import {YogaAchivementsComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-achivements-component";
import AchievementsItemComponent from "@/components/achievements.item.component";
export interface Props{
config: YogaAchivementsComponent_Plain
}
export default function AchievementsComponent({
config: {
achievements,
title,header,description
}
}: Props){
console.info("achievements",achievements)
return (
<section className="achievement_section">
<div className="container">
<div className="row">
<div className="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div className="achievement_content">
<h5>{title}</h5>
<h2>{header}</h2>
<p>{description}</p>
</div>
</div>
</div>
<div className="row" data-aos="fade-up">
{achievements && achievements.map( achievement => <AchievementsItemComponent key={achievement.id} achievement={achievement} />)}
</div>
</div>
</section>
);
}

View File

@ -0,0 +1,24 @@
import YogaImageComponent from "@/components/yoga.image.component";
import {YogaAchivement_Plain} from "@/types/generated-strapi-interfaces/api/yoga-achivement";
import {StrapiFile} from "@/types/types";
import strapiApi from "@/api/strapi/strapi-api";
export interface Props{
achievement: YogaAchivement_Plain
}
export default function AchievementsItemComponent({achievement
:{ image,title}
}: Props){
const imageFile: StrapiFile = image as StrapiFile;
return (
<div className="col-lg-2 col-md-4 col-sm-6 col-xs-12">
<div className="logo_wrapper">
<figure className="mb-0"><YogaImageComponent src={strapiApi.getImageUrl(imageFile?.url)} alt="" className="img-fluid"/></figure>
</div>
</div>
);
}

View File

@ -5,6 +5,7 @@ import AOS from "aos";
const AosComponent = ( ) => { const AosComponent = ( ) => {
useEffect(() => { useEffect(() => {
AOS.init({ AOS.init({
duration: 1000, duration: 1000,
offset: 120, offset: 120,

View File

@ -20,7 +20,7 @@ const BlogPostsComponent = ( {config: { title,header,description,posts, button}
</div> </div>
</div> </div>
<div className="row" data-aos="fade-up"> <div className="row" data-aos="fade-up">
{teaserPosts.map( value =><BlogSinglePostComponent post={value} /> )} {teaserPosts.map( value =><BlogSinglePostComponent key={value.name} post={value} /> )}
</div> </div>
<div className="btn_wrapper"> <div className="btn_wrapper">
<a href={button?.link} className="text-decoration-none view_blog">{button?.label}</a> <a href={button?.link} className="text-decoration-none view_blog">{button?.label}</a>

View File

@ -2,7 +2,7 @@ import YogaImageComponent from "@/components/yoga.image.component";
import {YogaBlogPostsComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-blog-posts-component"; import {YogaBlogPostsComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-blog-posts-component";
import {YogaBlogPost_Plain} from "@/types/generated-strapi-interfaces/api/yoga-blog-post"; import {YogaBlogPost_Plain} from "@/types/generated-strapi-interfaces/api/yoga-blog-post";
import {StrapiFile} from "@/types/types"; import {StrapiFile} from "@/types/types";
import strapiApi from "@/app/api/strapi/strapi-api"; import strapiApi from "@/api/strapi/strapi-api";
export interface Props { export interface Props {
post: YogaBlogPost_Plain & {documentId?: string} post: YogaBlogPost_Plain & {documentId?: string}

View File

@ -29,7 +29,7 @@ const FeedbackComponent = ({ config: { feedbacks }}: Props) => {
<div id="carouselExampleControls" className="carousel slide" data-ride="carousel"> <div id="carouselExampleControls" className="carousel slide" data-ride="carousel">
<div className="carousel-inner"> <div className="carousel-inner">
{feedbacks && feedbacks.map( (feedback,i) => { {feedbacks && feedbacks.map( (feedback,i) => {
return (<FeedbackItemComponent active={index == i} config={feedback} />) return (<FeedbackItemComponent key={feedback.id} active={index == i} config={feedback} />)
} )} } )}
</div> </div>
<a className="carousel-control-prev" href="#carouselExampleControls" role="button" <a className="carousel-control-prev" href="#carouselExampleControls" role="button"

View File

@ -1,10 +1,7 @@
import YogaImageComponent from "@/components/yoga.image.component"; import YogaImageComponent from "@/components/yoga.image.component";
import {
YogaCustomerFeedbackComponent_Plain
} from "@/types/generated-strapi-interfaces/api/yoga-customer-feedback-component";
import {YogaCustomerFeedback_Plain} from "@/types/generated-strapi-interfaces/api/yoga-customer-feedback"; import {YogaCustomerFeedback_Plain} from "@/types/generated-strapi-interfaces/api/yoga-customer-feedback";
import {StrapiFile} from "@/types/types"; import {StrapiFile} from "@/types/types";
import strapiApi from "@/app/api/strapi/strapi-api"; import strapiApi from "@/api/strapi/strapi-api";
import clsx from "clsx"; import clsx from "clsx";
export interface Props { export interface Props {

View File

@ -52,7 +52,7 @@ const FooterComponent = ({ config: {
<h4>{quickLinksHeader}</h4> <h4>{quickLinksHeader}</h4>
{links && <ul className="list-unstyled"> {links && <ul className="list-unstyled">
{ links.map(link => ( { links.map(link => (
<li> <li key={link.linkHref}>
<Link href={link.linkHref!}>{link.linkLabel}</Link> <Link href={link.linkHref!}>{link.linkLabel}</Link>
</li> </li>
))} ))}

View File

@ -1,17 +1,26 @@
'use client' 'use client'
import { useEffect} from "react"; import {useEffect, useState} from "react";
import { init } from 'ityped' import { init } from 'ityped'
const ITypedComponent = ( ) => {
export interface Props{
text: string;
}
const ITypedComponent = ( {text}: Props ) => {
const [ready, setReady] = useState(true);
useEffect(() => { useEffect(() => {
// if ( ready ){
// return;
// }
init(document.querySelector('.ityped') as Element,{ init(document.querySelector('.ityped') as Element,{
strings: ['Body & Soul'], strings: [text],
typeSpeed: 150, typeSpeed: 150,
backSpeed: 150, backSpeed: 150,
loop: true loop: true
}) })
}, []); setReady(true)
}, [ready]);
return (<></> ); return (<></> );
} }

View File

@ -1,6 +1,18 @@
import YogaImageComponent from "@/components/yoga.image.component"; import YogaImageComponent from "@/components/yoga.image.component";
import {YogaMainHeaderComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-main-header-component";
export interface Props{
config: YogaMainHeaderComponent_Plain
}
const MainHeaderComponent = ({ config: {
title,
header,
headerIType,
description,
button,
image
}}: Props) => {
const MainHeaderComponent = () => {
return ( return (
<div className="banner-section-outer"> <div className="banner-section-outer">
<header> <header>
@ -106,11 +118,11 @@ const MainHeaderComponent = () => {
<div className="row" data-aos="fade-up"> <div className="row" data-aos="fade-up">
<div className="col-lg-6 col-md-6 col-sm-12 col-xs-12 text-md-left text-center"> <div className="col-lg-6 col-md-6 col-sm-12 col-xs-12 text-md-left text-center">
<div className="banner-section-content"> <div className="banner-section-content">
<h5>Start a Happy Life</h5> <h5>{title}</h5>
<h1 data-aos="fade-up">Start Healing Your Mind, <span className="ityped"></span></h1> <h1 data-aos="fade-up">{header} <span className="ityped"></span></h1>
<p data-aos="fade-right">Duis aute irure dolor in reprehenderit in volurate velit cillum nulla pariatur nostrud exercitation.</p> <p data-aos="fade-right">{description}</p>
<div className="btn_wrapper" data-aos="fade-up"> <div className="btn_wrapper" data-aos="fade-up">
<a className="text-decoration-none getstarted_btn" href="/index">Get Started</a> {button && <a className="text-decoration-none getstarted_btn" href={button.link}>{button.label}</a> }
</div> </div>
<a className="top-btn" href="/index#footer_section"> <a className="top-btn" href="/index#footer_section">
<i className="fa-solid fa-arrow-down-long"></i> <i className="fa-solid fa-arrow-down-long"></i>

View File

@ -1,7 +1,7 @@
import {YogaPrice_Plain} from "@/types/generated-strapi-interfaces/api/yoga-price"; import {YogaPrice_Plain} from "@/types/generated-strapi-interfaces/api/yoga-price";
import YogaImageComponent from "@/components/yoga.image.component"; import YogaImageComponent from "@/components/yoga.image.component";
import {StrapiFile} from "@/types/types"; import {StrapiFile} from "@/types/types";
import strapiApi from "@/app/api/strapi/strapi-api"; import strapiApi from "@/api/strapi/strapi-api";
export interface Props{ export interface Props{
config: YogaPrice_Plain config: YogaPrice_Plain

View File

@ -0,0 +1,16 @@
import TextWithRightImage from "@/components/text.with.right.image.component";
import TextWithLeftImage from "@/components/text.with.right.left.component";
import {YogaTextWithImageComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-text-with-image-component";
export interface Props{
config: YogaTextWithImageComponent_Plain
}
export default function TextWithImageComponent({ config}: Props){
const {imagePosition} = config || {};
return (
<>
{ imagePosition == 'Right' && <TextWithRightImage config={config} /> }
{ imagePosition == 'Left' && <TextWithLeftImage config={config} /> }
</>
);
}

View File

@ -0,0 +1,44 @@
import YogaImageComponent from "@/components/yoga.image.component";
import {YogaTextWithImageComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-text-with-image-component";
import {StrapiFile} from "@/types/types";
import strapiApi from "@/api/strapi/strapi-api";
export interface Props{
config: YogaTextWithImageComponent_Plain
}
export default function TextWithRightImage ({config: {
title,header,image,description,button
}}: Props){
const strapiFile = image as StrapiFile;
const imageUrl = strapiApi.getImageUrl(strapiFile.url)
return (
<section className="mission_section">
<div className="container">
<div className="mission_box">
<div className="row">
<div className="col-lg-6 col-md-6 col-sm-12 col-xs-12" data-aos="fade-up">
<div className="mission_content">
<h5>{title}</h5>
<h2>{header}</h2>
<p>{description}</p>
<div className="btn_wrapper">
{button && <a href={button.link} className="text-decoration-none read_more_btn">{button.label}</a>}
</div>
</div>
</div>
<div className="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div className="mission_image">
<figure className="mb-0"><YogaImageComponent src={imageUrl} alt="" className="img-fluid" /></figure>
</div>
</div>
</div>
</div>
<figure className="mission_right_shape right_shape mb-0">
<YogaImageComponent src="./assets/images/our_mission_shape.png" alt="" className="img-fluid" />
</figure>
</div>
</section>
)
}

View File

@ -0,0 +1,47 @@
import YogaImageComponent from "@/components/yoga.image.component";
import {YogaTextWithImageComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-text-with-image-component";
import {StrapiFile} from "@/types/types";
import strapiApi from "@/api/strapi/strapi-api";
export interface Props{
config: YogaTextWithImageComponent_Plain
}
export default function TextWithLeftImage ({config: {
title,header,image,description,button
}}: Props){
const strapiFile = image as StrapiFile;
const imageUrl = strapiApi.getImageUrl(strapiFile.url)
return (
<section className="vision_section">
<div className="container">
<div className="vision_box">
<div className="row">
<div className="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div className="vision_image">
<figure className="mb-0"><YogaImageComponent src={imageUrl} alt="" className="img-fluid" /></figure>
</div>
</div>
<div className="col-lg-6 col-md-6 col-sm-12 col-xs-12" data-aos="fade-up">
<div className="vision_content">
<h5>{title}</h5>
<h2>{header}</h2>
<p>{description}</p>
<div className="btn_wrapper">
{button && <a href={button.link} className="text-decoration-none read_more_btn">{button.label}</a>}
</div>
</div>
</div>
</div>
</div>
<figure className="vision_left_shape left_shape mb-0">
<YogaImageComponent src="./assets/images/our_vision_shape.png" alt="" className="img-fluid" />
</figure>
</div>
</section>
)
}

View File

@ -0,0 +1,27 @@
import {YogaDiscountComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-discount-component";
export interface Props{
config: YogaDiscountComponent_Plain
}
export default function YogaDiscountComponent({config: {
headerPart1,headerDiscount,headerPart2,button,description
}}: Props){
return (
<section className="discount_section">
<div className="container">
<div className="row" data-aos="fade-up">
<div className="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div className="discount_content">
<h2>{headerPart1}<span>{headerDiscount}</span>{headerPart2}</h2>
<p>{description}</p>
{button && <div className="btn_wrapper">
<a href={button.link} className="text-decoration-none get_started">{button.label}</a>
</div>
}
</div>
</div>
</div>
</div>
</section>
);
}

View File

@ -1,25 +1,21 @@
// Interface automatically generated by schemas-to-ts // Interface automatically generated by schemas-to-ts
import { HeaderB } from '../components/yoga-site/HeaderB'; import { HeaderB } from '../components/yoga-site/HeaderB';
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 { YogaBlogPostsComponent } from './yoga-blog-posts-component'; import { YogaBlogPostsComponent } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component'; import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer'; import { YogaFooter } from './yoga-footer';
import { YogaAboutUsWithBoxesComponent } from './yoga-about-us-with-boxes-component';
import { YogaDiscountComponent } from './yoga-discount-component';
import { YogaTextWithImageComponent } from './yoga-text-with-image-component';
import { YogaAchivementsComponent } from './yoga-achivements-component';
import { HeaderB_Plain } from '../components/yoga-site/HeaderB'; import { HeaderB_Plain } from '../components/yoga-site/HeaderB';
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 { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component'; import { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component'; import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer'; import { YogaFooter_Plain } from './yoga-footer';
import { YogaAboutUsWithBoxesComponent_Plain } from './yoga-about-us-with-boxes-component';
import { YogaDiscountComponent_Plain } from './yoga-discount-component';
import { YogaTextWithImageComponent_Plain } from './yoga-text-with-image-component';
import { YogaAchivementsComponent_Plain } from './yoga-achivements-component';
import { HeaderB_NoRelations } from '../components/yoga-site/HeaderB'; import { HeaderB_NoRelations } from '../components/yoga-site/HeaderB';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
@ -27,15 +23,14 @@ export interface About {
id: number; id: number;
attributes: { attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB;
contactUs?: { data: YogaContactUs };
prices?: { data: YogaPriceComponent };
ourSpecialities?: { data: YogaSpecialitiesComponent };
aboutUs?: { data: YogaAboutUsComponent };
feedbacks?: { data: YogaCustomerFeedbackComponent };
ourServices?: { data: YogaOurServicesComponent };
blogs?: { data: YogaBlogPostsComponent }; blogs?: { data: YogaBlogPostsComponent };
subscribeNow?: { data: YogaSubscribeNowComponent }; subscribeNow?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter }; footer?: { data: YogaFooter };
aboutUs?: { data: YogaAboutUsWithBoxesComponent };
discount?: { data: YogaDiscountComponent };
ourMission?: { data: YogaTextWithImageComponent };
ourVision?: { data: YogaTextWithImageComponent };
achievements?: { data: YogaAchivementsComponent };
locale: string; locale: string;
localizations?: { data: About[] }; localizations?: { data: About[] };
}; };
@ -43,15 +38,14 @@ export interface About {
export interface About_Plain { export interface About_Plain {
id: number; id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
contactUs?: YogaContactUs_Plain;
prices?: YogaPriceComponent_Plain;
ourSpecialities?: YogaSpecialitiesComponent_Plain;
aboutUs?: YogaAboutUsComponent_Plain;
feedbacks?: YogaCustomerFeedbackComponent_Plain;
ourServices?: YogaOurServicesComponent_Plain;
blogs?: YogaBlogPostsComponent_Plain; blogs?: YogaBlogPostsComponent_Plain;
subscribeNow?: YogaSubscribeNowComponent_Plain; subscribeNow?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain; footer?: YogaFooter_Plain;
aboutUs?: YogaAboutUsWithBoxesComponent_Plain;
discount?: YogaDiscountComponent_Plain;
ourMission?: YogaTextWithImageComponent_Plain;
ourVision?: YogaTextWithImageComponent_Plain;
achievements?: YogaAchivementsComponent_Plain;
locale: string; locale: string;
localizations?: About_Plain[]; localizations?: About_Plain[];
} }
@ -59,15 +53,14 @@ export interface About_Plain {
export interface About_NoRelations { export interface About_NoRelations {
id: number; id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations;
contactUs?: number;
prices?: number;
ourSpecialities?: number;
aboutUs?: number;
feedbacks?: number;
ourServices?: number;
blogs?: number; blogs?: number;
subscribeNow?: number; subscribeNow?: number;
footer?: number; footer?: number;
aboutUs?: number;
discount?: number;
ourMission?: number;
ourVision?: number;
achievements?: number;
locale: string; locale: string;
localizations?: About[]; localizations?: About[];
} }
@ -75,15 +68,14 @@ export interface About_NoRelations {
export interface About_AdminPanelLifeCycle { export interface About_AdminPanelLifeCycle {
id: number; id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_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>;
blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>; blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>;
subscribeNow?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>; subscribeNow?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>; footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
aboutUs?: AdminPanelRelationPropertyModification<YogaAboutUsWithBoxesComponent_Plain>;
discount?: AdminPanelRelationPropertyModification<YogaDiscountComponent_Plain>;
ourMission?: AdminPanelRelationPropertyModification<YogaTextWithImageComponent_Plain>;
ourVision?: AdminPanelRelationPropertyModification<YogaTextWithImageComponent_Plain>;
achievements?: AdminPanelRelationPropertyModification<YogaAchivementsComponent_Plain>;
locale: string; locale: string;
localizations?: About[]; localizations?: About[];
} }

View File

@ -0,0 +1,88 @@
// Interface automatically generated by schemas-to-ts
import { YogaOurServicesComponent } from './yoga-our-services-component';
import { YogaAboutUsComponent } from './yoga-about-us-component';
import { YogaSpecialitiesComponent } from './yoga-specialities-component';
import { YogaContactUs } from './yoga-contact-us';
import { YogaPriceComponent } from './yoga-price-component';
import { YogaCustomerFeedbackComponent } from './yoga-customer-feedback-component';
import { YogaBlogPostsComponent } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer';
import { YogaMainHeaderComponent } from './yoga-main-header-component';
import { YogaOurServicesComponent_Plain } from './yoga-our-services-component';
import { YogaAboutUsComponent_Plain } from './yoga-about-us-component';
import { YogaSpecialitiesComponent_Plain } from './yoga-specialities-component';
import { YogaContactUs_Plain } from './yoga-contact-us';
import { YogaPriceComponent_Plain } from './yoga-price-component';
import { YogaCustomerFeedbackComponent_Plain } from './yoga-customer-feedback-component';
import { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer';
import { YogaMainHeaderComponent_Plain } from './yoga-main-header-component';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface Home {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; ourServices?: { data: YogaOurServicesComponent };
aboutUs?: { data: YogaAboutUsComponent };
ourSpecialities?: { data: YogaSpecialitiesComponent };
contactUs?: { data: YogaContactUs };
prices?: { data: YogaPriceComponent };
feedbacks?: { data: YogaCustomerFeedbackComponent };
blogs?: { data: YogaBlogPostsComponent };
subscribeNow?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter };
header?: { data: YogaMainHeaderComponent };
locale: string;
localizations?: { data: Home[] };
};
}
export interface Home_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; ourServices?: YogaOurServicesComponent_Plain;
aboutUs?: YogaAboutUsComponent_Plain;
ourSpecialities?: YogaSpecialitiesComponent_Plain;
contactUs?: YogaContactUs_Plain;
prices?: YogaPriceComponent_Plain;
feedbacks?: YogaCustomerFeedbackComponent_Plain;
blogs?: YogaBlogPostsComponent_Plain;
subscribeNow?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain;
header?: YogaMainHeaderComponent_Plain;
locale: string;
localizations?: Home_Plain[];
}
export interface Home_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; ourServices?: number;
aboutUs?: number;
ourSpecialities?: number;
contactUs?: number;
prices?: number;
feedbacks?: number;
blogs?: number;
subscribeNow?: number;
footer?: number;
header?: number;
locale: string;
localizations?: Home[];
}
export interface Home_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; ourServices?: AdminPanelRelationPropertyModification<YogaOurServicesComponent_Plain>;
aboutUs?: AdminPanelRelationPropertyModification<YogaAboutUsComponent_Plain>;
ourSpecialities?: AdminPanelRelationPropertyModification<YogaSpecialitiesComponent_Plain>;
contactUs?: AdminPanelRelationPropertyModification<YogaContactUs_Plain>;
prices?: AdminPanelRelationPropertyModification<YogaPriceComponent_Plain>;
feedbacks?: AdminPanelRelationPropertyModification<YogaCustomerFeedbackComponent_Plain>;
blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>;
subscribeNow?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
header?: AdminPanelRelationPropertyModification<YogaMainHeaderComponent_Plain>;
locale: string;
localizations?: Home[];
}

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 YogaAboutUsWithBoxesComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
title?: string;
description?: string;
box1?: string;
box2?: string;
box3?: string;
box4?: string;
image?: { data: Media };
};
}
export interface YogaAboutUsWithBoxesComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
title?: string;
description?: string;
box1?: string;
box2?: string;
box3?: string;
box4?: string;
image?: Media_Plain;
}
export interface YogaAboutUsWithBoxesComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
title?: string;
description?: string;
box1?: string;
box2?: string;
box3?: string;
box4?: string;
image?: number;
}
export interface YogaAboutUsWithBoxesComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
title?: string;
description?: string;
box1?: string;
box2?: string;
box3?: string;
box4?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
}

View File

@ -0,0 +1,34 @@
// 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 YogaAchivement {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
image?: { data: Media };
name?: string;
};
}
export interface YogaAchivement_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
image?: Media_Plain;
name?: string;
}
export interface YogaAchivement_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
image?: number;
name?: string;
}
export interface YogaAchivement_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
name?: string;
}

View File

@ -0,0 +1,42 @@
// Interface automatically generated by schemas-to-ts
import { YogaAchivement } from './yoga-achivement';
import { YogaAchivement_Plain } from './yoga-achivement';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaAchivementsComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
achievements: { data: YogaAchivement[] };
};
}
export interface YogaAchivementsComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
achievements: YogaAchivement_Plain[];
}
export interface YogaAchivementsComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
achievements: number[];
}
export interface YogaAchivementsComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
achievements: AdminPanelRelationPropertyModification<YogaAchivement_Plain>;
}

View File

@ -0,0 +1,46 @@
// Interface automatically generated by schemas-to-ts
import { Button } from '../components/yoga-site/Button';
import { Button_Plain } from '../components/yoga-site/Button';
import { Button_NoRelations } from '../components/yoga-site/Button';
export interface YogaDiscountComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; headerPart1?: string;
headerDiscount?: string;
headerPart2?: string;
description?: string;
button: Button;
name?: string;
};
}
export interface YogaDiscountComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; headerPart1?: string;
headerDiscount?: string;
headerPart2?: string;
description?: string;
button: Button_Plain;
name?: string;
}
export interface YogaDiscountComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; headerPart1?: string;
headerDiscount?: string;
headerPart2?: string;
description?: string;
button: Button_NoRelations;
name?: string;
}
export interface YogaDiscountComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; headerPart1?: string;
headerDiscount?: string;
headerPart2?: string;
description?: string;
button: Button_Plain;
name?: string;
}

View File

@ -0,0 +1,49 @@
// Interface automatically generated by schemas-to-ts
import { Media } from '../components/shared/Media';
import { Button } from '../components/yoga-site/Button';
import { Media_Plain } from '../components/shared/Media';
import { Button_Plain } from '../components/yoga-site/Button';
import { Button_NoRelations } from '../components/yoga-site/Button';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaMainHeaderComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
headerIType?: string;
description?: string;
image?: { data: Media };
button: Button;
};
}
export interface YogaMainHeaderComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
headerIType?: string;
description?: string;
image?: Media_Plain;
button: Button_Plain;
}
export interface YogaMainHeaderComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
headerIType?: string;
description?: string;
image?: number;
button: Button_NoRelations;
}
export interface YogaMainHeaderComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
headerIType?: string;
description?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
button: Button_Plain;
}

View File

@ -0,0 +1,57 @@
// Interface automatically generated by schemas-to-ts
import { Media } from '../components/shared/Media';
import { Button } from '../components/yoga-site/Button';
import { Media_Plain } from '../components/shared/Media';
import { Button_Plain } from '../components/yoga-site/Button';
import { Button_NoRelations } from '../components/yoga-site/Button';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export enum ImagePosition {
Left = 'Left',
Right = 'Right',}
export interface YogaTextWithImageComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; name: string;
imagePosition?: ImagePosition;
title?: string;
header?: string;
description?: string;
image: { data: Media };
button: Button;
};
}
export interface YogaTextWithImageComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name: string;
imagePosition?: ImagePosition;
title?: string;
header?: string;
description?: string;
image: Media_Plain;
button: Button_Plain;
}
export interface YogaTextWithImageComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name: string;
imagePosition?: ImagePosition;
title?: string;
header?: string;
description?: string;
image: number;
button: Button_NoRelations;
}
export interface YogaTextWithImageComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name: string;
imagePosition?: ImagePosition;
title?: string;
header?: string;
description?: string;
image: AdminPanelRelationPropertyModification<Media_Plain>;
button: Button_Plain;
}

View File

@ -1,25 +1,21 @@
// Interface automatically generated by schemas-to-ts // Interface automatically generated by schemas-to-ts
import { HeaderB } from '../components/yoga-site/HeaderB'; import { HeaderB } from '../components/yoga-site/HeaderB';
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 { YogaBlogPostsComponent } from './yoga-blog-posts-component'; import { YogaBlogPostsComponent } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component'; import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer'; import { YogaFooter } from './yoga-footer';
import { YogaAboutUsWithBoxesComponent } from './yoga-about-us-with-boxes-component';
import { YogaDiscountComponent } from './yoga-discount-component';
import { YogaTextWithImageComponent } from './yoga-text-with-image-component';
import { YogaAchivementsComponent } from './yoga-achivements-component';
import { HeaderB_Plain } from '../components/yoga-site/HeaderB'; import { HeaderB_Plain } from '../components/yoga-site/HeaderB';
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 { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component'; import { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component'; import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer'; import { YogaFooter_Plain } from './yoga-footer';
import { YogaAboutUsWithBoxesComponent_Plain } from './yoga-about-us-with-boxes-component';
import { YogaDiscountComponent_Plain } from './yoga-discount-component';
import { YogaTextWithImageComponent_Plain } from './yoga-text-with-image-component';
import { YogaAchivementsComponent_Plain } from './yoga-achivements-component';
import { HeaderB_NoRelations } from '../components/yoga-site/HeaderB'; import { HeaderB_NoRelations } from '../components/yoga-site/HeaderB';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
@ -27,15 +23,14 @@ export interface About {
id: number; id: number;
attributes: { attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB;
contactUs?: { data: YogaContactUs };
prices?: { data: YogaPriceComponent };
ourSpecialities?: { data: YogaSpecialitiesComponent };
aboutUs?: { data: YogaAboutUsComponent };
feedbacks?: { data: YogaCustomerFeedbackComponent };
ourServices?: { data: YogaOurServicesComponent };
blogs?: { data: YogaBlogPostsComponent }; blogs?: { data: YogaBlogPostsComponent };
subscribeNow?: { data: YogaSubscribeNowComponent }; subscribeNow?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter }; footer?: { data: YogaFooter };
aboutUs?: { data: YogaAboutUsWithBoxesComponent };
discount?: { data: YogaDiscountComponent };
ourMission?: { data: YogaTextWithImageComponent };
ourVision?: { data: YogaTextWithImageComponent };
achievements?: { data: YogaAchivementsComponent };
locale: string; locale: string;
localizations?: { data: About[] }; localizations?: { data: About[] };
}; };
@ -43,15 +38,14 @@ export interface About {
export interface About_Plain { export interface About_Plain {
id: number; id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain;
contactUs?: YogaContactUs_Plain;
prices?: YogaPriceComponent_Plain;
ourSpecialities?: YogaSpecialitiesComponent_Plain;
aboutUs?: YogaAboutUsComponent_Plain;
feedbacks?: YogaCustomerFeedbackComponent_Plain;
ourServices?: YogaOurServicesComponent_Plain;
blogs?: YogaBlogPostsComponent_Plain; blogs?: YogaBlogPostsComponent_Plain;
subscribeNow?: YogaSubscribeNowComponent_Plain; subscribeNow?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain; footer?: YogaFooter_Plain;
aboutUs?: YogaAboutUsWithBoxesComponent_Plain;
discount?: YogaDiscountComponent_Plain;
ourMission?: YogaTextWithImageComponent_Plain;
ourVision?: YogaTextWithImageComponent_Plain;
achievements?: YogaAchivementsComponent_Plain;
locale: string; locale: string;
localizations?: About_Plain[]; localizations?: About_Plain[];
} }
@ -59,15 +53,14 @@ export interface About_Plain {
export interface About_NoRelations { export interface About_NoRelations {
id: number; id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations;
contactUs?: number;
prices?: number;
ourSpecialities?: number;
aboutUs?: number;
feedbacks?: number;
ourServices?: number;
blogs?: number; blogs?: number;
subscribeNow?: number; subscribeNow?: number;
footer?: number; footer?: number;
aboutUs?: number;
discount?: number;
ourMission?: number;
ourVision?: number;
achievements?: number;
locale: string; locale: string;
localizations?: About[]; localizations?: About[];
} }
@ -75,15 +68,14 @@ export interface About_NoRelations {
export interface About_AdminPanelLifeCycle { export interface About_AdminPanelLifeCycle {
id: number; id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_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>;
blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>; blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>;
subscribeNow?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>; subscribeNow?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>; footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
aboutUs?: AdminPanelRelationPropertyModification<YogaAboutUsWithBoxesComponent_Plain>;
discount?: AdminPanelRelationPropertyModification<YogaDiscountComponent_Plain>;
ourMission?: AdminPanelRelationPropertyModification<YogaTextWithImageComponent_Plain>;
ourVision?: AdminPanelRelationPropertyModification<YogaTextWithImageComponent_Plain>;
achievements?: AdminPanelRelationPropertyModification<YogaAchivementsComponent_Plain>;
locale: string; locale: string;
localizations?: About[]; localizations?: About[];
} }

View File

@ -0,0 +1,88 @@
// Interface automatically generated by schemas-to-ts
import { YogaOurServicesComponent } from './yoga-our-services-component';
import { YogaAboutUsComponent } from './yoga-about-us-component';
import { YogaSpecialitiesComponent } from './yoga-specialities-component';
import { YogaContactUs } from './yoga-contact-us';
import { YogaPriceComponent } from './yoga-price-component';
import { YogaCustomerFeedbackComponent } from './yoga-customer-feedback-component';
import { YogaBlogPostsComponent } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer';
import { YogaMainHeaderComponent } from './yoga-main-header-component';
import { YogaOurServicesComponent_Plain } from './yoga-our-services-component';
import { YogaAboutUsComponent_Plain } from './yoga-about-us-component';
import { YogaSpecialitiesComponent_Plain } from './yoga-specialities-component';
import { YogaContactUs_Plain } from './yoga-contact-us';
import { YogaPriceComponent_Plain } from './yoga-price-component';
import { YogaCustomerFeedbackComponent_Plain } from './yoga-customer-feedback-component';
import { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer';
import { YogaMainHeaderComponent_Plain } from './yoga-main-header-component';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface Home {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; ourServices?: { data: YogaOurServicesComponent };
aboutUs?: { data: YogaAboutUsComponent };
ourSpecialities?: { data: YogaSpecialitiesComponent };
contactUs?: { data: YogaContactUs };
prices?: { data: YogaPriceComponent };
feedbacks?: { data: YogaCustomerFeedbackComponent };
blogs?: { data: YogaBlogPostsComponent };
subscribeNow?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter };
header?: { data: YogaMainHeaderComponent };
locale: string;
localizations?: { data: Home[] };
};
}
export interface Home_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; ourServices?: YogaOurServicesComponent_Plain;
aboutUs?: YogaAboutUsComponent_Plain;
ourSpecialities?: YogaSpecialitiesComponent_Plain;
contactUs?: YogaContactUs_Plain;
prices?: YogaPriceComponent_Plain;
feedbacks?: YogaCustomerFeedbackComponent_Plain;
blogs?: YogaBlogPostsComponent_Plain;
subscribeNow?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain;
header?: YogaMainHeaderComponent_Plain;
locale: string;
localizations?: Home_Plain[];
}
export interface Home_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; ourServices?: number;
aboutUs?: number;
ourSpecialities?: number;
contactUs?: number;
prices?: number;
feedbacks?: number;
blogs?: number;
subscribeNow?: number;
footer?: number;
header?: number;
locale: string;
localizations?: Home[];
}
export interface Home_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; ourServices?: AdminPanelRelationPropertyModification<YogaOurServicesComponent_Plain>;
aboutUs?: AdminPanelRelationPropertyModification<YogaAboutUsComponent_Plain>;
ourSpecialities?: AdminPanelRelationPropertyModification<YogaSpecialitiesComponent_Plain>;
contactUs?: AdminPanelRelationPropertyModification<YogaContactUs_Plain>;
prices?: AdminPanelRelationPropertyModification<YogaPriceComponent_Plain>;
feedbacks?: AdminPanelRelationPropertyModification<YogaCustomerFeedbackComponent_Plain>;
blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>;
subscribeNow?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
header?: AdminPanelRelationPropertyModification<YogaMainHeaderComponent_Plain>;
locale: string;
localizations?: Home[];
}

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 YogaAboutUsWithBoxesComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
title?: string;
description?: string;
box1?: string;
box2?: string;
box3?: string;
box4?: string;
image?: { data: Media };
};
}
export interface YogaAboutUsWithBoxesComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
title?: string;
description?: string;
box1?: string;
box2?: string;
box3?: string;
box4?: string;
image?: Media_Plain;
}
export interface YogaAboutUsWithBoxesComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
title?: string;
description?: string;
box1?: string;
box2?: string;
box3?: string;
box4?: string;
image?: number;
}
export interface YogaAboutUsWithBoxesComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
title?: string;
description?: string;
box1?: string;
box2?: string;
box3?: string;
box4?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
}

View File

@ -0,0 +1,34 @@
// 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 YogaAchivement {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
image?: { data: Media };
name?: string;
};
}
export interface YogaAchivement_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
image?: Media_Plain;
name?: string;
}
export interface YogaAchivement_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
image?: number;
name?: string;
}
export interface YogaAchivement_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
name?: string;
}

View File

@ -0,0 +1,42 @@
// Interface automatically generated by schemas-to-ts
import { YogaAchivement } from './yoga-achivement';
import { YogaAchivement_Plain } from './yoga-achivement';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaAchivementsComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
achievements: { data: YogaAchivement[] };
};
}
export interface YogaAchivementsComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
achievements: YogaAchivement_Plain[];
}
export interface YogaAchivementsComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
achievements: number[];
}
export interface YogaAchivementsComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
name?: string;
achievements: AdminPanelRelationPropertyModification<YogaAchivement_Plain>;
}

View File

@ -0,0 +1,46 @@
// Interface automatically generated by schemas-to-ts
import { Button } from '../components/yoga-site/Button';
import { Button_Plain } from '../components/yoga-site/Button';
import { Button_NoRelations } from '../components/yoga-site/Button';
export interface YogaDiscountComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; headerPart1?: string;
headerDiscount?: string;
headerPart2?: string;
description?: string;
button: Button;
name?: string;
};
}
export interface YogaDiscountComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; headerPart1?: string;
headerDiscount?: string;
headerPart2?: string;
description?: string;
button: Button_Plain;
name?: string;
}
export interface YogaDiscountComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; headerPart1?: string;
headerDiscount?: string;
headerPart2?: string;
description?: string;
button: Button_NoRelations;
name?: string;
}
export interface YogaDiscountComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; headerPart1?: string;
headerDiscount?: string;
headerPart2?: string;
description?: string;
button: Button_Plain;
name?: string;
}

View File

@ -0,0 +1,49 @@
// Interface automatically generated by schemas-to-ts
import { Media } from '../components/shared/Media';
import { Button } from '../components/yoga-site/Button';
import { Media_Plain } from '../components/shared/Media';
import { Button_Plain } from '../components/yoga-site/Button';
import { Button_NoRelations } from '../components/yoga-site/Button';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaMainHeaderComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
headerIType?: string;
description?: string;
image?: { data: Media };
button: Button;
};
}
export interface YogaMainHeaderComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
headerIType?: string;
description?: string;
image?: Media_Plain;
button: Button_Plain;
}
export interface YogaMainHeaderComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
headerIType?: string;
description?: string;
image?: number;
button: Button_NoRelations;
}
export interface YogaMainHeaderComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
headerIType?: string;
description?: string;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
button: Button_Plain;
}

View File

@ -0,0 +1,57 @@
// Interface automatically generated by schemas-to-ts
import { Media } from '../components/shared/Media';
import { Button } from '../components/yoga-site/Button';
import { Media_Plain } from '../components/shared/Media';
import { Button_Plain } from '../components/yoga-site/Button';
import { Button_NoRelations } from '../components/yoga-site/Button';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export enum ImagePosition {
Left = 'Left',
Right = 'Right',}
export interface YogaTextWithImageComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; name: string;
imagePosition?: ImagePosition;
title?: string;
header?: string;
description?: string;
image: { data: Media };
button: Button;
};
}
export interface YogaTextWithImageComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name: string;
imagePosition?: ImagePosition;
title?: string;
header?: string;
description?: string;
image: Media_Plain;
button: Button_Plain;
}
export interface YogaTextWithImageComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name: string;
imagePosition?: ImagePosition;
title?: string;
header?: string;
description?: string;
image: number;
button: Button_NoRelations;
}
export interface YogaTextWithImageComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name: string;
imagePosition?: ImagePosition;
title?: string;
header?: string;
description?: string;
image: AdminPanelRelationPropertyModification<Media_Plain>;
button: Button_Plain;
}

View File

@ -26,36 +26,6 @@
} }
} }
}, },
"contactUs": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-contact-us.yoga-contact-us"
},
"prices": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-price-component.yoga-price-component"
},
"ourSpecialities": {
"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"
},
"blogs": { "blogs": {
"type": "relation", "type": "relation",
"relation": "oneToOne", "relation": "oneToOne",
@ -70,6 +40,31 @@
"type": "relation", "type": "relation",
"relation": "oneToOne", "relation": "oneToOne",
"target": "api::yoga-footer.yoga-footer" "target": "api::yoga-footer.yoga-footer"
},
"aboutUs": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-about-us-with-boxes-component.yoga-about-us-with-boxes-component"
},
"discount": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-discount-component.yoga-discount-component"
},
"ourMission": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-text-with-image-component.yoga-text-with-image-component"
},
"ourVision": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-text-with-image-component.yoga-text-with-image-component"
},
"achievements": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-achivements-component.yoga-achivements-component"
} }
} }
} }

View File

@ -0,0 +1,70 @@
{
"kind": "singleType",
"collectionName": "homes",
"info": {
"singularName": "home",
"pluralName": "homes",
"displayName": "Home",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {
"i18n": {
"localized": true
}
},
"attributes": {
"ourServices": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-our-services-component.yoga-our-services-component"
},
"aboutUs": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-about-us-component.yoga-about-us-component"
},
"ourSpecialities": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-specialities-component.yoga-specialities-component"
},
"contactUs": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-contact-us.yoga-contact-us"
},
"prices": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-price-component.yoga-price-component"
},
"feedbacks": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-customer-feedback-component.yoga-customer-feedback-component"
},
"blogs": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-blog-posts-component.yoga-blog-posts-component"
},
"subscribeNow": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-subscribe-now-component.yoga-subscribe-now-component"
},
"footer": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-footer.yoga-footer"
},
"header": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-main-header-component.yoga-main-header-component"
}
}
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,47 @@
{
"kind": "collectionType",
"collectionName": "yoga_about_us_with_boxes_components",
"info": {
"singularName": "yoga-about-us-with-boxes-component",
"pluralName": "yoga-about-us-with-boxes-components",
"displayName": "YogaAboutUsWithBoxesComponent",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"header": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "text"
},
"box1": {
"type": "string"
},
"box2": {
"type": "string"
},
"box3": {
"type": "string"
},
"box4": {
"type": "string"
},
"image": {
"allowedTypes": [
"images",
"files",
"videos",
"audios"
],
"type": "media",
"multiple": false
}
}
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,33 @@
{
"kind": "collectionType",
"collectionName": "yoga_achivements",
"info": {
"singularName": "yoga-achivement",
"pluralName": "yoga-achivements",
"displayName": "YogaAchievements",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"title": {
"type": "string"
},
"image": {
"type": "media",
"multiple": false,
"required": false,
"allowedTypes": [
"images",
"files",
"videos",
"audios"
]
},
"name": {
"type": "string"
}
}
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,33 @@
{
"kind": "collectionType",
"collectionName": "yoga_achivements_components",
"info": {
"singularName": "yoga-achivements-component",
"pluralName": "yoga-achivements-components",
"displayName": "YogaAchievementsComponent",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"title": {
"type": "string"
},
"header": {
"type": "string"
},
"description": {
"type": "text"
},
"name": {
"type": "string"
},
"achievements": {
"type": "relation",
"relation": "oneToMany",
"target": "api::yoga-achivement.yoga-achivement"
}
}
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,37 @@
{
"kind": "collectionType",
"collectionName": "yoga_discount_components",
"info": {
"singularName": "yoga-discount-component",
"pluralName": "yoga-discount-components",
"displayName": "YogaDiscountComponent",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"headerPart1": {
"type": "string"
},
"headerDiscount": {
"type": "string"
},
"headerPart2": {
"type": "string"
},
"description": {
"type": "richtext"
},
"button": {
"type": "component",
"repeatable": false,
"component": "yoga-site.button",
"required": true
},
"name": {
"type": "string"
}
}
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,43 @@
{
"kind": "collectionType",
"collectionName": "yoga_main_header_components",
"info": {
"singularName": "yoga-main-header-component",
"pluralName": "yoga-main-header-components",
"displayName": "YogaMainHeaderComponent"
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"title": {
"type": "string"
},
"header": {
"type": "string"
},
"headerIType": {
"type": "string"
},
"description": {
"type": "text"
},
"image": {
"allowedTypes": [
"images",
"files",
"videos",
"audios"
],
"type": "media",
"multiple": false
},
"button": {
"type": "component",
"repeatable": false,
"component": "yoga-site.button",
"required": true
}
}
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,51 @@
{
"kind": "collectionType",
"collectionName": "yoga_text_with_image_components",
"info": {
"singularName": "yoga-text-with-image-component",
"pluralName": "yoga-text-with-image-components",
"displayName": "YogaTextWithImageComponent",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"name": {
"type": "string",
"required": true
},
"imagePosition": {
"type": "enumeration",
"enum": [
"Left",
"Right"
]
},
"title": {
"type": "string"
},
"header": {
"type": "string"
},
"description": {
"type": "text"
},
"image": {
"type": "media",
"multiple": false,
"required": true,
"allowedTypes": [
"images",
"files"
]
},
"button": {
"type": "component",
"repeatable": false,
"component": "yoga-site.button",
"required": true
}
}
}

View File

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

View File

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

View File

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

View File

@ -388,22 +388,22 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema {
attributes: { attributes: {
aboutUs: Schema.Attribute.Relation< aboutUs: Schema.Attribute.Relation<
'oneToOne', 'oneToOne',
'api::yoga-about-us-component.yoga-about-us-component' 'api::yoga-about-us-with-boxes-component.yoga-about-us-with-boxes-component'
>;
achievements: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-achivements-component.yoga-achivements-component'
>; >;
blogs: Schema.Attribute.Relation< blogs: Schema.Attribute.Relation<
'oneToOne', 'oneToOne',
'api::yoga-blog-posts-component.yoga-blog-posts-component' 'api::yoga-blog-posts-component.yoga-blog-posts-component'
>; >;
contactUs: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-contact-us.yoga-contact-us'
>;
createdAt: Schema.Attribute.DateTime; createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private; Schema.Attribute.Private;
feedbacks: Schema.Attribute.Relation< discount: Schema.Attribute.Relation<
'oneToOne', 'oneToOne',
'api::yoga-customer-feedback-component.yoga-customer-feedback-component' 'api::yoga-discount-component.yoga-discount-component'
>; >;
footer: Schema.Attribute.Relation< footer: Schema.Attribute.Relation<
'oneToOne', 'oneToOne',
@ -417,17 +417,13 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema {
}>; }>;
locale: Schema.Attribute.String; locale: Schema.Attribute.String;
localizations: Schema.Attribute.Relation<'oneToMany', 'api::about.about'>; localizations: Schema.Attribute.Relation<'oneToMany', 'api::about.about'>;
ourServices: Schema.Attribute.Relation< ourMission: Schema.Attribute.Relation<
'oneToOne', 'oneToOne',
'api::yoga-our-services-component.yoga-our-services-component' 'api::yoga-text-with-image-component.yoga-text-with-image-component'
>; >;
ourSpecialities: Schema.Attribute.Relation< ourVision: Schema.Attribute.Relation<
'oneToOne', 'oneToOne',
'api::yoga-specialities-component.yoga-specialities-component' 'api::yoga-text-with-image-component.yoga-text-with-image-component'
>;
prices: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-price-component.yoga-price-component'
>; >;
publishedAt: Schema.Attribute.DateTime; publishedAt: Schema.Attribute.DateTime;
subscribeNow: Schema.Attribute.Relation< subscribeNow: Schema.Attribute.Relation<
@ -576,6 +572,75 @@ export interface ApiGlobalGlobal extends Struct.SingleTypeSchema {
}; };
} }
export interface ApiHomeHome extends Struct.SingleTypeSchema {
collectionName: 'homes';
info: {
description: '';
displayName: 'Home';
pluralName: 'homes';
singularName: 'home';
};
options: {
draftAndPublish: true;
};
pluginOptions: {
i18n: {
localized: true;
};
};
attributes: {
aboutUs: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-about-us-component.yoga-about-us-component'
>;
blogs: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-blog-posts-component.yoga-blog-posts-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'
>;
footer: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-footer.yoga-footer'
>;
header: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-main-header-component.yoga-main-header-component'
>;
locale: Schema.Attribute.String;
localizations: Schema.Attribute.Relation<'oneToMany', 'api::home.home'>;
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;
subscribeNow: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-subscribe-now-component.yoga-subscribe-now-component'
>;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiPagePage extends Struct.CollectionTypeSchema { export interface ApiPagePage extends Struct.CollectionTypeSchema {
collectionName: 'pages'; collectionName: 'pages';
info: { info: {
@ -716,6 +781,112 @@ export interface ApiYogaAboutUsComponentYogaAboutUsComponent
}; };
} }
export interface ApiYogaAboutUsWithBoxesComponentYogaAboutUsWithBoxesComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_about_us_with_boxes_components';
info: {
description: '';
displayName: 'YogaAboutUsWithBoxesComponent';
pluralName: 'yoga-about-us-with-boxes-components';
singularName: 'yoga-about-us-with-boxes-component';
};
options: {
draftAndPublish: true;
};
attributes: {
box1: Schema.Attribute.String;
box2: Schema.Attribute.String;
box3: Schema.Attribute.String;
box4: Schema.Attribute.String;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text;
header: Schema.Attribute.String;
image: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-about-us-with-boxes-component.yoga-about-us-with-boxes-component'
> &
Schema.Attribute.Private;
publishedAt: Schema.Attribute.DateTime;
title: Schema.Attribute.String;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaAchivementYogaAchivement
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_achivements';
info: {
description: '';
displayName: 'YogaAchievements';
pluralName: 'yoga-achivements';
singularName: 'yoga-achivement';
};
options: {
draftAndPublish: true;
};
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
image: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-achivement.yoga-achivement'
> &
Schema.Attribute.Private;
name: Schema.Attribute.String;
publishedAt: Schema.Attribute.DateTime;
title: Schema.Attribute.String;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaAchivementsComponentYogaAchivementsComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_achivements_components';
info: {
description: '';
displayName: 'YogaAchievementsComponent';
pluralName: 'yoga-achivements-components';
singularName: 'yoga-achivements-component';
};
options: {
draftAndPublish: true;
};
attributes: {
achievements: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-achivement.yoga-achivement'
>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text;
header: Schema.Attribute.String;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-achivements-component.yoga-achivements-component'
> &
Schema.Attribute.Private;
name: Schema.Attribute.String;
publishedAt: Schema.Attribute.DateTime;
title: Schema.Attribute.String;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaBlogPostYogaBlogPost export interface ApiYogaBlogPostYogaBlogPost
extends Struct.CollectionTypeSchema { extends Struct.CollectionTypeSchema {
collectionName: 'yoga_blog_posts'; collectionName: 'yoga_blog_posts';
@ -938,6 +1109,42 @@ export interface ApiYogaCustomerFeedbackYogaCustomerFeedback
}; };
} }
export interface ApiYogaDiscountComponentYogaDiscountComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_discount_components';
info: {
description: '';
displayName: 'YogaDiscountComponent';
pluralName: 'yoga-discount-components';
singularName: 'yoga-discount-component';
};
options: {
draftAndPublish: true;
};
attributes: {
button: Schema.Attribute.Component<'yoga-site.button', false> &
Schema.Attribute.Required;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.RichText;
headerDiscount: Schema.Attribute.String;
headerPart1: Schema.Attribute.String;
headerPart2: Schema.Attribute.String;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-discount-component.yoga-discount-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 ApiYogaFooterYogaFooter extends Struct.CollectionTypeSchema { export interface ApiYogaFooterYogaFooter extends Struct.CollectionTypeSchema {
collectionName: 'yoga_footers'; collectionName: 'yoga_footers';
info: { info: {
@ -976,6 +1183,41 @@ export interface ApiYogaFooterYogaFooter extends Struct.CollectionTypeSchema {
}; };
} }
export interface ApiYogaMainHeaderComponentYogaMainHeaderComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_main_header_components';
info: {
displayName: 'YogaMainHeaderComponent';
pluralName: 'yoga-main-header-components';
singularName: 'yoga-main-header-component';
};
options: {
draftAndPublish: true;
};
attributes: {
button: Schema.Attribute.Component<'yoga-site.button', false> &
Schema.Attribute.Required;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text;
header: Schema.Attribute.String;
headerIType: Schema.Attribute.String;
image: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-main-header-component.yoga-main-header-component'
> &
Schema.Attribute.Private;
publishedAt: Schema.Attribute.DateTime;
title: Schema.Attribute.String;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaOurServicesComponentYogaOurServicesComponent export interface ApiYogaOurServicesComponentYogaOurServicesComponent
extends Struct.CollectionTypeSchema { extends Struct.CollectionTypeSchema {
collectionName: 'yoga_our_services_components'; collectionName: 'yoga_our_services_components';
@ -1396,6 +1638,44 @@ export interface ApiYogaTagYogaTag extends Struct.CollectionTypeSchema {
}; };
} }
export interface ApiYogaTextWithImageComponentYogaTextWithImageComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_text_with_image_components';
info: {
description: '';
displayName: 'YogaTextWithImageComponent';
pluralName: 'yoga-text-with-image-components';
singularName: 'yoga-text-with-image-component';
};
options: {
draftAndPublish: true;
};
attributes: {
button: Schema.Attribute.Component<'yoga-site.button', false> &
Schema.Attribute.Required;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text;
header: Schema.Attribute.String;
image: Schema.Attribute.Media<'images' | 'files'> &
Schema.Attribute.Required;
imagePosition: Schema.Attribute.Enumeration<['Left', 'Right']>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-text-with-image-component.yoga-text-with-image-component'
> &
Schema.Attribute.Private;
name: Schema.Attribute.String & Schema.Attribute.Required;
publishedAt: Schema.Attribute.DateTime;
title: Schema.Attribute.String;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface PluginContentReleasesRelease export interface PluginContentReleasesRelease
extends Struct.CollectionTypeSchema { extends Struct.CollectionTypeSchema {
collectionName: 'strapi_releases'; collectionName: 'strapi_releases';
@ -1910,15 +2190,21 @@ declare module '@strapi/strapi' {
'api::author.author': ApiAuthorAuthor; 'api::author.author': ApiAuthorAuthor;
'api::category.category': ApiCategoryCategory; 'api::category.category': ApiCategoryCategory;
'api::global.global': ApiGlobalGlobal; 'api::global.global': ApiGlobalGlobal;
'api::home.home': ApiHomeHome;
'api::page.page': ApiPagePage; 'api::page.page': ApiPagePage;
'api::person.person': ApiPersonPerson; 'api::person.person': ApiPersonPerson;
'api::yoga-about-us-component.yoga-about-us-component': ApiYogaAboutUsComponentYogaAboutUsComponent; 'api::yoga-about-us-component.yoga-about-us-component': ApiYogaAboutUsComponentYogaAboutUsComponent;
'api::yoga-about-us-with-boxes-component.yoga-about-us-with-boxes-component': ApiYogaAboutUsWithBoxesComponentYogaAboutUsWithBoxesComponent;
'api::yoga-achivement.yoga-achivement': ApiYogaAchivementYogaAchivement;
'api::yoga-achivements-component.yoga-achivements-component': ApiYogaAchivementsComponentYogaAchivementsComponent;
'api::yoga-blog-post.yoga-blog-post': ApiYogaBlogPostYogaBlogPost; 'api::yoga-blog-post.yoga-blog-post': ApiYogaBlogPostYogaBlogPost;
'api::yoga-blog-posts-component.yoga-blog-posts-component': ApiYogaBlogPostsComponentYogaBlogPostsComponent; 'api::yoga-blog-posts-component.yoga-blog-posts-component': ApiYogaBlogPostsComponentYogaBlogPostsComponent;
'api::yoga-contact-us.yoga-contact-us': ApiYogaContactUsYogaContactUs; 'api::yoga-contact-us.yoga-contact-us': ApiYogaContactUsYogaContactUs;
'api::yoga-customer-feedback-component.yoga-customer-feedback-component': ApiYogaCustomerFeedbackComponentYogaCustomerFeedbackComponent; 'api::yoga-customer-feedback-component.yoga-customer-feedback-component': ApiYogaCustomerFeedbackComponentYogaCustomerFeedbackComponent;
'api::yoga-customer-feedback.yoga-customer-feedback': ApiYogaCustomerFeedbackYogaCustomerFeedback; 'api::yoga-customer-feedback.yoga-customer-feedback': ApiYogaCustomerFeedbackYogaCustomerFeedback;
'api::yoga-discount-component.yoga-discount-component': ApiYogaDiscountComponentYogaDiscountComponent;
'api::yoga-footer.yoga-footer': ApiYogaFooterYogaFooter; 'api::yoga-footer.yoga-footer': ApiYogaFooterYogaFooter;
'api::yoga-main-header-component.yoga-main-header-component': ApiYogaMainHeaderComponentYogaMainHeaderComponent;
'api::yoga-our-services-component.yoga-our-services-component': ApiYogaOurServicesComponentYogaOurServicesComponent; 'api::yoga-our-services-component.yoga-our-services-component': ApiYogaOurServicesComponentYogaOurServicesComponent;
'api::yoga-price-component.yoga-price-component': ApiYogaPriceComponentYogaPriceComponent; 'api::yoga-price-component.yoga-price-component': ApiYogaPriceComponentYogaPriceComponent;
'api::yoga-price.yoga-price': ApiYogaPriceYogaPrice; 'api::yoga-price.yoga-price': ApiYogaPriceYogaPrice;
@ -1927,6 +2213,7 @@ declare module '@strapi/strapi' {
'api::yoga-specialities-component.yoga-specialities-component': ApiYogaSpecialitiesComponentYogaSpecialitiesComponent; 'api::yoga-specialities-component.yoga-specialities-component': ApiYogaSpecialitiesComponentYogaSpecialitiesComponent;
'api::yoga-subscribe-now-component.yoga-subscribe-now-component': ApiYogaSubscribeNowComponentYogaSubscribeNowComponent; 'api::yoga-subscribe-now-component.yoga-subscribe-now-component': ApiYogaSubscribeNowComponentYogaSubscribeNowComponent;
'api::yoga-tag.yoga-tag': ApiYogaTagYogaTag; 'api::yoga-tag.yoga-tag': ApiYogaTagYogaTag;
'api::yoga-text-with-image-component.yoga-text-with-image-component': ApiYogaTextWithImageComponentYogaTextWithImageComponent;
'plugin::content-releases.release': PluginContentReleasesRelease; 'plugin::content-releases.release': PluginContentReleasesRelease;
'plugin::content-releases.release-action': PluginContentReleasesReleaseAction; 'plugin::content-releases.release-action': PluginContentReleasesReleaseAction;
'plugin::i18n.locale': PluginI18NLocale; 'plugin::i18n.locale': PluginI18NLocale;