From 04c436cb34e80e4bf54cf5a3a983dd66cf1d1b6e Mon Sep 17 00:00:00 2001 From: Schneider Roland Date: Sun, 26 Jan 2025 11:06:15 +0100 Subject: [PATCH] home and about page --- api.http | 4 +- yoga-app/src/{app => }/api/http-client.ts | 0 yoga-app/src/api/strapi/query/about.json | 86 +++++ .../about.json => api/strapi/query/home.json} | 9 +- .../src/{app => }/api/strapi/strapi-api.ts | 11 +- .../src/{app => }/api/strapi/strapi-client.ts | 2 +- .../src/{app => }/api/strapi/strapi-query.ts | 0 .../src/{app => }/api/web-client/types.ts | 0 .../src/{app => }/api/web-client/web-api.ts | 7 +- yoga-app/src/app/about/page.tsx | 38 ++- yoga-app/src/app/blog/[blogId]/page.tsx | 2 +- yoga-app/src/app/page.tsx | 41 ++- yoga-app/src/app/seed/route.ts | 2 +- .../src/components/about.us.component.tsx | 2 +- .../about.us.with.boxes.component.tsx | 60 ++++ .../src/components/achievements.component.tsx | 34 ++ .../achievements.item.component.tsx | 24 ++ yoga-app/src/components/aos.component.tsx | 1 + .../src/components/blog.posts.component.tsx | 2 +- .../components/blog.single.post.component.tsx | 2 +- yoga-app/src/components/feedbackComponent.tsx | 2 +- .../src/components/feedbackItemComponent.tsx | 5 +- yoga-app/src/components/footer.component.tsx | 2 +- yoga-app/src/components/ityped.component.tsx | 17 +- .../src/components/mainHeaderComponent.tsx | 22 +- .../src/components/price.item.component.tsx | 2 +- .../components/text.with.image.component.tsx | 16 + .../text.with.right.image.component.tsx | 44 +++ .../text.with.right.left.component.tsx | 47 +++ .../src/components/yogaDiscountComponent.tsx | 27 ++ .../generated-strapi-interfaces/api/about.ts | 64 ++-- .../generated-strapi-interfaces/api/home.ts | 88 +++++ .../api/yoga-about-us-with-boxes-component.ts | 54 +++ .../api/yoga-achivement.ts | 34 ++ .../api/yoga-achivements-component.ts | 42 +++ .../api/yoga-discount-component.ts | 46 +++ .../api/yoga-main-header-component.ts | 49 +++ .../api/yoga-text-with-image-component.ts | 57 ++++ .../generated-strapi-interfaces/api/about.ts | 64 ++-- .../generated-strapi-interfaces/api/home.ts | 88 +++++ .../api/yoga-about-us-with-boxes-component.ts | 54 +++ .../api/yoga-achivement.ts | 34 ++ .../api/yoga-achivements-component.ts | 42 +++ .../api/yoga-discount-component.ts | 46 +++ .../api/yoga-main-header-component.ts | 49 +++ .../api/yoga-text-with-image-component.ts | 57 ++++ .../api/about/content-types/about/schema.json | 55 ++- .../api/home/content-types/home/schema.json | 70 ++++ yoga-cms/src/api/home/controllers/home.ts | 7 + yoga-cms/src/api/home/routes/home.ts | 7 + yoga-cms/src/api/home/services/home.ts | 7 + .../schema.json | 47 +++ .../yoga-about-us-with-boxes-component.ts | 7 + .../yoga-about-us-with-boxes-component.ts | 7 + .../yoga-about-us-with-boxes-component.ts | 7 + .../content-types/yoga-achivement/schema.json | 33 ++ .../controllers/yoga-achivement.ts | 7 + .../yoga-achivement/routes/yoga-achivement.ts | 7 + .../services/yoga-achivement.ts | 7 + .../yoga-achivements-component/schema.json | 33 ++ .../controllers/yoga-achivements-component.ts | 7 + .../routes/yoga-achivements-component.ts | 7 + .../services/yoga-achivements-component.ts | 7 + .../yoga-discount-component/schema.json | 37 ++ .../controllers/yoga-discount-component.ts | 7 + .../routes/yoga-discount-component.ts | 7 + .../services/yoga-discount-component.ts | 7 + .../yoga-main-header-component/schema.json | 43 +++ .../controllers/yoga-main-header-component.ts | 7 + .../routes/yoga-main-header-component.ts | 7 + .../services/yoga-main-header-component.ts | 7 + .../schema.json | 51 +++ .../yoga-text-with-image-component.ts | 7 + .../routes/yoga-text-with-image-component.ts | 7 + .../yoga-text-with-image-component.ts | 7 + yoga-cms/types/generated/contentTypes.d.ts | 317 +++++++++++++++++- 76 files changed, 2036 insertions(+), 176 deletions(-) rename yoga-app/src/{app => }/api/http-client.ts (100%) create mode 100644 yoga-app/src/api/strapi/query/about.json rename yoga-app/src/{app/api/strapi/query/about.json => api/strapi/query/home.json} (94%) rename yoga-app/src/{app => }/api/strapi/strapi-api.ts (73%) rename yoga-app/src/{app => }/api/strapi/strapi-client.ts (96%) rename yoga-app/src/{app => }/api/strapi/strapi-query.ts (100%) rename yoga-app/src/{app => }/api/web-client/types.ts (100%) rename yoga-app/src/{app => }/api/web-client/web-api.ts (55%) create mode 100644 yoga-app/src/components/about.us.with.boxes.component.tsx create mode 100644 yoga-app/src/components/achievements.component.tsx create mode 100644 yoga-app/src/components/achievements.item.component.tsx create mode 100644 yoga-app/src/components/text.with.image.component.tsx create mode 100644 yoga-app/src/components/text.with.right.image.component.tsx create mode 100644 yoga-app/src/components/text.with.right.left.component.tsx create mode 100644 yoga-app/src/components/yogaDiscountComponent.tsx create mode 100644 yoga-app/src/types/generated-strapi-interfaces/api/home.ts create mode 100644 yoga-app/src/types/generated-strapi-interfaces/api/yoga-about-us-with-boxes-component.ts create mode 100644 yoga-app/src/types/generated-strapi-interfaces/api/yoga-achivement.ts create mode 100644 yoga-app/src/types/generated-strapi-interfaces/api/yoga-achivements-component.ts create mode 100644 yoga-app/src/types/generated-strapi-interfaces/api/yoga-discount-component.ts create mode 100644 yoga-app/src/types/generated-strapi-interfaces/api/yoga-main-header-component.ts create mode 100644 yoga-app/src/types/generated-strapi-interfaces/api/yoga-text-with-image-component.ts create mode 100644 yoga-cms/generated-strapi-interfaces/api/home.ts create mode 100644 yoga-cms/generated-strapi-interfaces/api/yoga-about-us-with-boxes-component.ts create mode 100644 yoga-cms/generated-strapi-interfaces/api/yoga-achivement.ts create mode 100644 yoga-cms/generated-strapi-interfaces/api/yoga-achivements-component.ts create mode 100644 yoga-cms/generated-strapi-interfaces/api/yoga-discount-component.ts create mode 100644 yoga-cms/generated-strapi-interfaces/api/yoga-main-header-component.ts create mode 100644 yoga-cms/generated-strapi-interfaces/api/yoga-text-with-image-component.ts create mode 100644 yoga-cms/src/api/home/content-types/home/schema.json create mode 100644 yoga-cms/src/api/home/controllers/home.ts create mode 100644 yoga-cms/src/api/home/routes/home.ts create mode 100644 yoga-cms/src/api/home/services/home.ts create mode 100644 yoga-cms/src/api/yoga-about-us-with-boxes-component/content-types/yoga-about-us-with-boxes-component/schema.json create mode 100644 yoga-cms/src/api/yoga-about-us-with-boxes-component/controllers/yoga-about-us-with-boxes-component.ts create mode 100644 yoga-cms/src/api/yoga-about-us-with-boxes-component/routes/yoga-about-us-with-boxes-component.ts create mode 100644 yoga-cms/src/api/yoga-about-us-with-boxes-component/services/yoga-about-us-with-boxes-component.ts create mode 100644 yoga-cms/src/api/yoga-achivement/content-types/yoga-achivement/schema.json create mode 100644 yoga-cms/src/api/yoga-achivement/controllers/yoga-achivement.ts create mode 100644 yoga-cms/src/api/yoga-achivement/routes/yoga-achivement.ts create mode 100644 yoga-cms/src/api/yoga-achivement/services/yoga-achivement.ts create mode 100644 yoga-cms/src/api/yoga-achivements-component/content-types/yoga-achivements-component/schema.json create mode 100644 yoga-cms/src/api/yoga-achivements-component/controllers/yoga-achivements-component.ts create mode 100644 yoga-cms/src/api/yoga-achivements-component/routes/yoga-achivements-component.ts create mode 100644 yoga-cms/src/api/yoga-achivements-component/services/yoga-achivements-component.ts create mode 100644 yoga-cms/src/api/yoga-discount-component/content-types/yoga-discount-component/schema.json create mode 100644 yoga-cms/src/api/yoga-discount-component/controllers/yoga-discount-component.ts create mode 100644 yoga-cms/src/api/yoga-discount-component/routes/yoga-discount-component.ts create mode 100644 yoga-cms/src/api/yoga-discount-component/services/yoga-discount-component.ts create mode 100644 yoga-cms/src/api/yoga-main-header-component/content-types/yoga-main-header-component/schema.json create mode 100644 yoga-cms/src/api/yoga-main-header-component/controllers/yoga-main-header-component.ts create mode 100644 yoga-cms/src/api/yoga-main-header-component/routes/yoga-main-header-component.ts create mode 100644 yoga-cms/src/api/yoga-main-header-component/services/yoga-main-header-component.ts create mode 100644 yoga-cms/src/api/yoga-text-with-image-component/content-types/yoga-text-with-image-component/schema.json create mode 100644 yoga-cms/src/api/yoga-text-with-image-component/controllers/yoga-text-with-image-component.ts create mode 100644 yoga-cms/src/api/yoga-text-with-image-component/routes/yoga-text-with-image-component.ts create mode 100644 yoga-cms/src/api/yoga-text-with-image-component/services/yoga-text-with-image-component.ts diff --git a/api.http b/api.http index 45b7093..a9e66eb 100644 --- a/api.http +++ b/api.http @@ -13,11 +13,11 @@ Accept: application/json #Authorization: Bearer {{token}} ### GET request with a header -GET {{domain}}/api/about?populate[header][fields][0]=header1&populate[header][fields][1]=description&populate[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 #Authorization: Bearer {{token}} - +x ### GET request with a header GET {{domain}}/api/yoga-blog-posts/wmhqy1n8japcfpy0of4hauwm Accept: application/json diff --git a/yoga-app/src/app/api/http-client.ts b/yoga-app/src/api/http-client.ts similarity index 100% rename from yoga-app/src/app/api/http-client.ts rename to yoga-app/src/api/http-client.ts diff --git a/yoga-app/src/api/strapi/query/about.json b/yoga-app/src/api/strapi/query/about.json new file mode 100644 index 0000000..d561965 --- /dev/null +++ b/yoga-app/src/api/strapi/query/about.json @@ -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": ["*"] + } + } + } + } +} diff --git a/yoga-app/src/app/api/strapi/query/about.json b/yoga-app/src/api/strapi/query/home.json similarity index 94% rename from yoga-app/src/app/api/strapi/query/about.json rename to yoga-app/src/api/strapi/query/home.json index 7cfc042..c359b36 100644 --- a/yoga-app/src/app/api/strapi/query/about.json +++ b/yoga-app/src/api/strapi/query/home.json @@ -1,7 +1,14 @@ { "populate": { "header": { - "fields": ["header1","description"] + "fields": ["*"], + "populate": { + "button": { + "fields": [ + "*" + ] + } + } }, "footer": { "fields": ["*"], diff --git a/yoga-app/src/app/api/strapi/strapi-api.ts b/yoga-app/src/api/strapi/strapi-api.ts similarity index 73% rename from yoga-app/src/app/api/strapi/strapi-api.ts rename to yoga-app/src/api/strapi/strapi-api.ts index d79948d..489795c 100644 --- a/yoga-app/src/app/api/strapi/strapi-api.ts +++ b/yoga-app/src/api/strapi/strapi-api.ts @@ -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{ + return this.getJson("/api/home?",homeQuery); } diff --git a/yoga-app/src/app/api/strapi/strapi-client.ts b/yoga-app/src/api/strapi/strapi-client.ts similarity index 96% rename from yoga-app/src/app/api/strapi/strapi-client.ts rename to yoga-app/src/api/strapi/strapi-client.ts index 6f0638d..d0773d1 100644 --- a/yoga-app/src/app/api/strapi/strapi-client.ts +++ b/yoga-app/src/api/strapi/strapi-client.ts @@ -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; diff --git a/yoga-app/src/app/api/strapi/strapi-query.ts b/yoga-app/src/api/strapi/strapi-query.ts similarity index 100% rename from yoga-app/src/app/api/strapi/strapi-query.ts rename to yoga-app/src/api/strapi/strapi-query.ts diff --git a/yoga-app/src/app/api/web-client/types.ts b/yoga-app/src/api/web-client/types.ts similarity index 100% rename from yoga-app/src/app/api/web-client/types.ts rename to yoga-app/src/api/web-client/types.ts diff --git a/yoga-app/src/app/api/web-client/web-api.ts b/yoga-app/src/api/web-client/web-api.ts similarity index 55% rename from yoga-app/src/app/api/web-client/web-api.ts rename to yoga-app/src/api/web-client/web-api.ts index db46e06..70998ec 100644 --- a/yoga-app/src/app/api/web-client/web-api.ts +++ b/yoga-app/src/api/web-client/web-api.ts @@ -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{ + return strapiApi.getHomePage(); } public async getAboutPage(): Promise { diff --git a/yoga-app/src/app/about/page.tsx b/yoga-app/src/app/about/page.tsx index 085f6c8..2d348b7 100644 --- a/yoga-app/src/app/about/page.tsx +++ b/yoga-app/src/app/about/page.tsx @@ -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 && } - { ourServices && } - { aboutUs && } - { ourSpecialities && } - { contactUs && } - { prices && } - { feedbacks && } + + { aboutUs && } + { discount && } + { ourMission && } + { ourVision && } + { achievements && } + + {/*{ ourServices && }*/} + {/*{ ourSpecialities && }*/} + {/*{ contactUs && }*/} + {/*{ prices && }*/} + {/*{ feedbacks && }*/} { blogs && } - {subscribeNow && } + { subscribeNow && } { footer && } diff --git a/yoga-app/src/app/blog/[blogId]/page.tsx b/yoga-app/src/app/blog/[blogId]/page.tsx index da88289..03dfc37 100644 --- a/yoga-app/src/app/blog/[blogId]/page.tsx +++ b/yoga-app/src/app/blog/[blogId]/page.tsx @@ -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({ diff --git a/yoga-app/src/app/page.tsx b/yoga-app/src/app/page.tsx index 8365f84..46a4081 100644 --- a/yoga-app/src/app/page.tsx +++ b/yoga-app/src/app/page.tsx @@ -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 ( <> - - - - - - - - - - + { header && } + { ourServices && } + { aboutUs && } + { ourSpecialities && } + { contactUs && } + { prices && } + { feedbacks && } + { blogs && } + { subscribeNow && } + { footer && } - + {header?.headerIType && } ); diff --git a/yoga-app/src/app/seed/route.ts b/yoga-app/src/app/seed/route.ts index a04c1ae..87c21c6 100644 --- a/yoga-app/src/app/seed/route.ts +++ b/yoga-app/src/app/seed/route.ts @@ -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(); diff --git a/yoga-app/src/components/about.us.component.tsx b/yoga-app/src/components/about.us.component.tsx index a1293b9..acc288a 100644 --- a/yoga-app/src/components/about.us.component.tsx +++ b/yoga-app/src/components/about.us.component.tsx @@ -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 diff --git a/yoga-app/src/components/about.us.with.boxes.component.tsx b/yoga-app/src/components/about.us.with.boxes.component.tsx new file mode 100644 index 0000000..509601d --- /dev/null +++ b/yoga-app/src/components/about.us.with.boxes.component.tsx @@ -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 ( +
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
{title}
+

