diff --git a/api/src/enums/feature-flags/feature-flags-enum.ts b/api/src/enums/feature-flags/feature-flags-enum.ts index 112fe2bb46e..c5083b51049 100644 --- a/api/src/enums/feature-flags/feature-flags-enum.ts +++ b/api/src/enums/feature-flags/feature-flags-enum.ts @@ -20,6 +20,7 @@ export enum FeatureFlagEnum { enableConfigurableRegions = 'enableConfigurableRegions', enableCreditScreeningFee = 'enableCreditScreeningFee', enableFaq = 'enableFaq', + enableFaqResourceCard = 'enableFaqResourceCard', enableFilterByBathroom = 'enableFilterByBathroom', enableFullTimeStudentQuestion = 'enableFullTimeStudentQuestion', enableGenderQuestion = 'enableGenderQuestion', @@ -171,6 +172,11 @@ export const featureFlagMap: { description: 'When true, a link to the FAQ page is displayed on the get assistance page', }, + { + name: FeatureFlagEnum.enableFaqResourceCard, + description: + 'When true, the FAQ resource card is displayed on the home page', + }, { name: FeatureFlagEnum.enableFilterByBathroom, description: diff --git a/docs/feature-flags.md b/docs/feature-flags.md index a2159af8aa3..ae419c25d9e 100644 --- a/docs/feature-flags.md +++ b/docs/feature-flags.md @@ -45,6 +45,7 @@ The following are all of the feature flags currently available in the Bloom plat | [enableCreditScreeningFee](./feature-flags/enableCreditScreeningFee.md) | When true, credit screening fee is enabled for listings | | [enableCustomListingNotifications](./feature-flags/enableCustomListingNotifications.md) | When true, users have access to custom notification settings | | [enableFaq](./feature-flags/enableFaq.md) | When true, a link to the FAQ page is displayed on the get assistance page | +| [enableFaqResourceCard](./feature-flags/enableFaqResourceCard.md) | When true, the FAQ resource card is displayed on the home page | | [enableFilterByBathroom](./feature-flags/enableFilterByBathroom.md) | When true, the filter drawer on the public site includes the option to filter listings by number of bathrooms | | [enableFullTimeStudentQuestion](./feature-flags/enableFullTimeStudentQuestion.md) | When true, the full time student question is displayed in the application form | | [enableGenderQuestion](./feature-flags/enableGenderQuestion.md) | When true, the gender identity question is displayed in the public and partner application demographics section | diff --git a/docs/feature-flags/enableFaqResourceCard.md b/docs/feature-flags/enableFaqResourceCard.md new file mode 100644 index 00000000000..a16bbd7e7d5 --- /dev/null +++ b/docs/feature-flags/enableFaqResourceCard.md @@ -0,0 +1,13 @@ +# enableFaqResourceCard + +## Name + +`enableFaqResourceCard` + +## Description + +When true, the FAQ resource card is displayed on the home page + +## Additional Information + +## Images \ No newline at end of file diff --git a/shared-helpers/src/locales/ar.json b/shared-helpers/src/locales/ar.json index 43d40ccddc9..42eedfc070a 100644 --- a/shared-helpers/src/locales/ar.json +++ b/shared-helpers/src/locales/ar.json @@ -1465,6 +1465,8 @@ "users.userUpdated": "تم تحديث المستخدم", "welcome.allApplicationClosed": "جميع التطبيقات مغلقة حاليًا ، ولكن يمكنك عرض القوائم المغلقة.", "welcome.cityRegions": "مناطق المدن", + "welcome.faq": "اعثر على إجابات للأسئلة الشائعة", + "welcome.faqSubtitle": "تعرف على كيفية التأهل والتقدم بطلب للحصول على سكن ميسور التكلفة.", "welcome.findRentalsForYou": "ابحث عن الإيجارات المناسبة لك", "welcome.learnMore": "معرفة المزيد", "welcome.resources": "موارد", diff --git a/shared-helpers/src/locales/bn.json b/shared-helpers/src/locales/bn.json index ad9b4696e04..213b08a2478 100644 --- a/shared-helpers/src/locales/bn.json +++ b/shared-helpers/src/locales/bn.json @@ -1465,6 +1465,8 @@ "users.userUpdated": "ব্যবহারকারী আপডেট করা হয়েছে", "welcome.allApplicationClosed": "সমস্ত অ্যাপ্লিকেশন বর্তমানে বন্ধ আছে, তবে আপনি বন্ধ তালিকা দেখতে পারেন।", "welcome.cityRegions": "শহর অঞ্চল", + "welcome.faq": "সাধারণ প্রশ্নের উত্তর খুঁজুন", + "welcome.faqSubtitle": "কীভাবে আপনি সাশ্রয়ী মূল্যের আবাসনের জন্য যোগ্যতা অর্জন করতে ও আবেদন করতে পারেন, তা জেনে নিন।", "welcome.findRentalsForYou": "আপনার জন্য ভাড়া খুঁজুন", "welcome.learnMore": "আরও জেনে নিন", "welcome.resources": "রিসোর্স", diff --git a/shared-helpers/src/locales/es.json b/shared-helpers/src/locales/es.json index 7c3021c54ab..b200a42bfd6 100644 --- a/shared-helpers/src/locales/es.json +++ b/shared-helpers/src/locales/es.json @@ -1465,6 +1465,8 @@ "users.userUpdated": "Usuario actualizado", "welcome.allApplicationClosed": "Todas las solicitudes están cerradas actualmente pero puede ver listados cerrados.", "welcome.cityRegions": "Regiones urbanas", + "welcome.faq": "Encuentra respuestas a preguntas frecuentes", + "welcome.faqSubtitle": "Infórmese sobre cómo puede cumplir los requisitos y solicitar una vivienda asequible.", "welcome.findRentalsForYou": "Encuentra alquileres para ti", "welcome.learnMore": "Obtener más información", "welcome.resources": "Recursos", diff --git a/shared-helpers/src/locales/fa.json b/shared-helpers/src/locales/fa.json index 74a1666fea9..f31dca4942d 100644 --- a/shared-helpers/src/locales/fa.json +++ b/shared-helpers/src/locales/fa.json @@ -1469,6 +1469,8 @@ "users.userUpdated": "کاربر به‌روزرسانی شد", "welcome.allApplicationClosed": "در حال حاضر همه درخواست‌ها بسته شده‌اند، اما می‌توانید لیست‌های بسته شده را مشاهده کنید.", "welcome.cityRegions": "مناطق شهری", + "welcome.faq": "یافتن پاسخ سوالات رایج", + "welcome.faqSubtitle": "بیاموزید که چگونه می‌توانید واجد شرایط شوید و برای مسکن مقرون به صرفه درخواست دهید.", "welcome.findRentalsForYou": "برای خودتان خانه‌های اجاره‌ای پیدا کنید", "welcome.learnMore": "بیشتر بدانید", "welcome.resources": "منابع", diff --git a/shared-helpers/src/locales/general.json b/shared-helpers/src/locales/general.json index 9d8b93ecee3..dccac8970d5 100644 --- a/shared-helpers/src/locales/general.json +++ b/shared-helpers/src/locales/general.json @@ -1461,6 +1461,8 @@ "users.userUpdated": "User updated", "welcome.allApplicationClosed": "All applications are currently closed, but you can view closed listings.", "welcome.cityRegions": "City regions", + "welcome.faq": "Find answers to common questions", + "welcome.faqSubtitle": "Learn how you can qualify and apply for affordable housing.", "welcome.findRentalsForYou": "Find rentals for you", "welcome.learnMore": "Learn more", "welcome.resources": "Resources", diff --git a/shared-helpers/src/locales/hy.json b/shared-helpers/src/locales/hy.json index e39b7b58b30..18ed03e40f8 100644 --- a/shared-helpers/src/locales/hy.json +++ b/shared-helpers/src/locales/hy.json @@ -1469,6 +1469,8 @@ "users.userUpdated": "Օգտատերը թարմացրել է", "welcome.allApplicationClosed": "Բոլոր դիմումները ներկայումս փակ են, բայց դուք կարող եք դիտել փակված ցուցակները։", "welcome.cityRegions": "Քաղաքային շրջաններ", + "welcome.faq": "Գտեք հաճախակի տրվող հարցերի պատասխանները", + "welcome.faqSubtitle": "Իմացեք, թե ինչպես կարող եք որակավորվել և դիմել մատչելի բնակարանի համար։", "welcome.findRentalsForYou": "Գտեք ձեզ համար վարձակալվող տարածքներ", "welcome.learnMore": "Իմանալ ավելին", "welcome.resources": "Ռեսուրսներ", diff --git a/shared-helpers/src/locales/ko.json b/shared-helpers/src/locales/ko.json index f021f9007e7..a8e2804bf00 100644 --- a/shared-helpers/src/locales/ko.json +++ b/shared-helpers/src/locales/ko.json @@ -1469,6 +1469,8 @@ "users.userUpdated": "사용자가 업데이트했습니다.", "welcome.allApplicationClosed": "현재 모든 신청 접수가 마감되었지만, 마감된 공고는 확인하실 수 있습니다.", "welcome.cityRegions": "도시 지역", + "welcome.faq": "자주 묻는 질문에 대한 답변을 찾아보세요", + "welcome.faqSubtitle": "저렴한 주택을 신청하고 자격을 갖추는 방법을 알아보세요.", "welcome.findRentalsForYou": "당신에게 맞는 임대 숙소를 찾아보세요", "welcome.learnMore": "더 알아보기", "welcome.resources": "자원", diff --git a/shared-helpers/src/locales/tl.json b/shared-helpers/src/locales/tl.json index 271f059ee27..ed89e1e7298 100644 --- a/shared-helpers/src/locales/tl.json +++ b/shared-helpers/src/locales/tl.json @@ -1465,6 +1465,8 @@ "users.userUpdated": "Na-update ang user", "welcome.allApplicationClosed": "Ang lahat ng mga application ay kasalukuyang sarado, ngunit maaari mong tingnan ang mga sarado nang listahan.", "welcome.cityRegions": "Mga rehiyon ng lungsod", + "welcome.faq": "Maghanap ng mga sagot sa mga karaniwang tanong", + "welcome.faqSubtitle": "Alamin kung paano ka magiging kwalipikado at makapag-apply para sa abot-kayang pabahay.", "welcome.findRentalsForYou": "Maghanap ng mga rental para sa iyo", "welcome.learnMore": "Matuto pa", "welcome.resources": "Mga mapagkukunan", diff --git a/shared-helpers/src/locales/vi.json b/shared-helpers/src/locales/vi.json index 56ffa806700..3afb78aee45 100644 --- a/shared-helpers/src/locales/vi.json +++ b/shared-helpers/src/locales/vi.json @@ -1465,6 +1465,8 @@ "users.userUpdated": "Đã cập nhật người dùng", "welcome.allApplicationClosed": "Hiện đang không nhận tất cả các đơn ghi danh, nhưng quý vị có thể xem danh sách đã đóng.", "welcome.cityRegions": "Các vùng thành phố", + "welcome.faq": "Tìm câu trả lời cho các câu hỏi thường gặp", + "welcome.faqSubtitle": "Tìm hiểu cách bạn có thể đủ điều kiện và đăng ký nhà ở giá rẻ.", "welcome.findRentalsForYou": "Tìm chỗ cho thuê phù hợp với bạn", "welcome.learnMore": "Tìm hiểu thêm", "welcome.resources": "Tài nguyên", diff --git a/shared-helpers/src/locales/zh.json b/shared-helpers/src/locales/zh.json index 604d71436a8..26c9e73d89c 100644 --- a/shared-helpers/src/locales/zh.json +++ b/shared-helpers/src/locales/zh.json @@ -1465,6 +1465,8 @@ "users.userUpdated": "用户已更新", "welcome.allApplicationClosed": "目前所有申請已截止,但您可以查看已截止申請的上市名單。", "welcome.cityRegions": "城市区域", + "welcome.faq": "查找常见问题的答案", + "welcome.faqSubtitle": "了解如何获得经济适用房资格并申请住房。", "welcome.findRentalsForYou": "为您寻找出租房源", "welcome.learnMore": "了解更多", "welcome.resources": "资源", diff --git a/shared-helpers/src/types/backend-swagger.ts b/shared-helpers/src/types/backend-swagger.ts index eb6cd2882ca..438dd758306 100644 --- a/shared-helpers/src/types/backend-swagger.ts +++ b/shared-helpers/src/types/backend-swagger.ts @@ -10762,6 +10762,7 @@ export enum FeatureFlagEnum { "enableConfigurableRegions" = "enableConfigurableRegions", "enableCreditScreeningFee" = "enableCreditScreeningFee", "enableFaq" = "enableFaq", + "enableFaqResourceCard" = "enableFaqResourceCard", "enableFilterByBathroom" = "enableFilterByBathroom", "enableFullTimeStudentQuestion" = "enableFullTimeStudentQuestion", "enableGenderQuestion" = "enableGenderQuestion", diff --git a/sites/public/page_content/locale_overrides/general.json b/sites/public/page_content/locale_overrides/general.json index 263df9e7392..7278c43c8f7 100644 --- a/sites/public/page_content/locale_overrides/general.json +++ b/sites/public/page_content/locale_overrides/general.json @@ -22,5 +22,6 @@ "resources.housingProgramsTitle": "Bloomington's Housing & Community Development housing programs", "resources.additionalResourcesLink": "/housing-basics", "resources.additionalResourcesTitle": "Get more information about the Accessible Housing Program (AcHP), including a list of covered housing projects, tenant resources, policies, and how to file a grievance.", - "t.nonProdBanner": "This site is for testing purposes only. Applications will not be considered. Please visit the official site to apply for housing." + "t.nonProdBanner": "This site is for testing purposes only. Applications will not be considered. Please visit the official site to apply for housing.", + "welcome.faqSubtitle": "" } diff --git a/sites/public/src/components/home/HomeResources.tsx b/sites/public/src/components/home/HomeResources.tsx index 486fb14a21c..84656619922 100644 --- a/sites/public/src/components/home/HomeResources.tsx +++ b/sites/public/src/components/home/HomeResources.tsx @@ -1,4 +1,4 @@ -import { BloomCard } from "@bloom-housing/shared-helpers" +import { BloomCard, tIfExists } from "@bloom-housing/shared-helpers" import { Button, Card, Grid } from "@bloom-housing/ui-seeds" import { t } from "@bloom-housing/ui-components" import { @@ -29,9 +29,18 @@ export const HomeResources = (props: HomeResourcesProps) => { enableCustomListingNotifications || (props.jurisdiction && props.jurisdiction.notificationsSignUpUrl) + const enableFAQCard = isFeatureFlagOn(props.jurisdiction, FeatureFlagEnum.enableFaqResourceCard) + + const cardCount = [ + showNotificationsCard, + enableResources, + enableAdditionalResources, + enableFAQCard, + ].filter(Boolean).length + return ( - + 2 ? cardCount : 2}> {showNotificationsCard && ( { )} + {enableFAQCard && ( + + + + + + + + )} {enableResources && (