footer, feedback, subscribe

This commit is contained in:
Schneider Roland
2025-01-21 23:19:02 +01:00
parent a068aeb375
commit 86dda89db9
43 changed files with 841 additions and 162 deletions

View File

@@ -8,6 +8,8 @@ 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 { HeaderB_Plain } from '../components/yoga-site/HeaderB';
import { YogaContactUs_Plain } from './yoga-contact-us';
import { YogaPriceComponent_Plain } from './yoga-price-component';
@@ -16,6 +18,8 @@ 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 { HeaderB_NoRelations } from '../components/yoga-site/HeaderB';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
@@ -30,6 +34,8 @@ export interface About {
feedbacks?: { data: YogaCustomerFeedbackComponent };
ourServices?: { data: YogaOurServicesComponent };
blogs?: { data: YogaBlogPostsComponent };
subscribeNow?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter };
locale: string;
localizations?: { data: About[] };
};
@@ -44,6 +50,8 @@ export interface About_Plain {
feedbacks?: YogaCustomerFeedbackComponent_Plain;
ourServices?: YogaOurServicesComponent_Plain;
blogs?: YogaBlogPostsComponent_Plain;
subscribeNow?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain;
locale: string;
localizations?: About_Plain[];
}
@@ -58,6 +66,8 @@ export interface About_NoRelations {
feedbacks?: number;
ourServices?: number;
blogs?: number;
subscribeNow?: number;
footer?: number;
locale: string;
localizations?: About[];
}
@@ -72,6 +82,8 @@ export interface About_AdminPanelLifeCycle {
feedbacks?: AdminPanelRelationPropertyModification<YogaCustomerFeedbackComponent_Plain>;
ourServices?: AdminPanelRelationPropertyModification<YogaOurServicesComponent_Plain>;
blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>;
subscribeNow?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
locale: string;
localizations?: About[];
}

View File

@@ -1,7 +1,10 @@
// Interface automatically generated by schemas-to-ts
import { YogaBlogPost } from './yoga-blog-post';
import { Button } from '../components/yoga-site/Button';
import { YogaBlogPost_Plain } from './yoga-blog-post';
import { Button_Plain } from '../components/yoga-site/Button';
import { Button_NoRelations } from '../components/yoga-site/Button';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaBlogPostsComponent {
@@ -12,6 +15,7 @@ export interface YogaBlogPostsComponent {
header?: string;
description?: string;
posts: { data: YogaBlogPost[] };
button?: Button;
};
}
export interface YogaBlogPostsComponent_Plain {
@@ -21,6 +25,7 @@ export interface YogaBlogPostsComponent_Plain {
header?: string;
description?: string;
posts: YogaBlogPost_Plain[];
button?: Button_Plain;
}
export interface YogaBlogPostsComponent_NoRelations {
@@ -30,6 +35,7 @@ export interface YogaBlogPostsComponent_NoRelations {
header?: string;
description?: string;
posts: number[];
button?: Button_NoRelations;
}
export interface YogaBlogPostsComponent_AdminPanelLifeCycle {
@@ -39,4 +45,5 @@ export interface YogaBlogPostsComponent_AdminPanelLifeCycle {
header?: string;
description?: string;
posts: AdminPanelRelationPropertyModification<YogaBlogPost_Plain>;
button?: Button_Plain;
}

View File

@@ -0,0 +1,62 @@
// Interface automatically generated by schemas-to-ts
import { Link } from '../components/yoga-site/Link';
import { Link_Plain } from '../components/yoga-site/Link';
import { Link_NoRelations } from '../components/yoga-site/Link';
export interface YogaFooter {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; aboutUsHeader?: string;
aboutUsContent?: string;
quickLinksHeader?: string;
contactInfoHeader?: string;
links: Link[];
contactUsPhoneNumber?: Link;
contactUsEmail?: Link;
contactUsLocation?: Link;
copyRight?: string;
name?: string;
};
}
export interface YogaFooter_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; aboutUsHeader?: string;
aboutUsContent?: string;
quickLinksHeader?: string;
contactInfoHeader?: string;
links: Link_Plain[];
contactUsPhoneNumber?: Link_Plain;
contactUsEmail?: Link_Plain;
contactUsLocation?: Link_Plain;
copyRight?: string;
name?: string;
}
export interface YogaFooter_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; aboutUsHeader?: string;
aboutUsContent?: string;
quickLinksHeader?: string;
contactInfoHeader?: string;
links: Link_NoRelations[];
contactUsPhoneNumber?: Link_NoRelations;
contactUsEmail?: Link_NoRelations;
contactUsLocation?: Link_NoRelations;
copyRight?: string;
name?: string;
}
export interface YogaFooter_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; aboutUsHeader?: string;
aboutUsContent?: string;
quickLinksHeader?: string;
contactInfoHeader?: string;
links: Link_Plain[];
contactUsPhoneNumber?: Link_Plain;
contactUsEmail?: Link_Plain;
contactUsLocation?: Link_Plain;
copyRight?: string;
name?: string;
}

