diff --git a/next/backend/graphql/index.ts b/next/backend/graphql/index.ts index 49c6d6d56..77f6d21d6 100644 --- a/next/backend/graphql/index.ts +++ b/next/backend/graphql/index.ts @@ -694,6 +694,21 @@ export type ComponentBlocksSubpage = { title?: Maybe } +export type ComponentBlocksTestimonialItem = { + __typename?: 'ComponentBlocksTestimonialItem' + id: Scalars['ID']['output'] + name: Scalars['String']['output'] + quote: Scalars['String']['output'] +} + +export type ComponentBlocksTestimonialItemFiltersInput = { + and?: InputMaybe>> + name?: InputMaybe + not?: InputMaybe + or?: InputMaybe>> + quote?: InputMaybe +} + export type ComponentBlocksTimelineItem = { __typename?: 'ComponentBlocksTimelineItem' content?: Maybe @@ -1413,6 +1428,21 @@ export type ComponentSectionsSubpageListSubpageListArgs = { sort?: InputMaybe>> } +export type ComponentSectionsTestimonials = { + __typename?: 'ComponentSectionsTestimonials' + hasBackground?: Maybe + id: Scalars['ID']['output'] + testimonials: Array> + text?: Maybe + title?: Maybe +} + +export type ComponentSectionsTestimonialsTestimonialsArgs = { + filters?: InputMaybe + pagination?: InputMaybe + sort?: InputMaybe>> +} + export type ComponentSectionsTextWithImage = { __typename?: 'ComponentSectionsTextWithImage' content?: Maybe @@ -1976,6 +2006,7 @@ export type GenericMorph = | ComponentBlocksProsAndConsCard | ComponentBlocksSpaceInfo | ComponentBlocksSubpage + | ComponentBlocksTestimonialItem | ComponentBlocksTimelineItem | ComponentBlocksTopServicesItem | ComponentBlocksVideo @@ -2020,6 +2051,7 @@ export type GenericMorph = | ComponentSectionsRegulationsList | ComponentSectionsSpace | ComponentSectionsSubpageList + | ComponentSectionsTestimonials | ComponentSectionsTextWithImage | ComponentSectionsTimeline | ComponentSectionsTopServices @@ -3190,6 +3222,7 @@ export type PageSectionsDynamicZone = | ComponentSectionsRegulations | ComponentSectionsRegulationsList | ComponentSectionsSpace + | ComponentSectionsTestimonials | ComponentSectionsTextWithImage | ComponentSectionsTimeline | ComponentSectionsVideos @@ -8979,6 +9012,7 @@ export type PageBySlugQuery = { text?: string | null } | { __typename: 'ComponentSectionsSpace' } + | { __typename: 'ComponentSectionsTestimonials' } | { __typename: 'ComponentSectionsTextWithImage' hasBackground?: boolean | null @@ -10117,6 +10151,7 @@ export type PageEntityFragment = { text?: string | null } | { __typename: 'ComponentSectionsSpace' } + | { __typename: 'ComponentSectionsTestimonials' } | { __typename: 'ComponentSectionsTextWithImage' hasBackground?: boolean | null @@ -13190,6 +13225,10 @@ type Sections_ComponentSectionsRegulationsList_Fragment = { type Sections_ComponentSectionsSpace_Fragment = { __typename: 'ComponentSectionsSpace' } +type Sections_ComponentSectionsTestimonials_Fragment = { + __typename: 'ComponentSectionsTestimonials' +} + type Sections_ComponentSectionsTextWithImage_Fragment = { __typename: 'ComponentSectionsTextWithImage' hasBackground?: boolean | null @@ -13270,6 +13309,7 @@ export type SectionsFragment = | Sections_ComponentSectionsRegulations_Fragment | Sections_ComponentSectionsRegulationsList_Fragment | Sections_ComponentSectionsSpace_Fragment + | Sections_ComponentSectionsTestimonials_Fragment | Sections_ComponentSectionsTextWithImage_Fragment | Sections_ComponentSectionsTimeline_Fragment | Sections_ComponentSectionsVideos_Fragment diff --git a/strapi/schema.graphql b/strapi/schema.graphql index c9efbc0f4..7d43515d7 100644 --- a/strapi/schema.graphql +++ b/strapi/schema.graphql @@ -745,6 +745,26 @@ input ComponentBlocksSubpageInput { title: String } +type ComponentBlocksTestimonialItem { + id: ID! + name: String! + quote: String! +} + +input ComponentBlocksTestimonialItemFiltersInput { + and: [ComponentBlocksTestimonialItemFiltersInput] + name: StringFilterInput + not: ComponentBlocksTestimonialItemFiltersInput + or: [ComponentBlocksTestimonialItemFiltersInput] + quote: StringFilterInput +} + +input ComponentBlocksTestimonialItemInput { + id: ID + name: String + quote: String +} + type ComponentBlocksTimelineItem { content: String id: ID! @@ -1803,6 +1823,32 @@ input ComponentSectionsSubpageListInput { subpageList: [ComponentBlocksPageLinkInput] } +type ComponentSectionsTestimonials { + hasBackground: Boolean + id: ID! + testimonials(filters: ComponentBlocksTestimonialItemFiltersInput, pagination: PaginationArg = {}, sort: [String] = []): [ComponentBlocksTestimonialItem]! + text: String + title: String +} + +input ComponentSectionsTestimonialsFiltersInput { + and: [ComponentSectionsTestimonialsFiltersInput] + hasBackground: BooleanFilterInput + not: ComponentSectionsTestimonialsFiltersInput + or: [ComponentSectionsTestimonialsFiltersInput] + testimonials: ComponentBlocksTestimonialItemFiltersInput + text: StringFilterInput + title: StringFilterInput +} + +input ComponentSectionsTestimonialsInput { + hasBackground: Boolean + id: ID + testimonials: [ComponentBlocksTestimonialItemInput] + text: String + title: String +} + type ComponentSectionsTextWithImage { content: String hasBackground: Boolean @@ -2411,7 +2457,7 @@ type GeneralRelationResponseCollection { data: [GeneralEntity!]! } -union GenericMorph = Alert | BlogPost | ComponentAccordionItemsFlatText | ComponentAccordionItemsInstitution | ComponentAccordionItemsInstitutionNarrow | ComponentBlocksBlogPostLink | ComponentBlocksBookmarkLink | ComponentBlocksCommonLink | ComponentBlocksComparisonCard | ComponentBlocksComparisonItem | ComponentBlocksContactCard | ComponentBlocksDocListExtensions | ComponentBlocksFile | ComponentBlocksFileItem | ComponentBlocksFooterColumn | ComponentBlocksFooterContactItem | ComponentBlocksFooterSection | ComponentBlocksGalleryItem | ComponentBlocksHomepageBookmark | ComponentBlocksHomepageHighlightsItem | ComponentBlocksIconWithTitleAndDescription | ComponentBlocksInBa | ComponentBlocksNumericalListItem | ComponentBlocksPageLink | ComponentBlocksProsAndConsCard | ComponentBlocksSpaceInfo | ComponentBlocksSubpage | ComponentBlocksTimelineItem | ComponentBlocksTopServicesItem | ComponentBlocksVideo | ComponentGeneralHeader | ComponentGeneralHeaderLink | ComponentMenuMenuItem | ComponentMenuMenuLink | ComponentMenuMenuSection | ComponentOsItemsAdvancedAccordionDepartment | ComponentOsItemsAdvancedAccordionItem | ComponentOsItemsAdvancedAccordionSubItem | ComponentOsItemsAdvancedAccordionSubSubItem | ComponentSectionsAccordion | ComponentSectionsBanner | ComponentSectionsBlogPostsByCategory | ComponentSectionsBlogPostsByTags | ComponentSectionsBlogPostsList | ComponentSectionsCalculator | ComponentSectionsColumnedText | ComponentSectionsComparisonSection | ComponentSectionsContactsSection | ComponentSectionsDivider | ComponentSectionsDocumentList | ComponentSectionsFeaturedBlogPosts | ComponentSectionsFileList | ComponentSectionsGallery | ComponentSectionsHomepageEvents | ComponentSectionsHomepageHighlights | ComponentSectionsHomepageMayorAndCouncil | ComponentSectionsHomepageTabs | ComponentSectionsIconTitleDesc | ComponentSectionsIframe | ComponentSectionsInbaArticlesList | ComponentSectionsInbaReleases | ComponentSectionsLinks | ComponentSectionsNarrowText | ComponentSectionsNumericalList | ComponentSectionsOfficialBoard | ComponentSectionsOrganizationalStructure | ComponentSectionsProsAndConsSection | ComponentSectionsRegulations | ComponentSectionsRegulationsList | ComponentSectionsSpace | ComponentSectionsSubpageList | ComponentSectionsTextWithImage | ComponentSectionsTimeline | ComponentSectionsTopServices | ComponentSectionsVideos | ComponentSectionsWaves | ComponentTaxAdministratorsTaxAdministrator | Footer | General | Homepage | I18NLocale | InbaArticle | InbaRelease | InbaTag | Menu | Page | PageCategory | PageSubcategory | Regulation | Tag | TaxAdministratorsList | UploadFile | UploadFolder | UsersPermissionsPermission | UsersPermissionsRole | UsersPermissionsUser | Vzn +union GenericMorph = Alert | BlogPost | ComponentAccordionItemsFlatText | ComponentAccordionItemsInstitution | ComponentAccordionItemsInstitutionNarrow | ComponentBlocksBlogPostLink | ComponentBlocksBookmarkLink | ComponentBlocksCommonLink | ComponentBlocksComparisonCard | ComponentBlocksComparisonItem | ComponentBlocksContactCard | ComponentBlocksDocListExtensions | ComponentBlocksFile | ComponentBlocksFileItem | ComponentBlocksFooterColumn | ComponentBlocksFooterContactItem | ComponentBlocksFooterSection | ComponentBlocksGalleryItem | ComponentBlocksHomepageBookmark | ComponentBlocksHomepageHighlightsItem | ComponentBlocksIconWithTitleAndDescription | ComponentBlocksInBa | ComponentBlocksNumericalListItem | ComponentBlocksPageLink | ComponentBlocksProsAndConsCard | ComponentBlocksSpaceInfo | ComponentBlocksSubpage | ComponentBlocksTestimonialItem | ComponentBlocksTimelineItem | ComponentBlocksTopServicesItem | ComponentBlocksVideo | ComponentGeneralHeader | ComponentGeneralHeaderLink | ComponentMenuMenuItem | ComponentMenuMenuLink | ComponentMenuMenuSection | ComponentOsItemsAdvancedAccordionDepartment | ComponentOsItemsAdvancedAccordionItem | ComponentOsItemsAdvancedAccordionSubItem | ComponentOsItemsAdvancedAccordionSubSubItem | ComponentSectionsAccordion | ComponentSectionsBanner | ComponentSectionsBlogPostsByCategory | ComponentSectionsBlogPostsByTags | ComponentSectionsBlogPostsList | ComponentSectionsCalculator | ComponentSectionsColumnedText | ComponentSectionsComparisonSection | ComponentSectionsContactsSection | ComponentSectionsDivider | ComponentSectionsDocumentList | ComponentSectionsFeaturedBlogPosts | ComponentSectionsFileList | ComponentSectionsGallery | ComponentSectionsHomepageEvents | ComponentSectionsHomepageHighlights | ComponentSectionsHomepageMayorAndCouncil | ComponentSectionsHomepageTabs | ComponentSectionsIconTitleDesc | ComponentSectionsIframe | ComponentSectionsInbaArticlesList | ComponentSectionsInbaReleases | ComponentSectionsLinks | ComponentSectionsNarrowText | ComponentSectionsNumericalList | ComponentSectionsOfficialBoard | ComponentSectionsOrganizationalStructure | ComponentSectionsProsAndConsSection | ComponentSectionsRegulations | ComponentSectionsRegulationsList | ComponentSectionsSpace | ComponentSectionsSubpageList | ComponentSectionsTestimonials | ComponentSectionsTextWithImage | ComponentSectionsTimeline | ComponentSectionsTopServices | ComponentSectionsVideos | ComponentSectionsWaves | ComponentTaxAdministratorsTaxAdministrator | Footer | General | Homepage | I18NLocale | InbaArticle | InbaRelease | InbaTag | Menu | Page | PageCategory | PageSubcategory | Regulation | Tag | TaxAdministratorsList | UploadFile | UploadFolder | UsersPermissionsPermission | UsersPermissionsRole | UsersPermissionsUser | Vzn type Homepage { bookmarkTourists: ComponentBlocksHomepageBookmark @@ -3104,7 +3150,7 @@ type PageRelationResponseCollection { data: [PageEntity!]! } -union PageSectionsDynamicZone = ComponentSectionsAccordion | ComponentSectionsBanner | ComponentSectionsBlogPostsByCategory | ComponentSectionsBlogPostsByTags | ComponentSectionsBlogPostsList | ComponentSectionsCalculator | ComponentSectionsColumnedText | ComponentSectionsComparisonSection | ComponentSectionsContactsSection | ComponentSectionsDivider | ComponentSectionsDocumentList | ComponentSectionsFeaturedBlogPosts | ComponentSectionsFileList | ComponentSectionsGallery | ComponentSectionsIconTitleDesc | ComponentSectionsIframe | ComponentSectionsInbaArticlesList | ComponentSectionsInbaReleases | ComponentSectionsLinks | ComponentSectionsNarrowText | ComponentSectionsNumericalList | ComponentSectionsOfficialBoard | ComponentSectionsOrganizationalStructure | ComponentSectionsProsAndConsSection | ComponentSectionsRegulations | ComponentSectionsRegulationsList | ComponentSectionsSpace | ComponentSectionsTextWithImage | ComponentSectionsTimeline | ComponentSectionsVideos | ComponentSectionsWaves | Error +union PageSectionsDynamicZone = ComponentSectionsAccordion | ComponentSectionsBanner | ComponentSectionsBlogPostsByCategory | ComponentSectionsBlogPostsByTags | ComponentSectionsBlogPostsList | ComponentSectionsCalculator | ComponentSectionsColumnedText | ComponentSectionsComparisonSection | ComponentSectionsContactsSection | ComponentSectionsDivider | ComponentSectionsDocumentList | ComponentSectionsFeaturedBlogPosts | ComponentSectionsFileList | ComponentSectionsGallery | ComponentSectionsIconTitleDesc | ComponentSectionsIframe | ComponentSectionsInbaArticlesList | ComponentSectionsInbaReleases | ComponentSectionsLinks | ComponentSectionsNarrowText | ComponentSectionsNumericalList | ComponentSectionsOfficialBoard | ComponentSectionsOrganizationalStructure | ComponentSectionsProsAndConsSection | ComponentSectionsRegulations | ComponentSectionsRegulationsList | ComponentSectionsSpace | ComponentSectionsTestimonials | ComponentSectionsTextWithImage | ComponentSectionsTimeline | ComponentSectionsVideos | ComponentSectionsWaves | Error scalar PageSectionsDynamicZoneInput diff --git a/strapi/src/api/page/content-types/page/schema.json b/strapi/src/api/page/content-types/page/schema.json index 7f3bcf63d..1dd52e723 100644 --- a/strapi/src/api/page/content-types/page/schema.json +++ b/strapi/src/api/page/content-types/page/schema.json @@ -136,6 +136,7 @@ "sections.regulations", "sections.regulations-list", "sections.space", + "sections.testimonials", "sections.text-with-image", "sections.timeline", "sections.videos", diff --git a/strapi/src/components/blocks/testimonial-item.json b/strapi/src/components/blocks/testimonial-item.json new file mode 100644 index 000000000..0e9b8dbb0 --- /dev/null +++ b/strapi/src/components/blocks/testimonial-item.json @@ -0,0 +1,17 @@ +{ + "collectionName": "components_blocks_testimonial_items", + "info": { + "displayName": "testimonial item" + }, + "options": {}, + "attributes": { + "name": { + "type": "string", + "required": true + }, + "quote": { + "type": "text", + "required": true + } + } +} diff --git a/strapi/src/components/sections/testimonials.json b/strapi/src/components/sections/testimonials.json new file mode 100644 index 000000000..0ead2af3c --- /dev/null +++ b/strapi/src/components/sections/testimonials.json @@ -0,0 +1,26 @@ +{ + "collectionName": "components_sections_testimonials", + "info": { + "displayName": "Testimonials", + "description": "" + }, + "options": {}, + "attributes": { + "title": { + "type": "string" + }, + "text": { + "type": "string" + }, + "hasBackground": { + "type": "boolean" + }, + "testimonials": { + "type": "component", + "repeatable": true, + "component": "blocks.testimonial-item", + "min": 1, + "required": true + } + } +}