import React from "react"; import { useMemo } from "@wordpress/element"; import { buildQueryString } from "@wordpress/url"; import { useFetch } from "../../hooks"; import { htmlToElem } from "../../helpers/helper"; import { DownChevronIcon, Minus1, Minus2, Plus1, Plus2, UpChevronIcon } from "../icons/FaqIcons"; const FAQList = ({ className = "betterfaqs-articles-list", attributes, faqs, widgetType, ...props }) => { const { postsPerPage, postsOrderBy, postsOrder, faqLayout, listIcon, enableNestedSubcategory, showButtonIcon, buttonIcon, buttonIconPosition, buttonColor, buttonHoverColor, faqTaxonomy, } = attributes; // Map faqTaxonomy to the WP REST filter param for betterdocs_faq posts. const faqTermParam = (faqTaxonomy === 'betterdocs_product_faq_category' || faqTaxonomy === 'product_assignments') ? 'betterdocs_product_faq_category' : 'betterdocs_faq_category'; const faqsByCatIDURL = useMemo(() => { let query = { posts_per_page: -1, orderby: postsOrderBy, order: postsOrder, [faqTermParam]: props.id, }; const baseURL = query.orderby === "betterfaqs_order" ? "/betterdocs/order_faqs" : "/wp/v2/betterdocs_faq"; return `${baseURL}?${buildQueryString(query)}`; }, [faqs, postsPerPage, postsOrderBy, postsOrder, props.id, faqTermParam]); const { data: betterdocs_faq, isLoading: isFAQLoading, error: faqsError, } = useFetch(faqsByCatIDURL); return ( ); }; export default FAQList;