View File

@@ -0,0 +1,34 @@
// Interface automatically generated by schemas-to-ts
export interface YogaSubscribeNowComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
placeHolderEmail?: string;
buttonSubscribeLabel?: string;
};
}
export interface YogaSubscribeNowComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
placeHolderEmail?: string;
buttonSubscribeLabel?: string;
}
export interface YogaSubscribeNowComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
placeHolderEmail?: string;
buttonSubscribeLabel?: string;
}
export interface YogaSubscribeNowComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
placeHolderEmail?: string;
buttonSubscribeLabel?: string;
}

View File

@@ -0,0 +1,16 @@
// Interface automatically generated by schemas-to-ts
export interface Button {
label?: string;
link?: string;
}
export interface Button_Plain {
label?: string;
link?: string;
}
export interface Button_NoRelations {
label?: string;
link?: string;
}

View File

@@ -0,0 +1,16 @@
// Interface automatically generated by schemas-to-ts
export interface Link {
linkLabel?: string;
linkHref?: string;
}
export interface Link_Plain {
linkLabel?: string;
linkHref?: string;
}
export interface Link_NoRelations {
linkLabel?: string;
linkHref?: string;
}

View File

@@ -60,6 +60,16 @@
"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"
}
}
}

View File

@@ -4,7 +4,8 @@
"info": {
"singularName": "yoga-blog-posts-component",
"pluralName": "yoga-blog-posts-components",
"displayName": "YogaBlogPostsComponent"
"displayName": "YogaBlogPostsComponent",
"description": ""
},
"options": {
"draftAndPublish": true
@@ -27,6 +28,11 @@
"type": "relation",
"relation": "oneToMany",
"target": "api::yoga-blog-post.yoga-blog-post"
},
"button": {
"type": "component",
"repeatable": false,
"component": "yoga-site.button"
}
}
}

View File

@@ -0,0 +1,55 @@
{
"kind": "collectionType",
"collectionName": "yoga_footers",
"info": {
"singularName": "yoga-footer",
"pluralName": "yoga-footers",
"displayName": "YogaFooter",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"aboutUsHeader": {
"type": "string"
},
"aboutUsContent": {
"type": "text"
},
"quickLinksHeader": {
"type": "string"
},
"contactInfoHeader": {
"type": "string"
},
"links": {
"type": "component",
"repeatable": true,
"component": "yoga-site.link"
},
"contactUsPhoneNumber": {
"type": "component",
"repeatable": false,
"component": "yoga-site.link",
"required": false
},
"contactUsEmail": {
"type": "component",
"repeatable": false,
"component": "yoga-site.link"
},
"contactUsLocation": {
"type": "component",
"repeatable": false,
"component": "yoga-site.link"
},
"copyRight": {
"type": "string"
},
"name": {
"type": "string"
}
}
}

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,27 @@
{
"kind": "collectionType",
"collectionName": "yoga_subscribe_now_components",
"info": {
"singularName": "yoga-subscribe-now-component",
"pluralName": "yoga-subscribe-now-components",
"displayName": "YogaSubscribeNowComponent"
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"title": {
"type": "string"
},
"header": {
"type": "string"
},
"placeHolderEmail": {
"type": "string"
},
"buttonSubscribeLabel": {
"type": "string"
}
}
}

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,15 @@
{
"collectionName": "components_yoga_site_buttons",
"info": {
"displayName": "button"
},
"options": {},
"attributes": {
"label": {
"type": "string"
},
"link": {
"type": "string"
}
}
}

View File

@@ -0,0 +1,16 @@
{
"collectionName": "components_yoga_site_links",
"info": {
"displayName": "link",
"description": ""
},
"options": {},
"attributes": {
"linkLabel": {
"type": "string"
},
"linkHref": {
"type": "string"
}
}
}

View File

