[yoga-11] add common type and add logo

This commit is contained in:
Roland Schneider
2025-06-08 20:51:52 +02:00
parent 90a7dbf827
commit ca60a9a2f4
44 changed files with 390 additions and 24 deletions

View File

@@ -1,8 +1,17 @@
{
"populate": {
"header": {
"fields": ["header1","description"]
},
"common": {
"fields": ["*"],
"populate": {
"logoImage": {
"fields": ["name","mime","url"]
}
}
},
"aboutUs": {
"fields": ["*"],
"populate": {

View File

@@ -1,6 +1,14 @@
{
"fields": ["*"],
"populate": {
"common": {
"fields": ["*"],
"populate": {
"logoImage": {
"fields": ["name","mime","url"]
}
}
},
"contactUs": {
"fields": ["*"]
},

View File

@@ -1,6 +1,14 @@
{
"fields": ["*"],
"populate": {
"common": {
"fields": ["*"],
"populate": {
"logoImage": {
"fields": ["name","mime","url"]
}
}
},
"questionsAndAnswers": {
"fields": ["*"],
"populate": {

View File

@@ -1,6 +1,14 @@
{
"fields": ["*"],
"populate": {
"common": {
"fields": ["*"],
"populate": {
"logoImage": {
"fields": ["name","mime","url"]
}
}
},
"price": {
"fields": ["*"],
"populate": {

View File

@@ -1,6 +1,14 @@
{
"fields": ["*"],
"populate": {
"common": {
"fields": ["*"],
"populate": {
"logoImage": {
"fields": ["name","mime","url"]
}
}
},
"subscribeNow": {
"fields": ["*"]
},

View File

@@ -1,6 +1,14 @@
{
"fields": ["*"],
"populate": {
"common": {
"fields": ["*"],
"populate": {
"logoImage": {
"fields": ["name","mime","url"]
}
}
},
"ourServices": {
"fields": ["*"],
"populate": {

View File

@@ -24,13 +24,16 @@ export default async function About() {
blogs,
subscribeNow,
footer,
common
} = pageData;
console.info("about us", JSON.stringify(aboutUs))
return (
<>
{ header && <SubHeaderComponent header1={header?.header1} header2={header?.header2} description={header?.description}/> }
{ header && <SubHeaderComponent header={header} common={common}/> }
{ aboutUs && <AboutUsWithBoxesComponent config={aboutUs}/>}
{ discount && <YogaDiscountComponent config={discount}/>}

View File

@@ -16,11 +16,12 @@ export default async function ContactPage(){
contactUs,
google_maps,
subscribe,
footer
footer,
common
} = await strapiApi.getContactPage();
return (
<>
{ <SubHeaderComponent header1={header} description={description} /> }
{ <SubHeaderComponent header={{header1:header,description}} common={common}/> }
{ contactUs && <ContactUsComponent contactUs={contactUs} /> }
{ google_maps && <GoogleMapsComponent config={google_maps} /> }
{ subscribe && <SubscribeComponent config={subscribe} styleClass={"contact_subscribe_section"} /> }

View File

@@ -15,11 +15,12 @@ export default async function About() {
questionsAndAnswers,
blogs,
subscribe,
footer
footer,
common
} = await strapiApi.getFaqPage();
return (
<>xxxxx
{ <SubHeaderComponent header1={header} description={description} /> }
<>
{ <SubHeaderComponent header={{header1:header,description}} common={common}/> }
{ questionsAndAnswers && <FaqComponent config={questionsAndAnswers} /> }
{ blogs && <BlogPostsComponent config={blogs} /> }
{ subscribe && <SubscribeComponent config={subscribe} /> }

View File

@@ -21,11 +21,12 @@ export default async function PricesPage( ) {
discount,
blogs,
subscribe,
footer
footer,
common
} = await strapiApi.getPricesPage();
return (
<>
<SubHeaderComponent header1={header} description={description}/>
<SubHeaderComponent header={{header1:header,description}} common={common}/>
{ price && <PricingComponent config={price}/> }
{ discount && <YogaDiscountComponent config={discount} /> }
{ blogs && <BlogPostsComponent config={blogs} /> }

View File

@@ -45,7 +45,8 @@ export default async function ServiceArticlePage({params}: {
return (
<>
{selectedService && selectedService.header && selectedService.description &&
<SubHeaderComponent header1={selectedService.header} description={selectedService.description}/>}
<SubHeaderComponent header={{header1:selectedService.header, description: selectedService.description}} common={common}/>}
<section className={clsx( styles.article, 'mb-3')}>
<div className="container">
<div className={"row"}>

View File

@@ -20,11 +20,12 @@ export default async function Services() {
feedbacks,
blogs,
footer,
subscribe
subscribe,
common
} = await strapiApi.getServicesPage();
return (
<>
{header && description && <SubHeaderComponent header1={header} description={description} />}
<SubHeaderComponent header={{header1:header,description}} common={common}/>
{ ourServices && <OurServicesComponent config={ourServices} /> }
{ contactUs && <ContactUsComponent contactUs={contactUs} />}
{ ourSpecialities && <OurSpecialitiesComponent config={ourSpecialities} /> }

View File

@@ -2,6 +2,8 @@ import YogaImageComponent from "@/components/yoga.image.component";
import {YogaMainHeaderComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-main-header-component";
import {MAIN_MENU} from "@/util/const";
import Nav from "@/components/nav.component";
import {StrapiFile} from "@/types/types";
import strapiApi from "@/api/strapi/strapi-api";
export interface Props{
config: YogaMainHeaderComponent_Plain
}
@@ -10,14 +12,18 @@ const MainHeaderComponent = ({ config: {
header,
description,
button,
headerIType
headerIType,
image
}}: Props) => {
const imageFile: StrapiFile = image as StrapiFile;
const imageSrc = imageFile ? strapiApi.getImageUrl(imageFile?.url): undefined;
return (
<div className="banner-section-outer">
<header>
<Nav menuItems={MAIN_MENU} />
<Nav menuItems={MAIN_MENU} imageSrc={imageSrc} />
</header>
{/*<!-- SOCIAL ICONS -->*/}
<div className="social-icons left_icons float-left d-table" data-aos="fade-down">

View File

@@ -13,11 +13,10 @@ export interface MenuItem{
}
export interface Props{
menuItems: MenuItem[];
imageSrc?: string;
}
const Nav: FC<Props> = ({menuItems}:Props) => {
const Nav: FC<Props> = ({menuItems, imageSrc}:Props) => {
return (
<header>
@@ -25,7 +24,7 @@ const Nav: FC<Props> = ({menuItems}:Props) => {
<div className="container-fluid">
<nav className="navbar navbar-expand-lg navbar-light p-0">
<Link className="navbar-brand" href="/">
<figure className="mb-0"><YogaImageComponent src="/assets/images/yogastic_logo.png" alt=""/>
<figure className="mb-0"> {imageSrc && <YogaImageComponent src={imageSrc} alt=""/>}
</figure>
</Link>
<button className="navbar-toggler collapsed" type="button" data-toggle="collapse"

View File

@@ -3,14 +3,33 @@ import Nav from "@/components/nav.component";
import {MAIN_MENU} from "@/util/const";
import {HeaderB} from "@/types/generated-strapi-interfaces/components/yoga-site/HeaderB";
import NextBreadcrumb from "@/components/breadcrumbs.component";
import {YogaCommon_Plain} from "@/types/generated-strapi-interfaces/api/yoga-common";
import strapiApi from "@/api/strapi/strapi-api";
import {StrapiFile} from "@/types/types";
export type Props = HeaderB ;
export type Props = {
header: HeaderB,
common?: YogaCommon_Plain
} ;
const SubHeaderComponent = ( {
header:{ header1,description},common }: Props) =>{
let logoImageSrc: string|undefined = undefined;
const logoImage = common && common.logoImage;
if ( logoImage ){
const logoImageFile: StrapiFile = logoImage as StrapiFile;
logoImageSrc = strapiApi.getImageUrl(logoImageFile?.url) ;
}
console.info("image", logoImageSrc);
const SubHeaderComponent = ({header1,description}: Props) =>{
return (
<div className="sub-banner-section">
<Nav menuItems={MAIN_MENU} />
<Nav menuItems={MAIN_MENU} imageSrc={logoImageSrc} />
<section className="banner-section">
<div className="container">
<div className="row">
@@ -42,3 +61,6 @@ const SubHeaderComponent = ({header1,description}: Props) =>{
}
export default SubHeaderComponent;
export const dynamic = 'force-dynamic'

View File

@@ -8,6 +8,7 @@ import { YogaAboutUsWithBoxesComponent } from './yoga-about-us-with-boxes-compon
import { YogaDiscountComponent } from './yoga-discount-component';
import { YogaTextWithImageComponent } from './yoga-text-with-image-component';
import { YogaAchivementsComponent } from './yoga-achivements-component';
import { YogaCommon } from './yoga-common';
import { HeaderB_Plain } from '../components/yoga-site/HeaderB';
import { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
@@ -16,6 +17,7 @@ import { YogaAboutUsWithBoxesComponent_Plain } from './yoga-about-us-with-boxes-
import { YogaDiscountComponent_Plain } from './yoga-discount-component';
import { YogaTextWithImageComponent_Plain } from './yoga-text-with-image-component';
import { YogaAchivementsComponent_Plain } from './yoga-achivements-component';
import { YogaCommon_Plain } from './yoga-common';
import { HeaderB_NoRelations } from '../components/yoga-site/HeaderB';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
@@ -31,6 +33,7 @@ export interface About {
ourMission?: { data: YogaTextWithImageComponent };
ourVision?: { data: YogaTextWithImageComponent };
achievements?: { data: YogaAchivementsComponent };
common?: { data: YogaCommon };
locale: string;
localizations?: { data: About[] };
};
@@ -46,6 +49,7 @@ export interface About_Plain {
ourMission?: YogaTextWithImageComponent_Plain;
ourVision?: YogaTextWithImageComponent_Plain;
achievements?: YogaAchivementsComponent_Plain;
common?: YogaCommon_Plain;
locale: string;
localizations?: About_Plain[];
}
@@ -61,6 +65,7 @@ export interface About_NoRelations {
ourMission?: number;
ourVision?: number;
achievements?: number;
common?: number;
locale: string;
localizations?: About[];
}
@@ -76,6 +81,7 @@ export interface About_AdminPanelLifeCycle {
ourMission?: AdminPanelRelationPropertyModification<YogaTextWithImageComponent_Plain>;
ourVision?: AdminPanelRelationPropertyModification<YogaTextWithImageComponent_Plain>;
achievements?: AdminPanelRelationPropertyModification<YogaAchivementsComponent_Plain>;
common?: AdminPanelRelationPropertyModification<YogaCommon_Plain>;
locale: string;
localizations?: About[];
}

View File

@@ -4,10 +4,12 @@ import { YogaContactUs } from './yoga-contact-us';
import { YogaGoogleMapsComponent } from './yoga-google-maps-component';
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer';
import { YogaCommon } from './yoga-common';
import { YogaContactUs_Plain } from './yoga-contact-us';
import { YogaGoogleMapsComponent_Plain } from './yoga-google-maps-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer';
import { YogaCommon_Plain } from './yoga-common';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface ContactPage {
@@ -19,6 +21,7 @@ export interface ContactPage {
google_maps?: { data: YogaGoogleMapsComponent };
subscribe?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter };
common?: { data: YogaCommon };
};
}
export interface ContactPage_Plain {
@@ -29,6 +32,7 @@ export interface ContactPage_Plain {
google_maps?: YogaGoogleMapsComponent_Plain;
subscribe?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain;
common?: YogaCommon_Plain;
}
export interface ContactPage_NoRelations {
@@ -39,6 +43,7 @@ export interface ContactPage_NoRelations {
google_maps?: number;
subscribe?: number;
footer?: number;
common?: number;
}
export interface ContactPage_AdminPanelLifeCycle {
@@ -49,4 +54,5 @@ export interface ContactPage_AdminPanelLifeCycle {
google_maps?: AdminPanelRelationPropertyModification<YogaGoogleMapsComponent_Plain>;
subscribe?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
common?: AdminPanelRelationPropertyModification<YogaCommon_Plain>;
}

View File

@@ -5,11 +5,13 @@ import { YogaAchivementsComponent } from './yoga-achivements-component';
import { YogaBlogPostsComponent } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer';
import { YogaCommon } from './yoga-common';
import { YogaFaqComponent_Plain } from './yoga-faq-component';
import { YogaAchivementsComponent_Plain } from './yoga-achivements-component';
import { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer';
import { YogaCommon_Plain } from './yoga-common';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface FaqPage {
@@ -22,6 +24,7 @@ export interface FaqPage {
blogs?: { data: YogaBlogPostsComponent };
subscribe?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter };
common?: { data: YogaCommon };
};
}
export interface FaqPage_Plain {
@@ -33,6 +36,7 @@ export interface FaqPage_Plain {
blogs?: YogaBlogPostsComponent_Plain;
subscribe?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain;
common?: YogaCommon_Plain;
}
export interface FaqPage_NoRelations {
@@ -44,6 +48,7 @@ export interface FaqPage_NoRelations {
blogs?: number;
subscribe?: number;
footer?: number;
common?: number;
}
export interface FaqPage_AdminPanelLifeCycle {
@@ -55,4 +60,5 @@ export interface FaqPage_AdminPanelLifeCycle {
blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>;
subscribe?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
common?: AdminPanelRelationPropertyModification<YogaCommon_Plain>;
}

View File

@@ -14,6 +14,7 @@ export interface Global {
favicon?: { data: Media };
siteDescription: string;
defaultSeo?: Seo;
logoImage?: { data: Media };
};
}
export interface Global_Plain {
@@ -22,6 +23,7 @@ export interface Global_Plain {
favicon?: Media_Plain;
siteDescription: string;
defaultSeo?: Seo_Plain;
logoImage?: Media_Plain;
}
export interface Global_NoRelations {
@@ -30,6 +32,7 @@ export interface Global_NoRelations {
favicon?: number;
siteDescription: string;
defaultSeo?: Seo_NoRelations;
logoImage?: number;
}
export interface Global_AdminPanelLifeCycle {
@@ -38,4 +41,5 @@ export interface Global_AdminPanelLifeCycle {
favicon?: AdminPanelRelationPropertyModification<Media_Plain>;
siteDescription: string;
defaultSeo?: Seo_Plain;
logoImage?: AdminPanelRelationPropertyModification<Media_Plain>;
}

View File

@@ -5,11 +5,13 @@ import { YogaDiscountComponent } from './yoga-discount-component';
import { YogaBlogPostsComponent } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer';
import { YogaCommon } from './yoga-common';
import { YogaPriceComponent_Plain } from './yoga-price-component';
import { YogaDiscountComponent_Plain } from './yoga-discount-component';
import { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer';
import { YogaCommon_Plain } from './yoga-common';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface PricesPage {
@@ -22,6 +24,7 @@ export interface PricesPage {
blogs?: { data: YogaBlogPostsComponent };
subscribe?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter };
common?: { data: YogaCommon };
};
}
export interface PricesPage_Plain {
@@ -33,6 +36,7 @@ export interface PricesPage_Plain {
blogs?: YogaBlogPostsComponent_Plain;
subscribe?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain;
common?: YogaCommon_Plain;
}
export interface PricesPage_NoRelations {
@@ -44,6 +48,7 @@ export interface PricesPage_NoRelations {
blogs?: number;
subscribe?: number;
footer?: number;
common?: number;
}
export interface PricesPage_AdminPanelLifeCycle {
@@ -55,4 +60,5 @@ export interface PricesPage_AdminPanelLifeCycle {
blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>;
subscribe?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
common?: AdminPanelRelationPropertyModification<YogaCommon_Plain>;
}

View File

@@ -2,8 +2,10 @@
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer';
import { YogaCommon } from './yoga-common';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer';
import { YogaCommon_Plain } from './yoga-common';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface ServicePage {
@@ -13,6 +15,7 @@ export interface ServicePage {
description?: string;
subscribeNow?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter };
common?: { data: YogaCommon };
};
}
export interface ServicePage_Plain {
@@ -21,6 +24,7 @@ export interface ServicePage_Plain {
description?: string;
subscribeNow?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain;
common?: YogaCommon_Plain;
}
export interface ServicePage_NoRelations {
@@ -29,6 +33,7 @@ export interface ServicePage_NoRelations {
description?: string;
subscribeNow?: number;
footer?: number;
common?: number;
}
export interface ServicePage_AdminPanelLifeCycle {
@@ -37,4 +42,5 @@ export interface ServicePage_AdminPanelLifeCycle {
description?: string;
subscribeNow?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
common?: AdminPanelRelationPropertyModification<YogaCommon_Plain>;
}

View File

@@ -7,6 +7,7 @@ import { YogaCustomerFeedbackComponent } from './yoga-customer-feedback-componen
import { YogaBlogPostsComponent } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer';
import { YogaCommon } from './yoga-common';
import { YogaOurServicesComponent_Plain } from './yoga-our-services-component';
import { YogaContactUs_Plain } from './yoga-contact-us';
import { YogaSpecialitiesComponent_Plain } from './yoga-specialities-component';
@@ -14,6 +15,7 @@ import { YogaCustomerFeedbackComponent_Plain } from './yoga-customer-feedback-co
import { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer';
import { YogaCommon_Plain } from './yoga-common';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface ServicesPage {
@@ -29,6 +31,7 @@ export interface ServicesPage {
subscribe?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter };
title?: string;
common?: { data: YogaCommon };
};
}
export interface ServicesPage_Plain {
@@ -43,6 +46,7 @@ export interface ServicesPage_Plain {
subscribe?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain;
title?: string;
common?: YogaCommon_Plain;
}
export interface ServicesPage_NoRelations {
@@ -57,6 +61,7 @@ export interface ServicesPage_NoRelations {
subscribe?: number;
footer?: number;
title?: string;
common?: number;
}
export interface ServicesPage_AdminPanelLifeCycle {
@@ -71,4 +76,5 @@ export interface ServicesPage_AdminPanelLifeCycle {
subscribe?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
title?: string;
common?: AdminPanelRelationPropertyModification<YogaCommon_Plain>;
}

View File

@@ -0,0 +1,26 @@
// 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 YogaCommon {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; logoImage?: { data: Media };
};
}
export interface YogaCommon_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; logoImage?: Media_Plain;
}
export interface YogaCommon_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; logoImage?: number;
}
export interface YogaCommon_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; logoImage?: AdminPanelRelationPropertyModification<Media_Plain>;
}