From c31d693addb6e663fb13368a21ce1e79f59fa38c Mon Sep 17 00:00:00 2001
From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Date: Thu, 30 Oct 2025 03:04:28 +0530
Subject: [PATCH] chore: Improvements in pending FAQs (#12755)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
# Pull Request Template
## Description
**This PR includes:**
1. Added URL-based filter persistence for the responses pages, including
page and search parameters.
2. Introduced a new empty state variant for pending FAQs — without a
backdrop and with a “Clear Filters” option.
3. Made the actions, filter, and search row remain fixed at the top
while scrolling.
Fixes
https://linear.app/chatwoot/issue/CW-5852/improvements-in-pending-faqs
## Type of change
- [x] New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
### Loom video
https://www.loom.com/share/1d9eee68c0684f0ab05e08b4ca1e0ce9
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
---
.../components-next/EmptyStateLayout.vue | 19 +++++-
.../components-next/captain/PageLayout.vue | 1 +
.../emptyStates/ResponsePageEmptyState.vue | 56 +++++++++++++---
.../i18n/locale/en/integrations.json | 2 +
.../dashboard/captain/responses/Index.vue | 55 +++++++++++-----
.../dashboard/captain/responses/Pending.vue | 65 +++++++++++++++----
6 files changed, 159 insertions(+), 39 deletions(-)
diff --git a/app/javascript/dashboard/components-next/EmptyStateLayout.vue b/app/javascript/dashboard/components-next/EmptyStateLayout.vue
index f2744dde5..39eda2d85 100644
--- a/app/javascript/dashboard/components-next/EmptyStateLayout.vue
+++ b/app/javascript/dashboard/components-next/EmptyStateLayout.vue
@@ -14,6 +14,10 @@ defineProps({
type: Array,
default: () => [],
},
+ showBackdrop: {
+ type: Boolean,
+ default: true,
+ },
});
@@ -25,14 +29,24 @@ defineProps({
class="relative w-full max-w-[60rem] mx-auto overflow-hidden h-full max-h-[28rem]"
>