diff --git a/api.http b/api.http index 092e698..c69310d 100644 --- a/api.http +++ b/api.http @@ -13,6 +13,6 @@ 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[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[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[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]=* Accept: application/json #Authorization: Bearer {{token}} diff --git a/environment/dev/docker/app/scripts/version.txt b/environment/dev/docker/app/scripts/version.txt index 59b789f..c772dc7 100644 --- a/environment/dev/docker/app/scripts/version.txt +++ b/environment/dev/docker/app/scripts/version.txt @@ -1 +1 @@ -202501071722.a8b144f +202501081712.9d7bb39 diff --git a/yoga-app/src/app/about/page.tsx b/yoga-app/src/app/about/page.tsx index 22ec465..9185ca3 100644 --- a/yoga-app/src/app/about/page.tsx +++ b/yoga-app/src/app/about/page.tsx @@ -23,7 +23,8 @@ export default async function About() { aboutUs, contactUs, ourSpecialities, - prices + prices, + blogs } = pageData; @@ -36,7 +37,7 @@ export default async function About() { { contactUs && } { prices && } - + { blogs && } diff --git a/yoga-app/src/app/api/strapi/query/about.json b/yoga-app/src/app/api/strapi/query/about.json index 5919e6d..7423895 100644 --- a/yoga-app/src/app/api/strapi/query/about.json +++ b/yoga-app/src/app/api/strapi/query/about.json @@ -3,6 +3,22 @@ "header": { "fields": ["header1","description"] }, + "blogs": { + "fields": ["*"], + "populate": { + "posts": { + "fields": ["name", "id", "header" ], + "populate": { + "tags": { + "fields": ["*" ] + }, + "teaserImage": { + "fields": ["name","mime","url"] + } + } + } + } + }, "feedbacks": { "fields": ["*"], "populate": { diff --git a/yoga-app/src/components/blog.posts.component.tsx b/yoga-app/src/components/blog.posts.component.tsx index 2b43132..6f98f83 100644 --- a/yoga-app/src/components/blog.posts.component.tsx +++ b/yoga-app/src/components/blog.posts.component.tsx @@ -1,16 +1,19 @@ import YogaImageComponent from "@/components/yoga.image.component"; +import {YogaBlogPostsComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-blog-posts-component"; +export interface Props { -const BlogPostsComponent = () => { + config: YogaBlogPostsComponent_Plain +} +const BlogPostsComponent = ( {config: { title,header,description,posts} }: Props) => { return (
-
Blog Posts
-

Our News Feed

-

Autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae - consequatur vel illum qui dolorem eum fugiat

+
{title}
+

{header}

+

{description}

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 4a25ae4..8d3b5bb 100644 --- a/yoga-app/src/types/generated-strapi-interfaces/api/about.ts +++ b/yoga-app/src/types/generated-strapi-interfaces/api/about.ts @@ -1,30 +1,35 @@ // Interface automatically generated by schemas-to-ts import { HeaderB } from '../components/yoga-site/HeaderB'; -import { OurServicesComponent } from '../components/yoga-site/OurServicesComponent'; 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 { HeaderB_Plain } from '../components/yoga-site/HeaderB'; -import { OurServicesComponent_Plain } from '../components/yoga-site/OurServicesComponent'; 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 { HeaderB_NoRelations } from '../components/yoga-site/HeaderB'; -import { OurServicesComponent_NoRelations } from '../components/yoga-site/OurServicesComponent'; import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; export interface About { id: number; attributes: { createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB; - ourServices: OurServicesComponent; contactUs?: { data: YogaContactUs }; prices?: { data: YogaPriceComponent }; ourSpecialities?: { data: YogaSpecialitiesComponent }; aboutUs?: { data: YogaAboutUsComponent }; + feedbacks?: { data: YogaCustomerFeedbackComponent }; + ourServices?: { data: YogaOurServicesComponent }; + blogs?: { data: YogaBlogPostsComponent }; locale: string; localizations?: { data: About[] }; }; @@ -32,11 +37,13 @@ export interface About { export interface About_Plain { id: number; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain; - ourServices: OurServicesComponent_Plain; contactUs?: YogaContactUs_Plain; prices?: YogaPriceComponent_Plain; ourSpecialities?: YogaSpecialitiesComponent_Plain; aboutUs?: YogaAboutUsComponent_Plain; + feedbacks?: YogaCustomerFeedbackComponent_Plain; + ourServices?: YogaOurServicesComponent_Plain; + blogs?: YogaBlogPostsComponent_Plain; locale: string; localizations?: About_Plain[]; } @@ -44,11 +51,13 @@ export interface About_Plain { export interface About_NoRelations { id: number; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_NoRelations; - ourServices: OurServicesComponent_NoRelations; contactUs?: number; prices?: number; ourSpecialities?: number; aboutUs?: number; + feedbacks?: number; + ourServices?: number; + blogs?: number; locale: string; localizations?: About[]; } @@ -56,11 +65,13 @@ export interface About_NoRelations { export interface About_AdminPanelLifeCycle { id: number; createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: HeaderB_Plain; - ourServices: OurServicesComponent_Plain; contactUs?: AdminPanelRelationPropertyModification; prices?: AdminPanelRelationPropertyModification; ourSpecialities?: AdminPanelRelationPropertyModification; aboutUs?: AdminPanelRelationPropertyModification; + feedbacks?: AdminPanelRelationPropertyModification; + ourServices?: AdminPanelRelationPropertyModification; + blogs?: AdminPanelRelationPropertyModification; locale: string; localizations?: About[]; } diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-blog-post.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-blog-post.ts new file mode 100644 index 0000000..6c7bfba --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-blog-post.ts @@ -0,0 +1,44 @@ +// Interface automatically generated by schemas-to-ts + +import { Media } from '../components/shared/Media'; +import { YogaTag } from './yoga-tag'; +import { Media_Plain } from '../components/shared/Media'; +import { YogaTag_Plain } from './yoga-tag'; +import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; + +export interface YogaBlogPost { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + header?: string; + teaserImage?: { data: Media }; + article?: string; + tags: { data: YogaTag[] }; + }; +} +export interface YogaBlogPost_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + header?: string; + teaserImage?: Media_Plain; + article?: string; + tags: YogaTag_Plain[]; +} + +export interface YogaBlogPost_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + header?: string; + teaserImage?: number; + article?: string; + tags: number[]; +} + +export interface YogaBlogPost_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + header?: string; + teaserImage?: AdminPanelRelationPropertyModification; + article?: string; + tags: AdminPanelRelationPropertyModification; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-blog-posts-component.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-blog-posts-component.ts new file mode 100644 index 0000000..d35391a --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-blog-posts-component.ts @@ -0,0 +1,42 @@ +// Interface automatically generated by schemas-to-ts + +import { YogaBlogPost } from './yoga-blog-post'; +import { YogaBlogPost_Plain } from './yoga-blog-post'; +import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; + +export interface YogaBlogPostsComponent { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + title?: string; + header?: string; + description?: string; + posts: { data: YogaBlogPost[] }; + }; +} +export interface YogaBlogPostsComponent_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + title?: string; + header?: string; + description?: string; + posts: YogaBlogPost_Plain[]; +} + +export interface YogaBlogPostsComponent_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + title?: string; + header?: string; + description?: string; + posts: number[]; +} + +export interface YogaBlogPostsComponent_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + title?: string; + header?: string; + description?: string; + posts: AdminPanelRelationPropertyModification; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-customer-feedback-component.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-customer-feedback-component.ts new file mode 100644 index 0000000..f0587a7 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-customer-feedback-component.ts @@ -0,0 +1,30 @@ +// Interface automatically generated by schemas-to-ts + +import { YogaCustomerFeedback } from './yoga-customer-feedback'; +import { YogaCustomerFeedback_Plain } from './yoga-customer-feedback'; +import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; + +export interface YogaCustomerFeedbackComponent { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + feedbacks: { data: YogaCustomerFeedback[] }; + }; +} +export interface YogaCustomerFeedbackComponent_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + feedbacks: YogaCustomerFeedback_Plain[]; +} + +export interface YogaCustomerFeedbackComponent_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + feedbacks: number[]; +} + +export interface YogaCustomerFeedbackComponent_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + feedbacks: AdminPanelRelationPropertyModification; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-customer-feedback.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-customer-feedback.ts new file mode 100644 index 0000000..e0f7d94 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-customer-feedback.ts @@ -0,0 +1,42 @@ +// 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 YogaCustomerFeedback { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + customerName?: string; + feedback?: string; + customerImage?: { data: Media }; + customerDescription?: string; + }; +} +export interface YogaCustomerFeedback_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + customerName?: string; + feedback?: string; + customerImage?: Media_Plain; + customerDescription?: string; +} + +export interface YogaCustomerFeedback_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + customerName?: string; + feedback?: string; + customerImage?: number; + customerDescription?: string; +} + +export interface YogaCustomerFeedback_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + customerName?: string; + feedback?: string; + customerImage?: AdminPanelRelationPropertyModification; + customerDescription?: string; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-our-services-component.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-our-services-component.ts new file mode 100644 index 0000000..0fe00b0 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-our-services-component.ts @@ -0,0 +1,50 @@ +// Interface automatically generated by schemas-to-ts + +import { YogaSingleService } from './yoga-single-service'; +import { YogaSingleService_Plain } from './yoga-single-service'; +import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; + +export interface YogaOurServicesComponent { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string; + header?: string; + description?: string; + services: { data: YogaSingleService[] }; + name?: string; + locale: string; + localizations?: { data: YogaOurServicesComponent[] }; + }; +} +export interface YogaOurServicesComponent_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string; + header?: string; + description?: string; + services: YogaSingleService_Plain[]; + name?: string; + locale: string; + localizations?: YogaOurServicesComponent_Plain[]; +} + +export interface YogaOurServicesComponent_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string; + header?: string; + description?: string; + services: number[]; + name?: string; + locale: string; + localizations?: YogaOurServicesComponent[]; +} + +export interface YogaOurServicesComponent_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string; + header?: string; + description?: string; + services: AdminPanelRelationPropertyModification; + name?: string; + locale: string; + localizations?: YogaOurServicesComponent[]; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-single-service.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-single-service.ts new file mode 100644 index 0000000..bcfab73 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-single-service.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 YogaSingleService { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + buttonLink?: string; + image?: { data: Media }; + imageAlt?: string; + name?: string; + locale: string; + localizations?: { data: YogaSingleService[] }; + }; +} +export interface YogaSingleService_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + buttonLink?: string; + image?: Media_Plain; + imageAlt?: string; + name?: string; + locale: string; + localizations?: YogaSingleService_Plain[]; +} + +export interface YogaSingleService_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + buttonLink?: string; + image?: number; + imageAlt?: string; + name?: string; + locale: string; + localizations?: YogaSingleService[]; +} + +export interface YogaSingleService_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + buttonLink?: string; + image?: AdminPanelRelationPropertyModification; + imageAlt?: string; + name?: string; + locale: string; + localizations?: YogaSingleService[]; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/yoga-tag.ts b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-tag.ts new file mode 100644 index 0000000..29e734e --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/yoga-tag.ts @@ -0,0 +1,22 @@ +// Interface automatically generated by schemas-to-ts + +export interface YogaTag { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; tag?: string; + }; +} +export interface YogaTag_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; tag?: string; +} + +export interface YogaTag_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; tag?: string; +} + +export interface YogaTag_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; tag?: string; +} diff --git a/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/AboutUs.ts b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/AboutUs.ts deleted file mode 100644 index 1a8486d..0000000 --- a/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/AboutUs.ts +++ /dev/null @@ -1,28 +0,0 @@ -// Interface automatically generated by schemas-to-ts - -export interface AboutUs { - title?: string; - header?: string; - description?: string; - content?: string; - buttonLabel?: string; - buttonLink?: string; -} -export interface AboutUs_Plain { - title?: string; - header?: string; - description?: string; - content?: string; - buttonLabel?: string; - buttonLink?: string; -} - -export interface AboutUs_NoRelations { - title?: string; - header?: string; - description?: string; - content?: string; - buttonLabel?: string; - buttonLink?: string; -} - diff --git a/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/Tag.ts b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/Tag.ts new file mode 100644 index 0000000..21b15d1 --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/components/yoga-site/Tag.ts @@ -0,0 +1,13 @@ +// Interface automatically generated by schemas-to-ts + +export interface Tag { + tag?: string; +} +export interface Tag_Plain { + tag?: string; +} + +export interface Tag_NoRelations { + tag?: string; +} + diff --git a/yoga-cms/generated-strapi-interfaces/api/about.ts b/yoga-cms/generated-strapi-interfaces/api/about.ts index 691f18c..8d3b5bb 100644 --- a/yoga-cms/generated-strapi-interfaces/api/about.ts +++ b/yoga-cms/generated-strapi-interfaces/api/about.ts @@ -7,6 +7,7 @@ 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 { HeaderB_Plain } from '../components/yoga-site/HeaderB'; import { YogaContactUs_Plain } from './yoga-contact-us'; import { YogaPriceComponent_Plain } from './yoga-price-component'; @@ -14,6 +15,7 @@ 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 { HeaderB_NoRelations } from '../components/yoga-site/HeaderB'; import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; @@ -27,6 +29,7 @@ export interface About { aboutUs?: { data: YogaAboutUsComponent }; feedbacks?: { data: YogaCustomerFeedbackComponent }; ourServices?: { data: YogaOurServicesComponent }; + blogs?: { data: YogaBlogPostsComponent }; locale: string; localizations?: { data: About[] }; }; @@ -40,6 +43,7 @@ export interface About_Plain { aboutUs?: YogaAboutUsComponent_Plain; feedbacks?: YogaCustomerFeedbackComponent_Plain; ourServices?: YogaOurServicesComponent_Plain; + blogs?: YogaBlogPostsComponent_Plain; locale: string; localizations?: About_Plain[]; } @@ -53,6 +57,7 @@ export interface About_NoRelations { aboutUs?: number; feedbacks?: number; ourServices?: number; + blogs?: number; locale: string; localizations?: About[]; } @@ -66,6 +71,7 @@ export interface About_AdminPanelLifeCycle { aboutUs?: AdminPanelRelationPropertyModification; feedbacks?: AdminPanelRelationPropertyModification; ourServices?: AdminPanelRelationPropertyModification; + blogs?: AdminPanelRelationPropertyModification; locale: string; localizations?: About[]; } diff --git a/yoga-cms/generated-strapi-interfaces/api/yoga-blog-post.ts b/yoga-cms/generated-strapi-interfaces/api/yoga-blog-post.ts new file mode 100644 index 0000000..6c7bfba --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/yoga-blog-post.ts @@ -0,0 +1,44 @@ +// Interface automatically generated by schemas-to-ts + +import { Media } from '../components/shared/Media'; +import { YogaTag } from './yoga-tag'; +import { Media_Plain } from '../components/shared/Media'; +import { YogaTag_Plain } from './yoga-tag'; +import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; + +export interface YogaBlogPost { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + header?: string; + teaserImage?: { data: Media }; + article?: string; + tags: { data: YogaTag[] }; + }; +} +export interface YogaBlogPost_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + header?: string; + teaserImage?: Media_Plain; + article?: string; + tags: YogaTag_Plain[]; +} + +export interface YogaBlogPost_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + header?: string; + teaserImage?: number; + article?: string; + tags: number[]; +} + +export interface YogaBlogPost_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + header?: string; + teaserImage?: AdminPanelRelationPropertyModification; + article?: string; + tags: AdminPanelRelationPropertyModification; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/yoga-blog-posts-component.ts b/yoga-cms/generated-strapi-interfaces/api/yoga-blog-posts-component.ts new file mode 100644 index 0000000..d35391a --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/yoga-blog-posts-component.ts @@ -0,0 +1,42 @@ +// Interface automatically generated by schemas-to-ts + +import { YogaBlogPost } from './yoga-blog-post'; +import { YogaBlogPost_Plain } from './yoga-blog-post'; +import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; + +export interface YogaBlogPostsComponent { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + title?: string; + header?: string; + description?: string; + posts: { data: YogaBlogPost[] }; + }; +} +export interface YogaBlogPostsComponent_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + title?: string; + header?: string; + description?: string; + posts: YogaBlogPost_Plain[]; +} + +export interface YogaBlogPostsComponent_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + title?: string; + header?: string; + description?: string; + posts: number[]; +} + +export interface YogaBlogPostsComponent_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string; + title?: string; + header?: string; + description?: string; + posts: AdminPanelRelationPropertyModification; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/yoga-tag.ts b/yoga-cms/generated-strapi-interfaces/api/yoga-tag.ts new file mode 100644 index 0000000..29e734e --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/yoga-tag.ts @@ -0,0 +1,22 @@ +// Interface automatically generated by schemas-to-ts + +export interface YogaTag { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; tag?: string; + }; +} +export interface YogaTag_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; tag?: string; +} + +export interface YogaTag_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; tag?: string; +} + +export interface YogaTag_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; tag?: string; +} diff --git a/yoga-cms/generated-strapi-interfaces/components/yoga-site/Tag.ts b/yoga-cms/generated-strapi-interfaces/components/yoga-site/Tag.ts new file mode 100644 index 0000000..21b15d1 --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/components/yoga-site/Tag.ts @@ -0,0 +1,13 @@ +// Interface automatically generated by schemas-to-ts + +export interface Tag { + tag?: string; +} +export interface Tag_Plain { + tag?: string; +} + +export interface Tag_NoRelations { + tag?: string; +} + diff --git a/yoga-cms/package-lock.json b/yoga-cms/package-lock.json index 16b2447..fa5b164 100644 --- a/yoga-cms/package-lock.json +++ b/yoga-cms/package-lock.json @@ -8,6 +8,7 @@ "name": "yoga-cms", "version": "0.1.0", "dependencies": { + "@ckeditor/strapi-plugin-ckeditor": "^1.1.0", "@strapi/plugin-cloud": "5.6.0", "@strapi/plugin-users-permissions": "5.6.0", "@strapi/strapi": "5.6.0", @@ -388,6 +389,815 @@ "url": "https://github.com/stalniy/casl/blob/master/BACKERS.md" } }, + "node_modules/@ckeditor/ckeditor5-adapter-ckfinder": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-44.1.0.tgz", + "integrity": "sha512-RCamOkjMHlhUg7MhRbP/ZZJ7mq0zk1hj6Hg25efv22WHb2SNnesiwzLtYoyc6ess72/1CYpgZPfamhxsOTXoMA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-upload": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-alignment": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-44.1.0.tgz", + "integrity": "sha512-t+xIuGiG9pvG4lkglSQfXwoZU9zCPUvrBYISI8G0WAJXdWdmyWUN2Vj84CKQQ6LRgnqq/eybSR2O2l02psgtZw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-autoformat": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-44.1.0.tgz", + "integrity": "sha512-JHJh+iD9//sYsVlwdGZTV+ScPMlWjqFuR7xwF2QbU7xYGMqTy4mPnFvkT6fF73e3PZvtAzgENLU45pUAS9oo/A==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-autosave": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autosave/-/ckeditor5-autosave-44.1.0.tgz", + "integrity": "sha512-KlkJcgu5THkfdwzYzVa9zKkADGd8J5VW5kRrRSK4oJYONA5mmiZ9UsIcoIk2QbGnDGnZW1Iih5Pjrvz0HYjIKw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-basic-styles": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-44.1.0.tgz", + "integrity": "sha512-/pZ0wBdXlv8AX43O/nZ4ENg8Xk/SwZZMAJKKVZa3SwtxNRmeGYTNKIEQEQouWF1PLz3SEZ8L5sS/j9AYX7f5Xw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-block-quote": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-44.1.0.tgz", + "integrity": "sha512-mApNvTckUbAjeHFaPg7+Je3zTkJDDsM5FWNJJuzaRhl5TBvyW9BM+p7AN8B9cx+pj2Srzlbu+056c0jg4ibCIw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-enter": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-bookmark/-/ckeditor5-bookmark-44.1.0.tgz", + "integrity": "sha512-gzUOspXUb4sN308JbeVWLGxGdFHeYpobiBn8Zj2/Niw6y+/4ZQfssn7fLhKnoHM12bzoxYYq3DvcMUrs78Ukvg==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-ckbox": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckbox/-/ckeditor5-ckbox-44.1.0.tgz", + "integrity": "sha512-J+vJckr25Oi3KjJcTYIIUFa2KIXHitknW8iNPegavCV/FFNieTezvvpjJzROlWRiy+U7CRYvgrNbSJXHx5pR6Q==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-upload": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "blurhash": "2.0.5", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-ckfinder": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-44.1.0.tgz", + "integrity": "sha512-oRWHiejta6irRuO78KmtQEiYRrzcad+BycTrFsLRCIZp0hzKx5Vp5olAhXodX+d8gZaV8fJJpswdK0LTjrfKNA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-clipboard": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-44.1.0.tgz", + "integrity": "sha512-Z5P1P6ATLVy/c7AvI3Akt3mEqQfCnhZmz4EdAS7sF34WTayrHQ/TQjdte/0mN+6LXcQV1whhXe1xLM7GVsG+bg==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-cloud-services": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-44.1.0.tgz", + "integrity": "sha512-3Nr8EM6CyRpNkmm+7tbhg/4H16SY5Tqo0TLGHtXdyRxx7y2GLev5OsN01qBhSSGifALTCHyOWymxt5Qo9V5wXg==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-44.1.0.tgz", + "integrity": "sha512-2z4ULLehgMjwxvo0a26UkA2p3MdDITGVDpt7FZkO+P9XCim/j5DdXK4/xVNXLbrOifpFq/5kfrAZvjDX0lPMIw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-enter": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-core": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-44.1.0.tgz", + "integrity": "sha512-vBxHT/g37uWM5QKj0i7++clGd85htX9rPtlqzjz3I26NJQvcKCmT39Szv3oPFzAJKuUaqKso5iLq+Sw+VtQRBg==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-watchdog": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-easy-image": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-44.1.0.tgz", + "integrity": "sha512-hmn9MmVebb/abTBq1ci2fYi7uK93Dt2F3lDYErqsFWCxZ4S2PQW3+qON44E5phE9aDKOLEZ/B61niGrLgcWS5g==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-upload": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-balloon": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-balloon/-/ckeditor5-editor-balloon-44.1.0.tgz", + "integrity": "sha512-BVxO3WECurMZEhxIVb2JMqeMcqaqefvc/YfrWNRriVyK7muW47EH74IIZdCXSm7g5i0npEIk808sKqA0t/xR0g==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-classic": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-44.1.0.tgz", + "integrity": "sha512-rZtJ1KpJGxW8iWE0wVhp9giiYiu3XypjsmthkK8oeMf4+8wTr3ySncLKKts3/BDiAcFdJnog5lv5LQbrAVqO+Q==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-decoupled": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-44.1.0.tgz", + "integrity": "sha512-pRnDrPVyIM4uCLCjhgzvRk4v63Cc1u9Nc21yx1igswvxAfhGx2BMO+JiC6+8PAHT/mOSbgFB83N+A823sms3uA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-inline": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-inline/-/ckeditor5-editor-inline-44.1.0.tgz", + "integrity": "sha512-NglsnVkzioMU9XirmjyTM/DKSL/rzkBBwFaZFiTVyGfhuVzTUClPxGtxKOlML2v0Mtqg/OdRUMPMIo+qtjymeQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-multi-root": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-multi-root/-/ckeditor5-editor-multi-root-44.1.0.tgz", + "integrity": "sha512-NAMBGIDn/xMGHXv2IeLRDa84yW9OwHri9H5NdJJ4F+gFtiQbOhIhTQj4nZ8TuLIaYr2NOUrTpTrkw3frgd0lLg==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-engine": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-44.1.0.tgz", + "integrity": "sha512-+149hsqfZX+Q+ho7P64XUrIpkLqX2jGBuEWjC2ZZYujv1ZIOWOMihkpJL8jE6Vcplee6vsTXGSj2sIHNoOp+3g==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-enter": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-44.1.0.tgz", + "integrity": "sha512-NmtqxEov25rYRN8Uq7MRabsqYfvL6ZNj/mvBHqn3PE9aHE+lTwD51D3zgCw1RN2sipXsvedwo3g+NynAtS/HIw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-essentials": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-44.1.0.tgz", + "integrity": "sha512-UWSc2lSCqztfy3LLeuHfyKU/oSbFyw/4KEbQso9DsMPQ4vdmX/sW6BoklCYF9mPJrg+zNSseJj9T/M1Q+Z6U0Q==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-enter": "44.1.0", + "@ckeditor/ckeditor5-select-all": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-undo": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-find-and-replace": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-44.1.0.tgz", + "integrity": "sha512-SwZYRdXpYCu3t3+k9fxO8JXjNb/Q/OK3nmtVBNly/ZWYmORGQd3ua9XlipcnwIB8aBQqhuV/izDKqSiFZc23zA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-font": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-44.1.0.tgz", + "integrity": "sha512-q4r7I7C2uG9gkBx9WlARNN5ZWp4USHVFS2kLTyMVAN1/iHAKIx03m+N3W0FTZVpXV+xscn7H6KaLcQXmWc4OiQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-heading": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-44.1.0.tgz", + "integrity": "sha512-cROqN/dnq8xBdxMQoe+1Zjh8bfoVePh6WSl+wjcc4OIozYe/V2QAmCODpYiVm4RntenH0IidHteSTCqtGM4L9w==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-paragraph": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-highlight": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-44.1.0.tgz", + "integrity": "sha512-bj7DBo1miBf6f7LPLiNa5inziXBKt6dFQupWAgJNJvPxYeGf4jTKDeVc9FLBESJ7eOWKjmCjaNeSsV2smHTAKQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-horizontal-line": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-44.1.0.tgz", + "integrity": "sha512-xwqQPJQsgwEvbZb3EqjFEcvj1tmlxcX9hFL9I66oGblfYNEIX8Q4DWxbjWCDrfY2IvLO3zNUDI9J5EcxSnd9Pw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-html-embed": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-44.1.0.tgz", + "integrity": "sha512-eFXTBHhvRIGflrgpNa2wP0W9IiHx2t2TxQX8881EbF/H3/LDqreyNR7LHBXXgPk1j+H5V/MOGAqG5ntlvq2SdQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-44.1.0.tgz", + "integrity": "sha512-cBUtojLEreXNYV54B/FT1WBjV+dU5i8vsVKBmYw2QOxmaWl4i/wyEtzPh21Ytcsy2ApmIMT/X27ZppffnKcyGQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-enter": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-image": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-44.1.0.tgz", + "integrity": "sha512-8BbS0y1YSGnQAiA6rTps05DIJ8CcdbGYb+1XFb8QOUCzJenFzNGAe4gnlEPw0zW1C8ZjdahRY1K2Fcb16/q7TQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-undo": "44.1.0", + "@ckeditor/ckeditor5-upload": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-indent": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-44.1.0.tgz", + "integrity": "sha512-iFrtDVkXhbHHTJIs+yw0x9X/uEH0kyjQ5pQZM5fAzX6g9TFd71iiJ2l8xBSefXRcqEEPVaMWZgikBeRHmQDyOA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-integrations-common": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-integrations-common/-/ckeditor5-integrations-common-2.2.2.tgz", + "integrity": "sha512-SKGBBrwFFmSEZawR8P9tHGRq/l2OoqoJxy9f7j0HbDGEwIpSOsCSgH0xudD6lcEbWG4QWrCS28p5n8lgPA5elQ==", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "ckeditor5": ">=42.0.0 || ^0.0.0-nightly" + } + }, + "node_modules/@ckeditor/ckeditor5-language": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-language/-/ckeditor5-language-44.1.0.tgz", + "integrity": "sha512-CudeLs2RvADdchJ6FFznsNrMYHDcOrj8CGuSgyTW9PcsnhAzUOYWuaunJ3xXd8MXwu6pGwEReVYuouc2JQQg6A==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-link": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-44.1.0.tgz", + "integrity": "sha512-+tDlzrhOrl3TMlj01DsGJwQEsrXZl6A7fD4gFfYS3rO9sgGZSLU+fSxOwWHdQyBp1ujiJGsGFXmKFAUZxs7M/w==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-list": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-44.1.0.tgz", + "integrity": "sha512-lwUAtK68GfNVr1yI+VLom54K8F5bRZee8HKkzFZPgTCANYLUnmHGUNF9La7qETeqjNV6bljUnKwn/knOeserGg==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-enter": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-44.1.0.tgz", + "integrity": "sha512-ZlFa3xi8vSCCqs4cvfxjZrcXz87i7XIKAd+eTQdwoInQDJHnGpUcM67hKIMSU3E8AjEz+tXdsaauxSofZTS+zQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "ckeditor5": "44.1.0", + "marked": "4.0.12", + "turndown": "7.2.0", + "turndown-plugin-gfm": "1.0.2" + } + }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/marked": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", + "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==", + "peer": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@ckeditor/ckeditor5-media-embed": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-44.1.0.tgz", + "integrity": "sha512-ymG55dCUv+i0o0th4+vYMvVHhC2DXTs6J+5t40tNvdMS7apt882Tbq9vAE6iqgQZbtQVVlRpQbGD0UByBO5LVA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-undo": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-mention": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-44.1.0.tgz", + "integrity": "sha512-LJ2aT5nJ9I8eZT/E/RqD/iPv4fyU8MJqtGQXExEwwAfQDqkx0X5u3mv3uAR/HhyFyj6jFw+z26bTdt13wdSaEw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-minimap": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-minimap/-/ckeditor5-minimap-44.1.0.tgz", + "integrity": "sha512-V9xOrUqLxnrOGXOiQVu4QGLV0zam3xMCi+vVR3/jFrVEPRCY1swdC6JhT4PAYt5lPBbrlmyF7u+pZjal8I7F1Q==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-page-break": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-page-break/-/ckeditor5-page-break-44.1.0.tgz", + "integrity": "sha512-6uNuctQnPTr2WFcyKGdTQ/1gTkGmIhiZg8y9UMIY74aEW9AQfGwCaBkAO5AveaBTfmGBkSsAISS3T8k5OGsV0Q==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-paragraph": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-44.1.0.tgz", + "integrity": "sha512-tfERMEQRrvM5zdZuiWC5IjCPtUrpncXY4ewn9mcGJ5KqmLaX3e+2dN4GVZpcagwOtZNQNQBONZnuWt9ZVkquFQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-paste-from-office": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-44.1.0.tgz", + "integrity": "sha512-NIhtkFoDXNpOaPBDH6dDTU2BC3GUJ1rE5gUV0i4hrtOeERuk9EdkADCOBEHEm7UC31kCQ4si6wkry+d4oZ5FMw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-react": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-react/-/ckeditor5-react-9.4.0.tgz", + "integrity": "sha512-8PU7YUV0ZKYP10akKgarT8nq5QxEDPmuj6Wn5dl/DJ7qroDx6VuC/ysCYcgljseimbDNYDjPQKhatNEcsMd7Ew==", + "dependencies": { + "@ckeditor/ckeditor5-integrations-common": "^2.2.2", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "ckeditor5": ">=42.0.0 || ^0.0.0-nightly", + "react": "^16.13.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-remove-format": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-44.1.0.tgz", + "integrity": "sha512-97ppktKeKIhGYrRKwfzVP0DOktcaY4gFXEtKINmse8kw0C7jO4SE82sDJxWSP/3h74oncZzd/q/Qa6P65JmhWA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-restricted-editing": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-restricted-editing/-/ckeditor5-restricted-editing-44.1.0.tgz", + "integrity": "sha512-dsjeug3TCn32idHe4XWaD8ZBtKloAHSDYzv05uEuJDTEkTnSOp8ynVxUCKlTTMeHKjpRPr5kaxJkycqnxOqsvw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-select-all": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-44.1.0.tgz", + "integrity": "sha512-jQH9745sYWpQcZXC4z1lNS4XqrTJWHljWEMa4KKTZgo6zjR/L53tRZdIKbE6O/JgaW805Xpl74cJGXJvwre8VA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-show-blocks": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-show-blocks/-/ckeditor5-show-blocks-44.1.0.tgz", + "integrity": "sha512-qPjba3VFXgRnnEjlZAfv1XgfC1jNpYUWpfxlniZixvcZ1bEOzEX6rkEqBioNgGFWBU8siPTPiwI2mmT/8/58Vw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-source-editing": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-44.1.0.tgz", + "integrity": "sha512-gg/tWANOiJckvXxKqwthkvR531bPuen+lJN3y2qnqMKMQLLNbWWIUoTuE3PZRHDprT0JmTjnvlHrwsaSdpOkVg==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-theme-lark": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-44.1.0.tgz", + "integrity": "sha512-btw7qEPjrdp/XigtXOXy1KkK481PEeuJ5xdPD2xLlWvZkF0tGbEqIpDIMxkW1w7NmmC+5Aa8qJqXkV6dN4jZ5A==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-style": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-44.1.0.tgz", + "integrity": "sha512-A6udrCj1IxuiPE8OGue/aDtoqs8ZAPsbabnT9OS46WBlDGjXaSStXD7Dx6uJwEkaRdmhdGaObi4UnF7gkHRXHA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-table": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-44.1.0.tgz", + "integrity": "sha512-8iQUW5apSYFrsJhguW0ROPBf+gmKhtP75KIeal6GdEtYlOMA8vP/ixUhQB5HZBmecfAVULyu1fF4YfGzHelZhw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-theme-lark": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-44.1.0.tgz", + "integrity": "sha512-Ym9ZKtQBqh5xOYGVa+va6CtYJSbhqIfVOsoCRZnMTzg3RTfwp8F78yeWUdplF6DS4JaM966yQumX9DcJGYn5AA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-typing": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-44.1.0.tgz", + "integrity": "sha512-YlIpXSp2mkzgCCwqa4Dd870K4UvKsjlHRDod50G8VSz2qFCkE6PaLGGBAci1IoZ5nBXZMpCrnhrkQ1jAJwx2RA==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-ui": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-44.1.0.tgz", + "integrity": "sha512-Qga/eO6/4rCzK6m/JLMVq0gbgNDEV7K/J+ida1UQFYxrMric7qfriusT1q0Y+6jFYuGMdyLg0e0imORbMyw9Zw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "color-convert": "2.0.1", + "color-parse": "1.4.2", + "lodash-es": "4.17.21", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-undo": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-44.1.0.tgz", + "integrity": "sha512-sULkc7Pvbc431uZCjzcAKd//jYE3B8fT8PEOFG8pYRnQJHc5GyodvH0RmXDhCtKCGtzvh1Dlpb4iSNpPNpVvJQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-upload": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-44.1.0.tgz", + "integrity": "sha512-+608NL4Jl6t2PA02Ft8myPV5r2oXwD+4wTCLKg4Oh2KPQYCyGOm5vj8dLxwWNsbMXZrdPxeQOK3UHq8bxYyI6A==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-utils": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-44.1.0.tgz", + "integrity": "sha512-PILjaPvEMuQ0qlnPAFeNTTQcLuXgGionSxaxF8HGnZolaqWnsJ11xGYxqUslNOGtdZNp/88/FC9TjCY/ksiibg==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-watchdog": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-44.1.0.tgz", + "integrity": "sha512-fTwYEW1TbbxC7PVmZtfWfwHT5aMREfBTDvH3KQWKpowTcoAiMBlQQKA/lvkRJ1bFMp4AZFjqs1IWZyap/sanAg==", + "peer": true, + "dependencies": { + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-widget": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-44.1.0.tgz", + "integrity": "sha512-dBG1EFJjq38wF0k1p3R2yIfZRHwgY5+hLuF1sp02q/lUJu59U/rPscfjj4dGpE4eKaqCD9z/UNEtOjPGnaJzKw==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-enter": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/ckeditor5-word-count": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-44.1.0.tgz", + "integrity": "sha512-dM8jeZfRA2nodWdE1Ty3ZzaAl3M523ri9/ahLpG/JcCud2QZn9XRPrEwaIxC/1VtZg/Z2SUuI2LcPrbtPkQ0UQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "ckeditor5": "44.1.0", + "lodash-es": "4.17.21" + } + }, + "node_modules/@ckeditor/strapi-plugin-ckeditor": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ckeditor/strapi-plugin-ckeditor/-/strapi-plugin-ckeditor-1.1.0.tgz", + "integrity": "sha512-J8ggjMo/kp3pzAXpi8J00rXdDyPEMHOEsY52zOp99FpCB7POQxq5W6qpdwESFA4yNkHAhchxK+FLLeBYEtY5eg==", + "dependencies": { + "@ckeditor/ckeditor5-react": "^9.3.0" + }, + "engines": { + "npm": ">=6.0.0" + }, + "peerDependencies": { + "@strapi/strapi": "^5.0.0 || ^5.0.0-beta || ^5.0.0-alpha || ^5.0.0-rc" + } + }, "node_modules/@codemirror/autocomplete": { "version": "6.18.4", "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.18.4.tgz", @@ -1441,6 +2251,12 @@ "integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==", "license": "MIT" }, + "node_modules/@mixmark-io/domino": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz", + "integrity": "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==", + "peer": true + }, "node_modules/@monaco-editor/loader": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.4.0.tgz", @@ -7358,6 +8174,12 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "license": "MIT" }, + "node_modules/blurhash": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz", + "integrity": "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w==", + "peer": true + }, "node_modules/bn.js": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", @@ -7966,6 +8788,72 @@ "node": ">=8" } }, + "node_modules/ckeditor5": { + "version": "44.1.0", + "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-44.1.0.tgz", + "integrity": "sha512-6e1KFUE2giaSI0ZOKfAAFF5Tk7PF5DCyKVROPY9/46tti9AZpUFUzr7NhBsZjyMiMX1eqxqfsSZT7f9tKgcVAQ==", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-adapter-ckfinder": "44.1.0", + "@ckeditor/ckeditor5-alignment": "44.1.0", + "@ckeditor/ckeditor5-autoformat": "44.1.0", + "@ckeditor/ckeditor5-autosave": "44.1.0", + "@ckeditor/ckeditor5-basic-styles": "44.1.0", + "@ckeditor/ckeditor5-block-quote": "44.1.0", + "@ckeditor/ckeditor5-bookmark": "44.1.0", + "@ckeditor/ckeditor5-ckbox": "44.1.0", + "@ckeditor/ckeditor5-ckfinder": "44.1.0", + "@ckeditor/ckeditor5-clipboard": "44.1.0", + "@ckeditor/ckeditor5-cloud-services": "44.1.0", + "@ckeditor/ckeditor5-code-block": "44.1.0", + "@ckeditor/ckeditor5-core": "44.1.0", + "@ckeditor/ckeditor5-easy-image": "44.1.0", + "@ckeditor/ckeditor5-editor-balloon": "44.1.0", + "@ckeditor/ckeditor5-editor-classic": "44.1.0", + "@ckeditor/ckeditor5-editor-decoupled": "44.1.0", + "@ckeditor/ckeditor5-editor-inline": "44.1.0", + "@ckeditor/ckeditor5-editor-multi-root": "44.1.0", + "@ckeditor/ckeditor5-engine": "44.1.0", + "@ckeditor/ckeditor5-enter": "44.1.0", + "@ckeditor/ckeditor5-essentials": "44.1.0", + "@ckeditor/ckeditor5-find-and-replace": "44.1.0", + "@ckeditor/ckeditor5-font": "44.1.0", + "@ckeditor/ckeditor5-heading": "44.1.0", + "@ckeditor/ckeditor5-highlight": "44.1.0", + "@ckeditor/ckeditor5-horizontal-line": "44.1.0", + "@ckeditor/ckeditor5-html-embed": "44.1.0", + "@ckeditor/ckeditor5-html-support": "44.1.0", + "@ckeditor/ckeditor5-image": "44.1.0", + "@ckeditor/ckeditor5-indent": "44.1.0", + "@ckeditor/ckeditor5-language": "44.1.0", + "@ckeditor/ckeditor5-link": "44.1.0", + "@ckeditor/ckeditor5-list": "44.1.0", + "@ckeditor/ckeditor5-markdown-gfm": "44.1.0", + "@ckeditor/ckeditor5-media-embed": "44.1.0", + "@ckeditor/ckeditor5-mention": "44.1.0", + "@ckeditor/ckeditor5-minimap": "44.1.0", + "@ckeditor/ckeditor5-page-break": "44.1.0", + "@ckeditor/ckeditor5-paragraph": "44.1.0", + "@ckeditor/ckeditor5-paste-from-office": "44.1.0", + "@ckeditor/ckeditor5-remove-format": "44.1.0", + "@ckeditor/ckeditor5-restricted-editing": "44.1.0", + "@ckeditor/ckeditor5-select-all": "44.1.0", + "@ckeditor/ckeditor5-show-blocks": "44.1.0", + "@ckeditor/ckeditor5-source-editing": "44.1.0", + "@ckeditor/ckeditor5-special-characters": "44.1.0", + "@ckeditor/ckeditor5-style": "44.1.0", + "@ckeditor/ckeditor5-table": "44.1.0", + "@ckeditor/ckeditor5-theme-lark": "44.1.0", + "@ckeditor/ckeditor5-typing": "44.1.0", + "@ckeditor/ckeditor5-ui": "44.1.0", + "@ckeditor/ckeditor5-undo": "44.1.0", + "@ckeditor/ckeditor5-upload": "44.1.0", + "@ckeditor/ckeditor5-utils": "44.1.0", + "@ckeditor/ckeditor5-watchdog": "44.1.0", + "@ckeditor/ckeditor5-widget": "44.1.0", + "@ckeditor/ckeditor5-word-count": "44.1.0" + } + }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", @@ -8191,6 +9079,15 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/color-parse": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.4.2.tgz", + "integrity": "sha512-RI7s49/8yqDj3fECFZjUI1Yi0z/Gq1py43oNJivAIIDSyJiOZLfYCRQEgn8HEVAj++PcRe8AnL2XF0fRJ3BTnA==", + "peer": true, + "dependencies": { + "color-name": "^1.0.0" + } + }, "node_modules/color-string": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", @@ -19287,6 +20184,21 @@ "node": "*" } }, + "node_modules/turndown": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.2.0.tgz", + "integrity": "sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A==", + "peer": true, + "dependencies": { + "@mixmark-io/domino": "^2.2.0" + } + }, + "node_modules/turndown-plugin-gfm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.2.tgz", + "integrity": "sha512-vwz9tfvF7XN/jE0dGoBei3FXWuvll78ohzCZQuOb+ZjWrs3a0XhQVomJEb2Qh4VHTPNRO4GPZh0V7VRbiWwkRg==", + "peer": true + }, "node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -19718,6 +20630,12 @@ "license": "MIT", "peer": true }, + "node_modules/vanilla-colorful": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/vanilla-colorful/-/vanilla-colorful-0.7.2.tgz", + "integrity": "sha512-z2YZusTFC6KnLERx1cgoIRX2CjPRP0W75N+3CC6gbvdX5Ch47rZkEMGO2Xnf+IEmi3RiFLxS18gayMA27iU7Kg==", + "peer": true + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", diff --git a/yoga-cms/package.json b/yoga-cms/package.json index 371feff..9cddef4 100644 --- a/yoga-cms/package.json +++ b/yoga-cms/package.json @@ -12,6 +12,7 @@ "strapi": "strapi" }, "dependencies": { + "@ckeditor/strapi-plugin-ckeditor": "^1.1.0", "@strapi/plugin-cloud": "5.6.0", "@strapi/plugin-users-permissions": "5.6.0", "@strapi/strapi": "5.6.0", 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 a913b52..b312d6b 100644 --- a/yoga-cms/src/api/about/content-types/about/schema.json +++ b/yoga-cms/src/api/about/content-types/about/schema.json @@ -55,6 +55,11 @@ "type": "relation", "relation": "oneToOne", "target": "api::yoga-our-services-component.yoga-our-services-component" + }, + "blogs": { + "type": "relation", + "relation": "oneToOne", + "target": "api::yoga-blog-posts-component.yoga-blog-posts-component" } } } diff --git a/yoga-cms/src/api/yoga-blog-post/content-types/yoga-blog-post/schema.json b/yoga-cms/src/api/yoga-blog-post/content-types/yoga-blog-post/schema.json new file mode 100644 index 0000000..b9842e7 --- /dev/null +++ b/yoga-cms/src/api/yoga-blog-post/content-types/yoga-blog-post/schema.json @@ -0,0 +1,41 @@ +{ + "kind": "collectionType", + "collectionName": "yoga_blog_posts", + "info": { + "singularName": "yoga-blog-post", + "pluralName": "yoga-blog-posts", + "displayName": "YogaBlogPost", + "description": "" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "name": { + "type": "string" + }, + "header": { + "type": "string" + }, + "teaserImage": { + "type": "media", + "multiple": false, + "required": false, + "allowedTypes": [ + "images", + "files", + "videos", + "audios" + ] + }, + "article": { + "type": "richtext" + }, + "tags": { + "type": "relation", + "relation": "oneToMany", + "target": "api::yoga-tag.yoga-tag" + } + } +} diff --git a/yoga-cms/src/api/yoga-blog-post/controllers/yoga-blog-post.ts b/yoga-cms/src/api/yoga-blog-post/controllers/yoga-blog-post.ts new file mode 100644 index 0000000..4a9437f --- /dev/null +++ b/yoga-cms/src/api/yoga-blog-post/controllers/yoga-blog-post.ts @@ -0,0 +1,7 @@ +/** + * yoga-blog-post controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::yoga-blog-post.yoga-blog-post'); diff --git a/yoga-cms/src/api/yoga-blog-post/routes/yoga-blog-post.ts b/yoga-cms/src/api/yoga-blog-post/routes/yoga-blog-post.ts new file mode 100644 index 0000000..e68f9b7 --- /dev/null +++ b/yoga-cms/src/api/yoga-blog-post/routes/yoga-blog-post.ts @@ -0,0 +1,7 @@ +/** + * yoga-blog-post router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::yoga-blog-post.yoga-blog-post'); diff --git a/yoga-cms/src/api/yoga-blog-post/services/yoga-blog-post.ts b/yoga-cms/src/api/yoga-blog-post/services/yoga-blog-post.ts new file mode 100644 index 0000000..ec7cc84 --- /dev/null +++ b/yoga-cms/src/api/yoga-blog-post/services/yoga-blog-post.ts @@ -0,0 +1,7 @@ +/** + * yoga-blog-post service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::yoga-blog-post.yoga-blog-post'); diff --git a/yoga-cms/src/api/yoga-blog-posts-component/content-types/yoga-blog-posts-component/schema.json b/yoga-cms/src/api/yoga-blog-posts-component/content-types/yoga-blog-posts-component/schema.json new file mode 100644 index 0000000..fa287cf --- /dev/null +++ b/yoga-cms/src/api/yoga-blog-posts-component/content-types/yoga-blog-posts-component/schema.json @@ -0,0 +1,32 @@ +{ + "kind": "collectionType", + "collectionName": "yoga_blog_posts_components", + "info": { + "singularName": "yoga-blog-posts-component", + "pluralName": "yoga-blog-posts-components", + "displayName": "YogaBlogPostsComponent" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "name": { + "type": "string" + }, + "title": { + "type": "string" + }, + "header": { + "type": "string" + }, + "description": { + "type": "text" + }, + "posts": { + "type": "relation", + "relation": "oneToMany", + "target": "api::yoga-blog-post.yoga-blog-post" + } + } +} diff --git a/yoga-cms/src/api/yoga-blog-posts-component/controllers/yoga-blog-posts-component.ts b/yoga-cms/src/api/yoga-blog-posts-component/controllers/yoga-blog-posts-component.ts new file mode 100644 index 0000000..102bb1e --- /dev/null +++ b/yoga-cms/src/api/yoga-blog-posts-component/controllers/yoga-blog-posts-component.ts @@ -0,0 +1,7 @@ +/** + * yoga-blog-posts-component controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::yoga-blog-posts-component.yoga-blog-posts-component'); diff --git a/yoga-cms/src/api/yoga-blog-posts-component/routes/yoga-blog-posts-component.ts b/yoga-cms/src/api/yoga-blog-posts-component/routes/yoga-blog-posts-component.ts new file mode 100644 index 0000000..9fb8245 --- /dev/null +++ b/yoga-cms/src/api/yoga-blog-posts-component/routes/yoga-blog-posts-component.ts @@ -0,0 +1,7 @@ +/** + * yoga-blog-posts-component router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::yoga-blog-posts-component.yoga-blog-posts-component'); diff --git a/yoga-cms/src/api/yoga-blog-posts-component/services/yoga-blog-posts-component.ts b/yoga-cms/src/api/yoga-blog-posts-component/services/yoga-blog-posts-component.ts new file mode 100644 index 0000000..24b5860 --- /dev/null +++ b/yoga-cms/src/api/yoga-blog-posts-component/services/yoga-blog-posts-component.ts @@ -0,0 +1,7 @@ +/** + * yoga-blog-posts-component service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::yoga-blog-posts-component.yoga-blog-posts-component'); diff --git a/yoga-cms/src/api/yoga-tag/content-types/yoga-tag/schema.json b/yoga-cms/src/api/yoga-tag/content-types/yoga-tag/schema.json new file mode 100644 index 0000000..627f567 --- /dev/null +++ b/yoga-cms/src/api/yoga-tag/content-types/yoga-tag/schema.json @@ -0,0 +1,18 @@ +{ + "kind": "collectionType", + "collectionName": "yoga_tags", + "info": { + "singularName": "yoga-tag", + "pluralName": "yoga-tags", + "displayName": "YogaTag" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "tag": { + "type": "string" + } + } +} diff --git a/yoga-cms/src/api/yoga-tag/controllers/yoga-tag.ts b/yoga-cms/src/api/yoga-tag/controllers/yoga-tag.ts new file mode 100644 index 0000000..b86802f --- /dev/null +++ b/yoga-cms/src/api/yoga-tag/controllers/yoga-tag.ts @@ -0,0 +1,7 @@ +/** + * yoga-tag controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::yoga-tag.yoga-tag'); diff --git a/yoga-cms/src/api/yoga-tag/routes/yoga-tag.ts b/yoga-cms/src/api/yoga-tag/routes/yoga-tag.ts new file mode 100644 index 0000000..6e44bdd --- /dev/null +++ b/yoga-cms/src/api/yoga-tag/routes/yoga-tag.ts @@ -0,0 +1,7 @@ +/** + * yoga-tag router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::yoga-tag.yoga-tag'); diff --git a/yoga-cms/src/api/yoga-tag/services/yoga-tag.ts b/yoga-cms/src/api/yoga-tag/services/yoga-tag.ts new file mode 100644 index 0000000..bddf7f8 --- /dev/null +++ b/yoga-cms/src/api/yoga-tag/services/yoga-tag.ts @@ -0,0 +1,7 @@ +/** + * yoga-tag service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::yoga-tag.yoga-tag'); diff --git a/yoga-cms/src/components/yoga-site/tag.json b/yoga-cms/src/components/yoga-site/tag.json new file mode 100644 index 0000000..1370453 --- /dev/null +++ b/yoga-cms/src/components/yoga-site/tag.json @@ -0,0 +1,12 @@ +{ + "collectionName": "components_yoga_site_tags", + "info": { + "displayName": "tag" + }, + "options": {}, + "attributes": { + "tag": { + "type": "string" + } + } +} diff --git a/yoga-cms/types/generated/components.d.ts b/yoga-cms/types/generated/components.d.ts index 73588f8..0fa211a 100644 --- a/yoga-cms/types/generated/components.d.ts +++ b/yoga-cms/types/generated/components.d.ts @@ -110,6 +110,16 @@ export interface YogaSiteOurServicesComponent extends Struct.ComponentSchema { }; } +export interface YogaSiteTag extends Struct.ComponentSchema { + collectionName: 'components_yoga_site_tags'; + info: { + displayName: 'tag'; + }; + attributes: { + tag: Schema.Attribute.String; + }; +} + declare module '@strapi/strapi' { export module Public { export interface ComponentSchemas { @@ -122,6 +132,7 @@ declare module '@strapi/strapi' { 'shared.title-description': SharedTitleDescription; 'yoga-site.header-b': YogaSiteHeaderB; 'yoga-site.our-services-component': YogaSiteOurServicesComponent; + 'yoga-site.tag': YogaSiteTag; } } } diff --git a/yoga-cms/types/generated/contentTypes.d.ts b/yoga-cms/types/generated/contentTypes.d.ts index 8e019d5..34f7731 100644 --- a/yoga-cms/types/generated/contentTypes.d.ts +++ b/yoga-cms/types/generated/contentTypes.d.ts @@ -390,6 +390,10 @@ export interface ApiAboutAbout extends Struct.SingleTypeSchema { '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' @@ -704,6 +708,78 @@ export interface ApiYogaAboutUsComponentYogaAboutUsComponent }; } +export interface ApiYogaBlogPostYogaBlogPost + extends Struct.CollectionTypeSchema { + collectionName: 'yoga_blog_posts'; + info: { + description: ''; + displayName: 'YogaBlogPost'; + pluralName: 'yoga-blog-posts'; + singularName: 'yoga-blog-post'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + article: Schema.Attribute.RichText; + 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-blog-post.yoga-blog-post' + > & + Schema.Attribute.Private; + name: Schema.Attribute.String; + publishedAt: Schema.Attribute.DateTime; + tags: Schema.Attribute.Relation<'oneToMany', 'api::yoga-tag.yoga-tag'>; + teaserImage: Schema.Attribute.Media< + 'images' | 'files' | 'videos' | 'audios' + >; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface ApiYogaBlogPostsComponentYogaBlogPostsComponent + extends Struct.CollectionTypeSchema { + collectionName: 'yoga_blog_posts_components'; + info: { + displayName: 'YogaBlogPostsComponent'; + pluralName: 'yoga-blog-posts-components'; + singularName: 'yoga-blog-posts-component'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + 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-blog-posts-component.yoga-blog-posts-component' + > & + Schema.Attribute.Private; + name: Schema.Attribute.String; + posts: Schema.Attribute.Relation< + 'oneToMany', + 'api::yoga-blog-post.yoga-blog-post' + >; + publishedAt: Schema.Attribute.DateTime; + title: Schema.Attribute.String; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + export interface ApiYogaContactUsYogaContactUs extends Struct.CollectionTypeSchema { collectionName: 'yoga_contact_uses'; @@ -1212,6 +1288,34 @@ export interface ApiYogaSpecialitiesComponentYogaSpecialitiesComponent }; } +export interface ApiYogaTagYogaTag extends Struct.CollectionTypeSchema { + collectionName: 'yoga_tags'; + info: { + displayName: 'YogaTag'; + pluralName: 'yoga-tags'; + singularName: 'yoga-tag'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'api::yoga-tag.yoga-tag' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + tag: 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'; @@ -1729,6 +1833,8 @@ declare module '@strapi/strapi' { 'api::page.page': ApiPagePage; 'api::person.person': ApiPersonPerson; 'api::yoga-about-us-component.yoga-about-us-component': ApiYogaAboutUsComponentYogaAboutUsComponent; + '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; @@ -1738,6 +1844,7 @@ declare module '@strapi/strapi' { '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-tag.yoga-tag': ApiYogaTagYogaTag; 'plugin::content-releases.release': PluginContentReleasesRelease; 'plugin::content-releases.release-action': PluginContentReleasesReleaseAction; 'plugin::i18n.locale': PluginI18NLocale;