@@ -84,6 +84,17 @@ export interface SharedTitleDescription extends Struct.ComponentSchema {
};
}
export interface YogaSiteButton extends Struct.ComponentSchema {
collectionName: 'components_yoga_site_buttons';
info: {
displayName: 'button';
};
attributes: {
label: Schema.Attribute.String;
link: Schema.Attribute.String;
};
}
export interface YogaSiteHeaderB extends Struct.ComponentSchema {
collectionName: 'components_yoga_site_header_bs';
info: {
@@ -97,6 +108,18 @@ export interface YogaSiteHeaderB extends Struct.ComponentSchema {
};
}
export interface YogaSiteLink extends Struct.ComponentSchema {
collectionName: 'components_yoga_site_links';
info: {
description: '';
displayName: 'link';
};
attributes: {
linkHref: Schema.Attribute.String;
linkLabel: Schema.Attribute.String;
};
}
export interface YogaSiteOurServicesComponent extends Struct.ComponentSchema {
collectionName: 'components_yoga_site_our_services_components';
info: {
@@ -130,7 +153,9 @@ declare module '@strapi/strapi' {
'shared.seo': SharedSeo;
'shared.slider': SharedSlider;
'shared.title-description': SharedTitleDescription;
'yoga-site.button': YogaSiteButton;
'yoga-site.header-b': YogaSiteHeaderB;
'yoga-site.link': YogaSiteLink;
'yoga-site.our-services-component': YogaSiteOurServicesComponent;
'yoga-site.tag': YogaSiteTag;
}

View File

@@ -405,6 +405,10 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema {
'oneToOne',
'api::yoga-customer-feedback-component.yoga-customer-feedback-component'
>;
footer: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-footer.yoga-footer'
>;
header: Schema.Attribute.Component<'yoga-site.header-b', false> &
Schema.Attribute.SetPluginOptions<{
i18n: {
@@ -426,6 +430,10 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema {
'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;
@@ -748,6 +756,7 @@ export interface ApiYogaBlogPostsComponentYogaBlogPostsComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_blog_posts_components';
info: {
description: '';
displayName: 'YogaBlogPostsComponent';
pluralName: 'yoga-blog-posts-components';
singularName: 'yoga-blog-posts-component';
@@ -756,6 +765,7 @@ export interface ApiYogaBlogPostsComponentYogaBlogPostsComponent
draftAndPublish: true;
};
attributes: {
button: Schema.Attribute.Component<'yoga-site.button', false>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
@@ -928,6 +938,44 @@ export interface ApiYogaCustomerFeedbackYogaCustomerFeedback
};
}
export interface ApiYogaFooterYogaFooter extends Struct.CollectionTypeSchema {
collectionName: 'yoga_footers';
info: {
description: '';
displayName: 'YogaFooter';
pluralName: 'yoga-footers';
singularName: 'yoga-footer';
};
options: {
draftAndPublish: true;
};
attributes: {
aboutUsContent: Schema.Attribute.Text;
aboutUsHeader: Schema.Attribute.String;
contactInfoHeader: Schema.Attribute.String;
contactUsEmail: Schema.Attribute.Component<'yoga-site.link', false>;
contactUsLocation: Schema.Attribute.Component<'yoga-site.link', false>;
contactUsPhoneNumber: Schema.Attribute.Component<'yoga-site.link', false>;
copyRight: Schema.Attribute.String;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
links: Schema.Attribute.Component<'yoga-site.link', true>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-footer.yoga-footer'
> &
Schema.Attribute.Private;
name: Schema.Attribute.String;
publishedAt: Schema.Attribute.DateTime;
quickLinksHeader: 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';
@@ -1288,6 +1336,38 @@ export interface ApiYogaSpecialitiesComponentYogaSpecialitiesComponent
};
}
export interface ApiYogaSubscribeNowComponentYogaSubscribeNowComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_subscribe_now_components';
info: {
displayName: 'YogaSubscribeNowComponent';
pluralName: 'yoga-subscribe-now-components';
singularName: 'yoga-subscribe-now-component';
};
options: {
draftAndPublish: true;
};
attributes: {
buttonSubscribeLabel: Schema.Attribute.String;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
header: Schema.Attribute.String;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-subscribe-now-component.yoga-subscribe-now-component'
> &
Schema.Attribute.Private;
placeHolderEmail: 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 ApiYogaTagYogaTag extends Struct.CollectionTypeSchema {
collectionName: 'yoga_tags';
info: {
@@ -1838,12 +1918,14 @@ declare module '@strapi/strapi' {
'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-footer.yoga-footer': ApiYogaFooterYogaFooter;
'api::yoga-our-services-component.yoga-our-services-component': ApiYogaOurServicesComponentYogaOurServicesComponent;
'api::yoga-price-component.yoga-price-component': ApiYogaPriceComponentYogaPriceComponent;
'api::yoga-price.yoga-price': ApiYogaPriceYogaPrice;
'api::yoga-single-service.yoga-single-service': ApiYogaSingleServiceYogaSingleService;
'api::yoga-single-speciality.yoga-single-speciality': ApiYogaSingleSpecialityYogaSingleSpeciality;
'api::yoga-specialities-component.yoga-specialities-component': ApiYogaSpecialitiesComponentYogaSpecialitiesComponent;
'api::yoga-subscribe-now-component.yoga-subscribe-now-component': ApiYogaSubscribeNowComponentYogaSubscribeNowComponent;
'api::yoga-tag.yoga-tag': ApiYogaTagYogaTag;
'plugin::content-releases.release': PluginContentReleasesRelease;
'plugin::content-releases.release-action': PluginContentReleasesReleaseAction;