{header}

+

{description}

+
+
+ + {box1} +
+
+ + {box2} +
+
+
+
+ + {box3} +
+
+ + {box4} +
+
+
+
+
+
+
+ +) +} diff --git a/yoga-app/src/components/achievements.component.tsx b/yoga-app/src/components/achievements.component.tsx new file mode 100644 index 0000000..829843d --- /dev/null +++ b/yoga-app/src/components/achievements.component.tsx @@ -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 ( +
+
+
+
+
+
{title}
+

{header}

+

{description}

+
+
+
+
+ {achievements && achievements.map( achievement => )} +
+
+
+ + ); + +} diff --git a/yoga-app/src/components/achievements.item.component.tsx b/yoga-app/src/components/achievements.item.component.tsx new file mode 100644 index 0000000..6518499 --- /dev/null +++ b/yoga-app/src/components/achievements.item.component.tsx @@ -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 ( +
+
+
+
+
+ + ); + +} diff --git a/yoga-app/src/components/aos.component.tsx b/yoga-app/src/components/aos.component.tsx index 3ac399c..0ce41f8 100644 --- a/yoga-app/src/components/aos.component.tsx +++ b/yoga-app/src/components/aos.component.tsx @@ -5,6 +5,7 @@ import AOS from "aos"; const AosComponent = ( ) => { useEffect(() => { + AOS.init({ duration: 1000, offset: 120, diff --git a/yoga-app/src/components/blog.posts.component.tsx b/yoga-app/src/components/blog.posts.component.tsx index 7611475..5fe272b 100644 --- a/yoga-app/src/components/blog.posts.component.tsx +++ b/yoga-app/src/components/blog.posts.component.tsx @@ -20,7 +20,7 @@ const BlogPostsComponent = ( {config: { title,header,description,posts, button}
- {teaserPosts.map( value => )} + {teaserPosts.map( value => )}
{button?.label} diff --git a/yoga-app/src/components/blog.single.post.component.tsx b/yoga-app/src/components/blog.single.post.component.tsx index b60ab94..b002102 100644 --- a/yoga-app/src/components/blog.single.post.component.tsx +++ b/yoga-app/src/components/blog.single.post.component.tsx @@ -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} diff --git a/yoga-app/src/components/feedbackComponent.tsx b/yoga-app/src/components/feedbackComponent.tsx index 577c239..ecf0ea2 100644 --- a/yoga-app/src/components/feedbackComponent.tsx +++ b/yoga-app/src/components/feedbackComponent.tsx @@ -29,7 +29,7 @@ const FeedbackComponent = ({ config: { feedbacks }}: Props) => {
{feedbacks && feedbacks.map( (feedback,i) => { - return () + return () } )}
{quickLinksHeader} {links &&
    { links.map(link => ( -
  • +
  • {link.linkLabel}
  • ))} diff --git a/yoga-app/src/components/ityped.component.tsx b/yoga-app/src/components/ityped.component.tsx index 8b370f2..bddcf9a 100644 --- a/yoga-app/src/components/ityped.component.tsx +++ b/yoga-app/src/components/ityped.component.tsx @@ -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 (<> ); } diff --git a/yoga-app/src/components/mainHeaderComponent.tsx b/yoga-app/src/components/mainHeaderComponent.tsx index 5674a69..7c630e0 100644 --- a/yoga-app/src/components/mainHeaderComponent.tsx +++ b/yoga-app/src/components/mainHeaderComponent.tsx @@ -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 (
    @@ -106,11 +118,11 @@ const MainHeaderComponent = () => {
    -
    Start a Happy Life
    -

    Start Healing Your Mind,

    -

    Duis aute irure dolor in reprehenderit in volurate velit cillum nulla pariatur nostrud exercitation.

    +
    {title}
    +

    {header}

    +

    {description}

    diff --git a/yoga-app/src/components/price.item.component.tsx b/yoga-app/src/components/price.item.component.tsx index 90ad066..05add9b 100644 --- a/yoga-app/src/components/price.item.component.tsx +++ b/yoga-app/src/components/price.item.component.tsx @@ -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 diff --git a/yoga-app/src/components/text.with.image.component.tsx b/yoga-app/src/components/text.with.image.component.tsx new file mode 100644 index 0000000..c98a6ef --- /dev/null +++ b/yoga-app/src/components/text.with.image.component.tsx @@ -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' && } + { imagePosition == 'Left' && } + + ); +} diff --git a/yoga-app/src/components/text.with.right.image.component.tsx b/yoga-app/src/components/text.with.right.image.component.tsx new file mode 100644 index 0000000..b0e7555 --- /dev/null +++ b/yoga-app/src/components/text.with.right.image.component.tsx @@ -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 ( +
    + +
    + ) +} diff --git a/yoga-app/src/components/text.with.right.left.component.tsx b/yoga-app/src/components/text.with.right.left.component.tsx new file mode 100644 index 0000000..23e691e --- /dev/null +++ b/yoga-app/src/components/text.with.right.left.component.tsx @@ -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 ( +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    {title}
    +

    {header}

    +

    {description}

    +
    + {button && {button.label}} +
    +
    +
    +
    +
    +
    + +
    +
    +
    + + ) +} diff --git a/yoga-app/src/components/yogaDiscountComponent.tsx b/yoga-app/src/components/yogaDiscountComponent.tsx new file mode 100644 index 0000000..c32ab17 --- /dev/null +++ b/yoga-app/src/components/yogaDiscountComponent.tsx @@ -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 ( +
    +
    +
    +
    +
    +

    {headerPart1}{headerDiscount}{headerPart2}

    +

    {description}

    + {button && + } +
    +
    +
    +
    +
    + ); +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/about.ts b/yoga-app/src/types/generated-strapi-interfaces/api/about.ts index b882562..39cb12d 100644 --- a/yoga-app/src/types/generated-strapi-interfaces/api/about.ts +++ b/yoga-app/src/types/generated-strapi-interfaces/api/about.ts @@ -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; - prices?: AdminPanelRelationPropertyModification; - ourSpecialities?: AdminPanelRelationPropertyModification; - aboutUs?: AdminPanelRelationPropertyModification; - feedbacks?: AdminPanelRelationPropertyModification; - ourServices?: AdminPanelRelationPropertyModification; blogs?: AdminPanelRelationPropertyModification; subscribeNow?: AdminPanelRelationPropertyModification; footer?: AdminPanelRelationPropertyModification; + aboutUs?: AdminPanelRelationPropertyModification; + discount?: AdminPanelRelationPropertyModification; + ourMission?: AdminPanelRelationPropertyModification; + ourVision?: AdminPanelRelationPropertyModification; + achievements?: AdminPanelRelationPropertyModification; locale: string; localizations?: About[]; } diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/home.ts b/yoga-app/src/types/generated-strapi-interfaces/api/home.ts new file mode 100644 index 0000000..9149783 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/home.ts @@ -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; + aboutUs?: AdminPanelRelationPropertyModification; + ourSpecialities?: AdminPanelRelationPropertyModification; + contactUs?: AdminPanelRelationPropertyModification; + prices?: AdminPanelRelationPropertyModification; + feedbacks?: AdminPanelRelationPropertyModification; + blogs?: AdminPanelRelationPropertyModification; + subscribeNow?: AdminPanelRelationPropertyModification; + footer?: AdminPanelRelationPropertyModification; + header?: AdminPanelRelationPropertyModification; + locale: string; + localizations?: Home[]; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-about-us-with-boxes-component.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-about-us-with-boxes-component.ts new file mode 100644 index 0000000..02eb351 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-about-us-with-boxes-component.ts @@ -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; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-achivement.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-achivement.ts new file mode 100644 index 0000000..6857850 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-achivement.ts @@ -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; + name?: string; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-achivements-component.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-achivements-component.ts new file mode 100644 index 0000000..2467558 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-achivements-component.ts @@ -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; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-discount-component.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-discount-component.ts new file mode 100644 index 0000000..a000146 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-discount-component.ts @@ -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; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-main-header-component.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-main-header-component.ts new file mode 100644 index 0000000..403947d --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-main-header-component.ts @@ -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; + button: Button_Plain; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-text-with-image-component.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-text-with-image-component.ts new file mode 100644 index 0000000..1a60144 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-text-with-image-component.ts @@ -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; + button: Button_Plain; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/about.ts b/yoga-cms/generated-strapi-interfaces/api/about.ts index b882562..39cb12d 100644 --- a/yoga-cms/generated-strapi-interfaces/api/about.ts +++ b/yoga-cms/generated-strapi-interfaces/api/about.ts @@ -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; - prices?: AdminPanelRelationPropertyModification; - ourSpecialities?: AdminPanelRelationPropertyModification; - aboutUs?: AdminPanelRelationPropertyModification; - feedbacks?: AdminPanelRelationPropertyModification; - ourServices?: AdminPanelRelationPropertyModification; blogs?: AdminPanelRelationPropertyModification; subscribeNow?: AdminPanelRelationPropertyModification; footer?: AdminPanelRelationPropertyModification; + aboutUs?: AdminPanelRelationPropertyModification; + discount?: AdminPanelRelationPropertyModification; + ourMission?: AdminPanelRelationPropertyModification; + ourVision?: AdminPanelRelationPropertyModification; + achievements?: AdminPanelRelationPropertyModification; locale: string; localizations?: About[]; } diff --git a/yoga-cms/generated-strapi-interfaces/api/home.ts b/yoga-cms/generated-strapi-interfaces/api/home.ts new file mode 100644 index 0000000..9149783 --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/home.ts @@ -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; + aboutUs?: AdminPanelRelationPropertyModification; + ourSpecialities?: AdminPanelRelationPropertyModification; + contactUs?: AdminPanelRelationPropertyModification; + prices?: AdminPanelRelationPropertyModification; + feedbacks?: AdminPanelRelationPropertyModification; + blogs?: AdminPanelRelationPropertyModification; + subscribeNow?: AdminPanelRelationPropertyModification; + footer?: AdminPanelRelationPropertyModification; + header?: AdminPanelRelationPropertyModification; + locale: string; + localizations?: Home[]; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/yoga-about-us-with-boxes-component.ts b/yoga-cms/generated-strapi-interfaces/api/yoga-about-us-with-boxes-component.ts new file mode 100644 index 0000000..02eb351 --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/yoga-about-us-with-boxes-component.ts @@ -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; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/yoga-achivement.ts b/yoga-cms/generated-strapi-interfaces/api/yoga-achivement.ts new file mode 100644 index 0000000..6857850 --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/yoga-achivement.ts @@ -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; + name?: string; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/yoga-achivements-component.ts b/yoga-cms/generated-strapi-interfaces/api/yoga-achivements-component.ts new file mode 100644 index 0000000..2467558 --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/yoga-achivements-component.ts @@ -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; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/yoga-discount-component.ts b/yoga-cms/generated-strapi-interfaces/api/yoga-discount-component.ts new file mode 100644 index 0000000..a000146 --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/yoga-discount-component.ts @@ -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; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/yoga-main-header-component.ts b/yoga-cms/generated-strapi-interfaces/api/yoga-main-header-component.ts new file mode 100644 index 0000000..403947d --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/yoga-main-header-component.ts @@ -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; + button: Button_Plain; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/yoga-text-with-image-component.ts b/yoga-cms/generated-strapi-interfaces/api/yoga-text-with-image-component.ts new file mode 100644 index 0000000..1a60144 --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/yoga-text-with-image-component.ts @@ -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; + button: Button_Plain; +} diff --git a/yoga-cms/src/api/about/content-types/about/schema.json b/yoga-cms/src/api/about/content-types/about/schema.json index 307d9aa..5c3b28d 100644 --- a/yoga-cms/src/api/about/content-types/about/schema.json +++ b/yoga-cms/src/api/about/content-types/about/schema.json @@ -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": { "type": "relation", "relation": "oneToOne", @@ -70,6 +40,31 @@ "type": "relation", "relation": "oneToOne", "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" } } } diff --git a/yoga-cms/src/api/home/content-types/home/schema.json b/yoga-cms/src/api/home/content-types/home/schema.json new file mode 100644 index 0000000..8d586c4 --- /dev/null +++ b/yoga-cms/src/api/home/content-types/home/schema.json @@ -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" + } + } +} diff --git a/yoga-cms/src/api/home/controllers/home.ts b/yoga-cms/src/api/home/controllers/home.ts new file mode 100644 index 0000000..c126180 --- /dev/null +++ b/yoga-cms/src/api/home/controllers/home.ts @@ -0,0 +1,7 @@ +/** + * home controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::home.home'); diff --git a/yoga-cms/src/api/home/routes/home.ts b/yoga-cms/src/api/home/routes/home.ts new file mode 100644 index 0000000..ad8b509 --- /dev/null +++ b/yoga-cms/src/api/home/routes/home.ts @@ -0,0 +1,7 @@ +/** + * home router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::home.home'); diff --git a/yoga-cms/src/api/home/services/home.ts b/yoga-cms/src/api/home/services/home.ts new file mode 100644 index 0000000..441af19 --- /dev/null +++ b/yoga-cms/src/api/home/services/home.ts @@ -0,0 +1,7 @@ +/** + * home service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::home.home'); diff --git a/yoga-cms/src/api/yoga-about-us-with-boxes-component/content-types/yoga-about-us-with-boxes-component/schema.json b/yoga-cms/src/api/yoga-about-us-with-boxes-component/content-types/yoga-about-us-with-boxes-component/schema.json new file mode 100644 index 0000000..ed67724 --- /dev/null +++ b/yoga-cms/src/api/yoga-about-us-with-boxes-component/content-types/yoga-about-us-with-boxes-component/schema.json @@ -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 + } + } +} diff --git a/yoga-cms/src/api/yoga-about-us-with-boxes-component/controllers/yoga-about-us-with-boxes-component.ts b/yoga-cms/src/api/yoga-about-us-with-boxes-component/controllers/yoga-about-us-with-boxes-component.ts new file mode 100644 index 0000000..e9437f7 --- /dev/null +++ b/yoga-cms/src/api/yoga-about-us-with-boxes-component/controllers/yoga-about-us-with-boxes-component.ts @@ -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'); diff --git a/yoga-cms/src/api/yoga-about-us-with-boxes-component/routes/yoga-about-us-with-boxes-component.ts b/yoga-cms/src/api/yoga-about-us-with-boxes-component/routes/yoga-about-us-with-boxes-component.ts new file mode 100644 index 0000000..0efc375 --- /dev/null +++ b/yoga-cms/src/api/yoga-about-us-with-boxes-component/routes/yoga-about-us-with-boxes-component.ts @@ -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'); diff --git a/yoga-cms/src/api/yoga-about-us-with-boxes-component/services/yoga-about-us-with-boxes-component.ts b/yoga-cms/src/api/yoga-about-us-with-boxes-component/services/yoga-about-us-with-boxes-component.ts new file mode 100644 index 0000000..422f415 --- /dev/null +++ b/yoga-cms/src/api/yoga-about-us-with-boxes-component/services/yoga-about-us-with-boxes-component.ts @@ -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'); diff --git a/yoga-cms/src/api/yoga-achivement/content-types/yoga-achivement/schema.json b/yoga-cms/src/api/yoga-achivement/content-types/yoga-achivement/schema.json new file mode 100644 index 0000000..1297637 --- /dev/null +++ b/yoga-cms/src/api/yoga-achivement/content-types/yoga-achivement/schema.json @@ -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" + } + } +} diff --git a/yoga-cms/src/api/yoga-achivement/controllers/yoga-achivement.ts b/yoga-cms/src/api/yoga-achivement/controllers/yoga-achivement.ts new file mode 100644 index 0000000..68ac35d --- /dev/null +++ b/yoga-cms/src/api/yoga-achivement/controllers/yoga-achivement.ts @@ -0,0 +1,7 @@ +/** + * yoga-achivement controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::yoga-achivement.yoga-achivement'); diff --git a/yoga-cms/src/api/yoga-achivement/routes/yoga-achivement.ts b/yoga-cms/src/api/yoga-achivement/routes/yoga-achivement.ts new file mode 100644 index 0000000..bd16c7b --- /dev/null +++ b/yoga-cms/src/api/yoga-achivement/routes/yoga-achivement.ts @@ -0,0 +1,7 @@ +/** + * yoga-achivement router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::yoga-achivement.yoga-achivement'); diff --git a/yoga-cms/src/api/yoga-achivement/services/yoga-achivement.ts b/yoga-cms/src/api/yoga-achivement/services/yoga-achivement.ts new file mode 100644 index 0000000..257f832 --- /dev/null +++ b/yoga-cms/src/api/yoga-achivement/services/yoga-achivement.ts @@ -0,0 +1,7 @@ +/** + * yoga-achivement service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::yoga-achivement.yoga-achivement'); diff --git a/yoga-cms/src/api/yoga-achivements-component/content-types/yoga-achivements-component/schema.json b/yoga-cms/src/api/yoga-achivements-component/content-types/yoga-achivements-component/schema.json new file mode 100644 index 0000000..aff3bc8 --- /dev/null +++ b/yoga-cms/src/api/yoga-achivements-component/content-types/yoga-achivements-component/schema.json @@ -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" + } + } +} diff --git a/yoga-cms/src/api/yoga-achivements-component/controllers/yoga-achivements-component.ts b/yoga-cms/src/api/yoga-achivements-component/controllers/yoga-achivements-component.ts new file mode 100644 index 0000000..d018831 --- /dev/null +++ b/yoga-cms/src/api/yoga-achivements-component/controllers/yoga-achivements-component.ts @@ -0,0 +1,7 @@ +/** + * yoga-achivements-component controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::yoga-achivements-component.yoga-achivements-component'); diff --git a/yoga-cms/src/api/yoga-achivements-component/routes/yoga-achivements-component.ts b/yoga-cms/src/api/yoga-achivements-component/routes/yoga-achivements-component.ts new file mode 100644 index 0000000..8ad12de --- /dev/null +++ b/yoga-cms/src/api/yoga-achivements-component/routes/yoga-achivements-component.ts @@ -0,0 +1,7 @@ +/** + * yoga-achivements-component router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::yoga-achivements-component.yoga-achivements-component'); diff --git a/yoga-cms/src/api/yoga-achivements-component/services/yoga-achivements-component.ts b/yoga-cms/src/api/yoga-achivements-component/services/yoga-achivements-component.ts new file mode 100644 index 0000000..f85cec6 --- /dev/null +++ b/yoga-cms/src/api/yoga-achivements-component/services/yoga-achivements-component.ts @@ -0,0 +1,7 @@ +/** + * yoga-achivements-component service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::yoga-achivements-component.yoga-achivements-component'); diff --git a/yoga-cms/src/api/yoga-discount-component/content-types/yoga-discount-component/schema.json b/yoga-cms/src/api/yoga-discount-component/content-types/yoga-discount-component/schema.json new file mode 100644 index 0000000..4af1e69 --- /dev/null +++ b/yoga-cms/src/api/yoga-discount-component/content-types/yoga-discount-component/schema.json @@ -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" + } + } +} diff --git a/yoga-cms/src/api/yoga-discount-component/controllers/yoga-discount-component.ts b/yoga-cms/src/api/yoga-discount-component/controllers/yoga-discount-component.ts new file mode 100644 index 0000000..428997a --- /dev/null +++ b/yoga-cms/src/api/yoga-discount-component/controllers/yoga-discount-component.ts @@ -0,0 +1,7 @@ +/** + * yoga-discount-component controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::yoga-discount-component.yoga-discount-component'); diff --git a/yoga-cms/src/api/yoga-discount-component/routes/yoga-discount-component.ts b/yoga-cms/src/api/yoga-discount-component/routes/yoga-discount-component.ts new file mode 100644 index 0000000..1735b0a --- /dev/null +++ b/yoga-cms/src/api/yoga-discount-component/routes/yoga-discount-component.ts @@ -0,0 +1,7 @@ +/** + * yoga-discount-component router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::yoga-discount-component.yoga-discount-component'); diff --git a/yoga-cms/src/api/yoga-discount-component/services/yoga-discount-component.ts b/yoga-cms/src/api/yoga-discount-component/services/yoga-discount-component.ts new file mode 100644 index 0000000..51c9633 --- /dev/null +++ b/yoga-cms/src/api/yoga-discount-component/services/yoga-discount-component.ts @@ -0,0 +1,7 @@ +/** + * yoga-discount-component service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::yoga-discount-component.yoga-discount-component'); diff --git a/yoga-cms/src/api/yoga-main-header-component/content-types/yoga-main-header-component/schema.json b/yoga-cms/src/api/yoga-main-header-component/content-types/yoga-main-header-component/schema.json new file mode 100644 index 0000000..9fd6ad1 --- /dev/null +++ b/yoga-cms/src/api/yoga-main-header-component/content-types/yoga-main-header-component/schema.json @@ -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 + } + } +} diff --git a/yoga-cms/src/api/yoga-main-header-component/controllers/yoga-main-header-component.ts b/yoga-cms/src/api/yoga-main-header-component/controllers/yoga-main-header-component.ts new file mode 100644 index 0000000..61023c9 --- /dev/null +++ b/yoga-cms/src/api/yoga-main-header-component/controllers/yoga-main-header-component.ts @@ -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'); diff --git a/yoga-cms/src/api/yoga-main-header-component/routes/yoga-main-header-component.ts b/yoga-cms/src/api/yoga-main-header-component/routes/yoga-main-header-component.ts new file mode 100644 index 0000000..0d4bfae --- /dev/null +++ b/yoga-cms/src/api/yoga-main-header-component/routes/yoga-main-header-component.ts @@ -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'); diff --git a/yoga-cms/src/api/yoga-main-header-component/services/yoga-main-header-component.ts b/yoga-cms/src/api/yoga-main-header-component/services/yoga-main-header-component.ts new file mode 100644 index 0000000..d452b9f --- /dev/null +++ b/yoga-cms/src/api/yoga-main-header-component/services/yoga-main-header-component.ts @@ -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'); diff --git a/yoga-cms/src/api/yoga-text-with-image-component/content-types/yoga-text-with-image-component/schema.json b/yoga-cms/src/api/yoga-text-with-image-component/content-types/yoga-text-with-image-component/schema.json new file mode 100644 index 0000000..1580eb1 --- /dev/null +++ b/yoga-cms/src/api/yoga-text-with-image-component/content-types/yoga-text-with-image-component/schema.json @@ -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 + } + } +} diff --git a/yoga-cms/src/api/yoga-text-with-image-component/controllers/yoga-text-with-image-component.ts b/yoga-cms/src/api/yoga-text-with-image-component/controllers/yoga-text-with-image-component.ts new file mode 100644 index 0000000..403e3cd --- /dev/null +++ b/yoga-cms/src/api/yoga-text-with-image-component/controllers/yoga-text-with-image-component.ts @@ -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'); diff --git a/yoga-cms/src/api/yoga-text-with-image-component/routes/yoga-text-with-image-component.ts b/yoga-cms/src/api/yoga-text-with-image-component/routes/yoga-text-with-image-component.ts new file mode 100644 index 0000000..a9dc140 --- /dev/null +++ b/yoga-cms/src/api/yoga-text-with-image-component/routes/yoga-text-with-image-component.ts @@ -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'); diff --git a/yoga-cms/src/api/yoga-text-with-image-component/services/yoga-text-with-image-component.ts b/yoga-cms/src/api/yoga-text-with-image-component/services/yoga-text-with-image-component.ts new file mode 100644 index 0000000..e1aa0dc --- /dev/null +++ b/yoga-cms/src/api/yoga-text-with-image-component/services/yoga-text-with-image-component.ts @@ -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'); diff --git a/yoga-cms/types/generated/contentTypes.d.ts b/yoga-cms/types/generated/contentTypes.d.ts index b57f38f..3b5a2ad 100644 --- a/yoga-cms/types/generated/contentTypes.d.ts +++ b/yoga-cms/types/generated/contentTypes.d.ts @@ -388,22 +388,22 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema { attributes: { aboutUs: Schema.Attribute.Relation< '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< '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< + discount: Schema.Attribute.Relation< 'oneToOne', - 'api::yoga-customer-feedback-component.yoga-customer-feedback-component' + 'api::yoga-discount-component.yoga-discount-component' >; footer: Schema.Attribute.Relation< 'oneToOne', @@ -417,17 +417,13 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema { }>; locale: Schema.Attribute.String; localizations: Schema.Attribute.Relation<'oneToMany', 'api::about.about'>; - ourServices: Schema.Attribute.Relation< + ourMission: Schema.Attribute.Relation< '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', - 'api::yoga-specialities-component.yoga-specialities-component' - >; - prices: Schema.Attribute.Relation< - 'oneToOne', - 'api::yoga-price-component.yoga-price-component' + 'api::yoga-text-with-image-component.yoga-text-with-image-component' >; publishedAt: Schema.Attribute.DateTime; 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 { collectionName: 'pages'; 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 extends Struct.CollectionTypeSchema { 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 { collectionName: 'yoga_footers'; 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 extends Struct.CollectionTypeSchema { 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 extends Struct.CollectionTypeSchema { collectionName: 'strapi_releases'; @@ -1910,15 +2190,21 @@ declare module '@strapi/strapi' { 'api::author.author': ApiAuthorAuthor; 'api::category.category': ApiCategoryCategory; 'api::global.global': ApiGlobalGlobal; + 'api::home.home': ApiHomeHome; 'api::page.page': ApiPagePage; 'api::person.person': ApiPersonPerson; '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-posts-component.yoga-blog-posts-component': ApiYogaBlogPostsComponentYogaBlogPostsComponent; 'api::yoga-contact-us.yoga-contact-us': ApiYogaContactUsYogaContactUs; 'api::yoga-customer-feedback-component.yoga-customer-feedback-component': ApiYogaCustomerFeedbackComponentYogaCustomerFeedbackComponent; 'api::yoga-customer-feedback.yoga-customer-feedback': ApiYogaCustomerFeedbackYogaCustomerFeedback; + 'api::yoga-discount-component.yoga-discount-component': ApiYogaDiscountComponentYogaDiscountComponent; '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-price-component.yoga-price-component': ApiYogaPriceComponentYogaPriceComponent; 'api::yoga-price.yoga-price': ApiYogaPriceYogaPrice; @@ -1927,6 +2213,7 @@ declare module '@strapi/strapi' { 'api::yoga-specialities-component.yoga-specialities-component': ApiYogaSpecialitiesComponentYogaSpecialitiesComponent; 'api::yoga-subscribe-now-component.yoga-subscribe-now-component': ApiYogaSubscribeNowComponentYogaSubscribeNowComponent; '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-action': PluginContentReleasesReleaseAction; 'plugin::i18n.locale': PluginI18NLocale;