home and about page
This commit is contained in:
86
yoga-app/src/api/strapi/query/about.json
Normal file
86
yoga-app/src/api/strapi/query/about.json
Normal 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": ["*"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"populate": {
|
||||
"header": {
|
||||
"fields": ["header1","description"]
|
||||
"fields": ["*"],
|
||||
"populate": {
|
||||
"button": {
|
||||
"fields": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"fields": ["*"],
|
||||
@@ -1,9 +1,10 @@
|
||||
import {About_Plain} from "@/types/generated-strapi-interfaces/api/about";
|
||||
import strapiClient from "@/app/api/strapi/strapi-client";
|
||||
import {StrapiQuery} from "@/app/api/strapi/strapi-query";
|
||||
import strapiClient from "@/api/strapi/strapi-client";
|
||||
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 {Home_Plain} from "@/types/generated-strapi-interfaces/api/home";
|
||||
|
||||
|
||||
class StrapiApi{
|
||||
@@ -25,8 +26,8 @@ class StrapiApi{
|
||||
return this.getJson("/api/about?",aboutQuery);
|
||||
}
|
||||
|
||||
public getHomePage(){
|
||||
return this.getJson("/api/home?",aboutQuery);
|
||||
public getHomePage(): Promise<Home_Plain>{
|
||||
return this.getJson("/api/home?",homeQuery);
|
||||
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
const STRAPI_URL = process.env.STRAPI_URL;
|
||||
@@ -1,12 +1,13 @@
|
||||
|
||||
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 {
|
||||
|
||||
public getHomePage(){
|
||||
|
||||
public async getHomePage(): Promise<Home_Plain>{
|
||||
return strapiApi.getHomePage();
|
||||
}
|
||||
|
||||
public async getAboutPage(): Promise<About_Plain> {
|
||||
@@ -1,7 +1,6 @@
|
||||
import React from "react";
|
||||
import AosComponent from "@/components/aos.component";
|
||||
import OurServicesComponent from "@/components/our.services.component";
|
||||
import AboutUsComponent from "@/components/about.us.component";
|
||||
import OurSpecialitiesComponent from "@/components/our.specialities.component";
|
||||
import ContactUsComponent from "@/components/contact.us.component";
|
||||
import PricingComponent from "@/components/pricing.component";
|
||||
@@ -11,35 +10,46 @@ import FooterComponent from "@/components/footer.component";
|
||||
import SubscribeComponent from "@/components/subscribe.component";
|
||||
import SubHeaderComponent from "@/components/subHeader.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() {
|
||||
const pageData = await webApi.getAboutPage();
|
||||
|
||||
const {header,
|
||||
ourServices,
|
||||
aboutUs,
|
||||
contactUs,
|
||||
ourSpecialities,
|
||||
prices,
|
||||
discount,
|
||||
ourMission,
|
||||
ourVision,
|
||||
achievements,
|
||||
|
||||
blogs,
|
||||
subscribeNow,
|
||||
footer,
|
||||
feedbacks
|
||||
} = pageData;
|
||||
|
||||
|
||||
console.info("about us", JSON.stringify(aboutUs))
|
||||
return (
|
||||
<>
|
||||
{ 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}/>}
|
||||
{ ourSpecialities && <OurSpecialitiesComponent config={ourSpecialities} /> }
|
||||
{ contactUs && <ContactUsComponent contactUs={contactUs}/>}
|
||||
{ prices && <PricingComponent config={prices} /> }
|
||||
{ feedbacks && <FeedbackComponent config={feedbacks} /> }
|
||||
|
||||
{ aboutUs && <AboutUsWithBoxesComponent config={aboutUs}/>}
|
||||
{ discount && <YogaDiscountComponent config={discount}/>}
|
||||
{ ourMission && <TextWithImageComponent config={ourMission} />}
|
||||
{ ourVision && <TextWithImageComponent config={ourVision} />}
|
||||
{ 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} />}
|
||||
{subscribeNow && <SubscribeComponent config={subscribeNow} /> }
|
||||
{ subscribeNow && <SubscribeComponent config={subscribeNow} /> }
|
||||
{ footer && <FooterComponent config={footer} />}
|
||||
<AosComponent />
|
||||
<BootstrapComponent />
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import strapiApi from "@/app/api/strapi/strapi-api";
|
||||
import strapiApi from "@/api/strapi/strapi-api";
|
||||
import clsx from "clsx";
|
||||
|
||||
export default async function BlogComponent({
|
||||
|
||||
@@ -12,23 +12,40 @@ import SubscribeComponent from "@/components/subscribe.component";
|
||||
import MainHeaderComponent from "@/components/mainHeaderComponent";
|
||||
import BootstrapComponent from "@/components/bootstrap.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 (
|
||||
<>
|
||||
<MainHeaderComponent/>
|
||||
<OurServicesComponent />
|
||||
<AboutUsComponent />
|
||||
<OurSpecialitiesComponent />
|
||||
<ContactUsComponent />
|
||||
<PricingComponent />
|
||||
<FeedbackComponent />
|
||||
<BlogPostsComponent />
|
||||
<SubscribeComponent />
|
||||
<FooterComponent />
|
||||
{ header && <MainHeaderComponent config={header}/> }
|
||||
{ ourServices && <OurServicesComponent header={ourServices.header!} description={ourServices.description!} title={ourServices.title!}/> }
|
||||
{ aboutUs && <AboutUsComponent data={aboutUs} /> }
|
||||
{ ourSpecialities && <OurSpecialitiesComponent config={ourSpecialities} /> }
|
||||
{ contactUs && <ContactUsComponent contactUs={contactUs} /> }
|
||||
{ prices && <PricingComponent config={prices}/> }
|
||||
{ feedbacks && <FeedbackComponent config={feedbacks} /> }
|
||||
{ blogs && <BlogPostsComponent config={blogs} /> }
|
||||
{ subscribeNow && <SubscribeComponent config={subscribeNow} /> }
|
||||
{ footer && <FooterComponent config={footer} /> }
|
||||
<AosComponent />
|
||||
<BootstrapComponent />
|
||||
<ITypedComponent />
|
||||
{header?.headerIType && <ITypedComponent text={header.headerIType} /> }
|
||||
</>
|
||||
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import bcrypt from 'bcryptjs';
|
||||
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();
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
YogaAboutUsComponent_Plain
|
||||
} from "@/types/generated-strapi-interfaces/api/yoga-about-us-component";
|
||||
import {StrapiFile} from "@/types/types";
|
||||
import strapiApi from "@/app/api/strapi/strapi-api";
|
||||
import strapiApi from "@/api/strapi/strapi-api";
|
||||
|
||||
export interface Props{
|
||||
data: YogaAboutUsComponent_Plain
|
||||
|
||||
60
yoga-app/src/components/about.us.with.boxes.component.tsx
Normal file
60
yoga-app/src/components/about.us.with.boxes.component.tsx
Normal 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>
|
||||
|
||||
)
|
||||
}
|
||||
34
yoga-app/src/components/achievements.component.tsx
Normal file
34
yoga-app/src/components/achievements.component.tsx
Normal 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>
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
24
yoga-app/src/components/achievements.item.component.tsx
Normal file
24
yoga-app/src/components/achievements.item.component.tsx
Normal 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>
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import AOS from "aos";
|
||||
|
||||
const AosComponent = ( ) => {
|
||||
useEffect(() => {
|
||||
|
||||
AOS.init({
|
||||
duration: 1000,
|
||||
offset: 120,
|
||||
|
||||
@@ -20,7 +20,7 @@ const BlogPostsComponent = ( {config: { title,header,description,posts, button}
|
||||
</div>
|
||||
</div>
|
||||
<div className="row" data-aos="fade-up">
|
||||
{teaserPosts.map( value =><BlogSinglePostComponent post={value} /> )}
|
||||
{teaserPosts.map( value =><BlogSinglePostComponent key={value.name} post={value} /> )}
|
||||
</div>
|
||||
<div className="btn_wrapper">
|
||||
<a href={button?.link} className="text-decoration-none view_blog">{button?.label}</a>
|
||||
|
||||
@@ -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 {YogaBlogPost_Plain} from "@/types/generated-strapi-interfaces/api/yoga-blog-post";
|
||||
import {StrapiFile} from "@/types/types";
|
||||
import strapiApi from "@/app/api/strapi/strapi-api";
|
||||
import strapiApi from "@/api/strapi/strapi-api";
|
||||
|
||||
export interface Props {
|
||||
post: YogaBlogPost_Plain & {documentId?: string}
|
||||
|
||||
@@ -29,7 +29,7 @@ const FeedbackComponent = ({ config: { feedbacks }}: Props) => {
|
||||
<div id="carouselExampleControls" className="carousel slide" data-ride="carousel">
|
||||
<div className="carousel-inner">
|
||||
{feedbacks && feedbacks.map( (feedback,i) => {
|
||||
return (<FeedbackItemComponent active={index == i} config={feedback} />)
|
||||
return (<FeedbackItemComponent key={feedback.id} active={index == i} config={feedback} />)
|
||||
} )}
|
||||
</div>
|
||||
<a className="carousel-control-prev" href="#carouselExampleControls" role="button"
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
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 {StrapiFile} from "@/types/types";
|
||||
import strapiApi from "@/app/api/strapi/strapi-api";
|
||||
import strapiApi from "@/api/strapi/strapi-api";
|
||||
import clsx from "clsx";
|
||||
|
||||
export interface Props {
|
||||
|
||||
@@ -52,7 +52,7 @@ const FooterComponent = ({ config: {
|
||||
<h4>{quickLinksHeader}</h4>
|
||||
{links && <ul className="list-unstyled">
|
||||
{ links.map(link => (
|
||||
<li>
|
||||
<li key={link.linkHref}>
|
||||
<Link href={link.linkHref!}>{link.linkLabel}</Link>
|
||||
</li>
|
||||
))}
|
||||
|
||||
@@ -1,17 +1,26 @@
|
||||
'use client'
|
||||
|
||||
import { useEffect} from "react";
|
||||
import {useEffect, useState} from "react";
|
||||
import { init } from 'ityped'
|
||||
|
||||
const ITypedComponent = ( ) => {
|
||||
|
||||
export interface Props{
|
||||
text: string;
|
||||
}
|
||||
const ITypedComponent = ( {text}: Props ) => {
|
||||
const [ready, setReady] = useState(true);
|
||||
useEffect(() => {
|
||||
// if ( ready ){
|
||||
// return;
|
||||
// }
|
||||
init(document.querySelector('.ityped') as Element,{
|
||||
strings: ['Body & Soul'],
|
||||
strings: [text],
|
||||
typeSpeed: 150,
|
||||
backSpeed: 150,
|
||||
loop: true
|
||||
})
|
||||
}, []);
|
||||
setReady(true)
|
||||
}, [ready]);
|
||||
return (<></> );
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
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 (
|
||||
<div className="banner-section-outer">
|
||||
<header>
|
||||
@@ -106,11 +118,11 @@ const MainHeaderComponent = () => {
|
||||
<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="banner-section-content">
|
||||
<h5>Start a Happy Life</h5>
|
||||
<h1 data-aos="fade-up">Start Healing Your Mind, <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>
|
||||
<h5>{title}</h5>
|
||||
<h1 data-aos="fade-up">{header} <span className="ityped"></span></h1>
|
||||
<p data-aos="fade-right">{description}</p>
|
||||
<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>
|
||||
<a className="top-btn" href="/index#footer_section">
|
||||
<i className="fa-solid fa-arrow-down-long"></i>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import {YogaPrice_Plain} from "@/types/generated-strapi-interfaces/api/yoga-price";
|
||||
import YogaImageComponent from "@/components/yoga.image.component";
|
||||
import {StrapiFile} from "@/types/types";
|
||||
import strapiApi from "@/app/api/strapi/strapi-api";
|
||||
import strapiApi from "@/api/strapi/strapi-api";
|
||||
|
||||
export interface Props{
|
||||
config: YogaPrice_Plain
|
||||
|
||||
16
yoga-app/src/components/text.with.image.component.tsx
Normal file
16
yoga-app/src/components/text.with.image.component.tsx
Normal 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} /> }
|
||||
</>
|
||||
);
|
||||
}
|
||||
44
yoga-app/src/components/text.with.right.image.component.tsx
Normal file
44
yoga-app/src/components/text.with.right.image.component.tsx
Normal 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>
|
||||
)
|
||||
}
|
||||
47
yoga-app/src/components/text.with.right.left.component.tsx
Normal file
47
yoga-app/src/components/text.with.right.left.component.tsx
Normal 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>
|
||||
|
||||
)
|
||||
}
|
||||
27
yoga-app/src/components/yogaDiscountComponent.tsx
Normal file
27
yoga-app/src/components/yogaDiscountComponent.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
@@ -1,25 +1,21 @@
|
||||
// Interface automatically generated by schemas-to-ts
|
||||
|
||||
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 { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
|
||||
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 { 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 { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
|
||||
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 { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
|
||||
|
||||
@@ -27,15 +23,14 @@ export interface About {
|
||||
id: number;
|
||||
attributes: {
|
||||
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 };
|
||||
subscribeNow?: { data: YogaSubscribeNowComponent };
|
||||
footer?: { data: YogaFooter };
|
||||
aboutUs?: { data: YogaAboutUsWithBoxesComponent };
|
||||
discount?: { data: YogaDiscountComponent };
|
||||
ourMission?: { data: YogaTextWithImageComponent };
|
||||
ourVision?: { data: YogaTextWithImageComponent };
|
||||
achievements?: { data: YogaAchivementsComponent };
|
||||
locale: string;
|
||||
localizations?: { data: About[] };
|
||||
};
|
||||
@@ -43,15 +38,14 @@ export interface About {
|
||||
export interface About_Plain {
|
||||
id: number;
|
||||
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;
|
||||
subscribeNow?: YogaSubscribeNowComponent_Plain;
|
||||
footer?: YogaFooter_Plain;
|
||||
aboutUs?: YogaAboutUsWithBoxesComponent_Plain;
|
||||
discount?: YogaDiscountComponent_Plain;
|
||||
ourMission?: YogaTextWithImageComponent_Plain;
|
||||
ourVision?: YogaTextWithImageComponent_Plain;
|
||||
achievements?: YogaAchivementsComponent_Plain;
|
||||
locale: string;
|
||||
localizations?: About_Plain[];
|
||||
}
|
||||
@@ -59,15 +53,14 @@ export interface About_Plain {
|
||||
export interface About_NoRelations {
|
||||
id: number;
|
||||
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations;
|
||||
contactUs?: number;
|
||||
prices?: number;
|
||||
ourSpecialities?: number;
|
||||
aboutUs?: number;
|
||||
feedbacks?: number;
|
||||
ourServices?: number;
|
||||
blogs?: number;
|
||||
subscribeNow?: number;
|
||||
footer?: number;
|
||||
aboutUs?: number;
|
||||
discount?: number;
|
||||
ourMission?: number;
|
||||
ourVision?: number;
|
||||
achievements?: number;
|
||||
locale: string;
|
||||
localizations?: About[];
|
||||
}
|
||||
@@ -75,15 +68,14 @@ export interface About_NoRelations {
|
||||
export interface About_AdminPanelLifeCycle {
|
||||
id: number;
|
||||
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>;
|
||||
subscribeNow?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_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;
|
||||
localizations?: About[];
|
||||
}
|
||||
|
||||
88
yoga-app/src/types/generated-strapi-interfaces/api/home.ts
Normal file
88
yoga-app/src/types/generated-strapi-interfaces/api/home.ts
Normal 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[];
|
||||
}
|
||||
@@ -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>;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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>;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user