From 81d8d3862d4d114347071ef8db50e51955c11681 Mon Sep 17 00:00:00 2001
From: Petterson <58094725+hahuma@users.noreply.github.com>
Date: Mon, 11 Aug 2025 16:23:05 -0300
Subject: [PATCH 1/6] feat: Add route to list accounts that belongs to a
platform_app (#12140)
This PR creates a new route to list all accounts that a platform_app has access to.
Fixes: #12109
---
.../platform/api/v1/accounts_controller.rb | 7 ++++
.../api/v1/accounts/index.json.jbuilder | 3 ++
config/routes.rb | 2 +-
.../api/v1/accounts_controller_spec.rb | 36 +++++++++++++++++++
4 files changed, 47 insertions(+), 1 deletion(-)
create mode 100644 app/views/platform/api/v1/accounts/index.json.jbuilder
diff --git a/app/controllers/platform/api/v1/accounts_controller.rb b/app/controllers/platform/api/v1/accounts_controller.rb
index e11cf9d4a..4521930a6 100644
--- a/app/controllers/platform/api/v1/accounts_controller.rb
+++ b/app/controllers/platform/api/v1/accounts_controller.rb
@@ -1,4 +1,11 @@
class Platform::Api::V1::AccountsController < PlatformController
+ def index
+ @resources = @platform_app.platform_app_permissibles
+ .where(permissible_type: 'Account')
+ .includes(:permissible)
+ .map(&:permissible)
+ end
+
def show; end
def create
diff --git a/app/views/platform/api/v1/accounts/index.json.jbuilder b/app/views/platform/api/v1/accounts/index.json.jbuilder
new file mode 100644
index 000000000..2e8e9f73f
--- /dev/null
+++ b/app/views/platform/api/v1/accounts/index.json.jbuilder
@@ -0,0 +1,3 @@
+json.array! @resources do |account|
+ json.partial! 'platform/api/v1/models/account', formats: [:json], resource: account
+end
diff --git a/config/routes.rb b/config/routes.rb
index 7fb348084..10749062e 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -425,7 +425,7 @@ Rails.application.routes.draw do
resources :agent_bots, only: [:index, :create, :show, :update, :destroy] do
delete :avatar, on: :member
end
- resources :accounts, only: [:create, :show, :update, :destroy] do
+ resources :accounts, only: [:index, :create, :show, :update, :destroy] do
resources :account_users, only: [:index, :create] do
collection do
delete :destroy
diff --git a/spec/controllers/platform/api/v1/accounts_controller_spec.rb b/spec/controllers/platform/api/v1/accounts_controller_spec.rb
index c7b5b275b..63f53d0d6 100644
--- a/spec/controllers/platform/api/v1/accounts_controller_spec.rb
+++ b/spec/controllers/platform/api/v1/accounts_controller_spec.rb
@@ -78,6 +78,42 @@ RSpec.describe 'Platform Accounts API', type: :request do
end
end
+ describe 'GET /platform/api/v1/accounts' do
+ context 'when it is an unauthenticated platform app' do
+ it 'returns unauthorized' do
+ get '/platform/api/v1/accounts'
+ expect(response).to have_http_status(:unauthorized)
+ end
+ end
+
+ context 'when it is an invalid platform app token' do
+ it 'returns unauthorized' do
+ get '/platform/api/v1/accounts', headers: { api_access_token: 'invalid' }, as: :json
+ expect(response).to have_http_status(:unauthorized)
+ end
+ end
+
+ context 'when it is an authenticated platform app' do
+ let(:platform_app) { create(:platform_app) }
+ let!(:account1) { create(:account, name: 'Account A') }
+ let!(:account2) { create(:account, name: 'Account B') }
+
+ before do
+ create(:platform_app_permissible, platform_app: platform_app, permissible: account1)
+ create(:platform_app_permissible, platform_app: platform_app, permissible: account2)
+ end
+
+ it 'returns all permissible accounts' do
+ get '/platform/api/v1/accounts', headers: { api_access_token: platform_app.access_token.token }, as: :json
+
+ expect(response).to have_http_status(:success)
+ json_response = response.parsed_body
+ expect(json_response.size).to eq(2)
+ expect(json_response.map { |acc| acc['name'] }).to include('Account A', 'Account B')
+ end
+ end
+ end
+
describe 'GET /platform/api/v1/accounts/{account_id}' do
context 'when it is an unauthenticated platform app' do
it 'returns unauthorized' do
From ecd9cf0326e240bb648ae9bb8e46c1101bc6d617 Mon Sep 17 00:00:00 2001
From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Date: Tue, 12 Aug 2025 02:46:48 +0530
Subject: [PATCH 2/6] fix: RTL issues in new conversation form (#12163)
# Pull Request Template
## Description
This PR fixes RTL alignment issues in the new conversation form, removes
the unused
[`form-checkbox`](https://github.com/chatwoot/chatwoot/pull/12151#discussion_r2266333315)
class name and drops the `app-rtl--wrapper` class, which was previously
used for RTL detection in `rtl.scss` (removed earlier)
Fixes https://linear.app/chatwoot/issue/CW-5410/rtl-issues
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
### Screenshots
## 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
---
app/javascript/dashboard/App.vue | 1 -
.../components/ActionButtons.vue | 2 +-
.../components/AttachmentPreviews.vue | 2 +-
.../components/InboxSelector.vue | 2 +-
.../components/WhatsAppOptions.vue | 10 +++++++---
.../components/WhatsappTemplateParser.vue | 5 +++--
.../components-next/avatar/Avatar.vue | 2 +-
.../assistant/EditAssistantForm.vue | 13 ++-----------
.../settings/AssistantBasicSettingsForm.vue | 18 +++---------------
.../components-next/sidebar/SidebarGroup.vue | 4 ++--
.../components-next/taginput/TagInput.vue | 2 +-
11 files changed, 22 insertions(+), 39 deletions(-)
diff --git a/app/javascript/dashboard/App.vue b/app/javascript/dashboard/App.vue
index 0fbb20ea9..8da7e7476 100644
--- a/app/javascript/dashboard/App.vue
+++ b/app/javascript/dashboard/App.vue
@@ -137,7 +137,6 @@ export default {
v-if="!authUIFlags.isFetching && !accountUIFlags.isFetchingItem"
id="app"
class="flex flex-col w-full h-screen min-h-0"
- :class="{ 'app-rtl--wrapper': isRTL }"
:dir="isRTL ? 'rtl' : 'ltr'"
>
diff --git a/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue b/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue
index 90cb67c4f..a686a8d16 100644
--- a/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue
+++ b/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue
@@ -170,7 +170,7 @@ useKeyboardEvents(keyboardEvents);
/>
diff --git a/app/javascript/dashboard/components-next/NewConversation/components/AttachmentPreviews.vue b/app/javascript/dashboard/components-next/NewConversation/components/AttachmentPreviews.vue
index fe57d19c4..a546fe0df 100644
--- a/app/javascript/dashboard/components-next/NewConversation/components/AttachmentPreviews.vue
+++ b/app/javascript/dashboard/components-next/NewConversation/components/AttachmentPreviews.vue
@@ -57,7 +57,7 @@ const removeAttachment = id => {
variant="ghost"
icon="i-lucide-trash"
color="slate"
- class="absolute top-1 right-1 !w-5 !h-5 transition-opacity duration-150 ease-in-out opacity-0 group-hover/image:opacity-100"
+ class="absolute top-1 ltr:right-1 rtl:left-1 !w-5 !h-5 transition-opacity duration-150 ease-in-out opacity-0 group-hover/image:opacity-100"
@click="removeAttachment(attachment.resource.id)"
/>
diff --git a/app/javascript/dashboard/components-next/NewConversation/components/InboxSelector.vue b/app/javascript/dashboard/components-next/NewConversation/components/InboxSelector.vue
index 7794d5bdd..3cafacb21 100644
--- a/app/javascript/dashboard/components-next/NewConversation/components/InboxSelector.vue
+++ b/app/javascript/dashboard/components-next/NewConversation/components/InboxSelector.vue
@@ -83,7 +83,7 @@ const targetInboxLabel = computed(() => {
diff --git a/app/javascript/dashboard/components-next/NewConversation/components/WhatsAppOptions.vue b/app/javascript/dashboard/components-next/NewConversation/components/WhatsAppOptions.vue
index 3980c6b30..124612ad3 100644
--- a/app/javascript/dashboard/components-next/NewConversation/components/WhatsAppOptions.vue
+++ b/app/javascript/dashboard/components-next/NewConversation/components/WhatsAppOptions.vue
@@ -2,6 +2,7 @@
import { computed, ref } from 'vue';
import { useI18n } from 'vue-i18n';
+import Icon from 'dashboard/components-next/icon/Icon.vue';
import Button from 'dashboard/components-next/button/Button.vue';
import WhatsappTemplateParser from './WhatsappTemplateParser.vue';
@@ -84,10 +85,13 @@ const handleSendMessage = template => {
/>
-
+
{
'COMPOSE_NEW_CONVERSATION.FORM.WHATSAPP_OPTIONS.SEARCH_PLACEHOLDER'
)
"
- class="w-full h-8 py-2 pl-10 pr-2 text-sm reset-base outline-none border-none rounded-lg bg-n-alpha-black2 dark:bg-n-solid-1 text-n-slate-12"
+ class="w-full h-8 py-2 ltr:pl-10 rtl:pr-10 ltr:pr-2 rtl:pl-2 text-sm reset-base outline-none border-none rounded-lg bg-n-alpha-black2 dark:bg-n-solid-1 text-n-slate-12"
/>
{
{{
@@ -138,7 +138,8 @@ onMounted(() => {
class="flex items-center w-full gap-2"
>
{{ key }}
diff --git a/app/javascript/dashboard/components-next/avatar/Avatar.vue b/app/javascript/dashboard/components-next/avatar/Avatar.vue
index a47566566..1618cef21 100644
--- a/app/javascript/dashboard/components-next/avatar/Avatar.vue
+++ b/app/javascript/dashboard/components-next/avatar/Avatar.vue
@@ -207,7 +207,7 @@ watch(
diff --git a/app/javascript/dashboard/components-next/captain/pageComponents/assistant/EditAssistantForm.vue b/app/javascript/dashboard/components-next/captain/pageComponents/assistant/EditAssistantForm.vue
index ad65f7511..cca996a44 100644
--- a/app/javascript/dashboard/components-next/captain/pageComponents/assistant/EditAssistantForm.vue
+++ b/app/javascript/dashboard/components-next/captain/pageComponents/assistant/EditAssistantForm.vue
@@ -303,26 +303,17 @@ watch(
{{
t('CAPTAIN.ASSISTANTS.FORM.FEATURES.ALLOW_CONVERSATION_FAQS')
}}
diff --git a/app/javascript/dashboard/components-next/captain/pageComponents/assistant/settings/AssistantBasicSettingsForm.vue b/app/javascript/dashboard/components-next/captain/pageComponents/assistant/settings/AssistantBasicSettingsForm.vue
index faaf0a825..42c075ea1 100644
--- a/app/javascript/dashboard/components-next/captain/pageComponents/assistant/settings/AssistantBasicSettingsForm.vue
+++ b/app/javascript/dashboard/components-next/captain/pageComponents/assistant/settings/AssistantBasicSettingsForm.vue
@@ -126,27 +126,15 @@ watch(
diff --git a/app/javascript/dashboard/components-next/sidebar/SidebarGroup.vue b/app/javascript/dashboard/components-next/sidebar/SidebarGroup.vue
index 6e211b132..090bc2c42 100644
--- a/app/javascript/dashboard/components-next/sidebar/SidebarGroup.vue
+++ b/app/javascript/dashboard/components-next/sidebar/SidebarGroup.vue
@@ -218,8 +218,8 @@ onMounted(async () => {
left: 0;
}
-.app-rtl--wrapper .sidebar-group-children > .child-item:last-child::after,
-.app-rtl--wrapper
+#app[dir='rtl'] .sidebar-group-children > .child-item:last-child::after,
+#app[dir='rtl']
.sidebar-group-children
> *:last-child
> *:last-child
diff --git a/app/javascript/dashboard/components-next/taginput/TagInput.vue b/app/javascript/dashboard/components-next/taginput/TagInput.vue
index 8988201fb..2e53ad0dd 100644
--- a/app/javascript/dashboard/components-next/taginput/TagInput.vue
+++ b/app/javascript/dashboard/components-next/taginput/TagInput.vue
@@ -230,7 +230,7 @@ const handleBlur = e => emit('blur', e);
v-if="showDropdownMenu"
:menu-items="filteredMenuItems"
:is-searching="isLoading"
- class="left-0 z-[100] top-8 overflow-y-auto max-h-60 w-[inherit] max-w-md dark:!outline-n-slate-5"
+ class="ltr:left-0 rtl:right-0 z-[100] top-8 overflow-y-auto max-h-60 w-[inherit] max-w-md dark:!outline-n-slate-5"
@action="handleDropdownAction"
/>
From 693309202ef0a52a4e4f9f6bb545d2df860bfaee Mon Sep 17 00:00:00 2001
From: Chatwoot Bot <92152627+chatwoot-bot@users.noreply.github.com>
Date: Mon, 11 Aug 2025 18:40:11 -0700
Subject: [PATCH 3/6] chore: Update translations (#12148)
---
.../dashboard/i18n/locale/am/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ar/helpCenter.json | 2 +-
.../dashboard/i18n/locale/az/helpCenter.json | 2 +-
.../dashboard/i18n/locale/bg/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ca/helpCenter.json | 2 +-
.../dashboard/i18n/locale/cs/helpCenter.json | 2 +-
.../dashboard/i18n/locale/da/helpCenter.json | 2 +-
.../dashboard/i18n/locale/de/helpCenter.json | 2 +-
.../dashboard/i18n/locale/el/helpCenter.json | 2 +-
.../dashboard/i18n/locale/es/helpCenter.json | 2 +-
.../dashboard/i18n/locale/fa/helpCenter.json | 2 +-
.../dashboard/i18n/locale/fi/helpCenter.json | 2 +-
.../dashboard/i18n/locale/fr/helpCenter.json | 2 +-
app/javascript/dashboard/i18n/locale/he/agentBots.json | 10 +++++-----
.../dashboard/i18n/locale/he/helpCenter.json | 2 +-
.../dashboard/i18n/locale/hi/helpCenter.json | 2 +-
.../dashboard/i18n/locale/hr/helpCenter.json | 2 +-
.../dashboard/i18n/locale/hu/helpCenter.json | 2 +-
.../dashboard/i18n/locale/hy/helpCenter.json | 2 +-
.../dashboard/i18n/locale/id/helpCenter.json | 2 +-
.../dashboard/i18n/locale/is/helpCenter.json | 2 +-
.../dashboard/i18n/locale/it/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ja/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ka/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ko/helpCenter.json | 2 +-
.../dashboard/i18n/locale/lt/helpCenter.json | 2 +-
.../dashboard/i18n/locale/lv/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ml/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ms/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ne/helpCenter.json | 2 +-
.../dashboard/i18n/locale/nl/helpCenter.json | 2 +-
.../dashboard/i18n/locale/no/helpCenter.json | 2 +-
.../dashboard/i18n/locale/pl/helpCenter.json | 2 +-
.../dashboard/i18n/locale/pt/helpCenter.json | 2 +-
.../dashboard/i18n/locale/pt_BR/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ro/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ru/helpCenter.json | 2 +-
.../dashboard/i18n/locale/sh/helpCenter.json | 2 +-
.../dashboard/i18n/locale/sk/helpCenter.json | 2 +-
.../dashboard/i18n/locale/sl/helpCenter.json | 2 +-
.../dashboard/i18n/locale/sq/helpCenter.json | 2 +-
.../dashboard/i18n/locale/sr/helpCenter.json | 2 +-
.../dashboard/i18n/locale/sv/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ta/helpCenter.json | 2 +-
.../dashboard/i18n/locale/th/helpCenter.json | 2 +-
.../dashboard/i18n/locale/tl/helpCenter.json | 2 +-
.../dashboard/i18n/locale/tr/helpCenter.json | 2 +-
.../dashboard/i18n/locale/uk/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ur/helpCenter.json | 2 +-
.../dashboard/i18n/locale/ur_IN/helpCenter.json | 2 +-
.../dashboard/i18n/locale/vi/helpCenter.json | 2 +-
.../dashboard/i18n/locale/zh_CN/helpCenter.json | 2 +-
.../dashboard/i18n/locale/zh_TW/helpCenter.json | 2 +-
53 files changed, 57 insertions(+), 57 deletions(-)
diff --git a/app/javascript/dashboard/i18n/locale/am/helpCenter.json b/app/javascript/dashboard/i18n/locale/am/helpCenter.json
index bd7fb986a..fd2b1a788 100644
--- a/app/javascript/dashboard/i18n/locale/am/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/am/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ar/helpCenter.json b/app/javascript/dashboard/i18n/locale/ar/helpCenter.json
index 6ca4d8338..8c1495aba 100644
--- a/app/javascript/dashboard/i18n/locale/ar/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ar/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "رابط الصفحة الرئيسية للبوابة",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/az/helpCenter.json b/app/javascript/dashboard/i18n/locale/az/helpCenter.json
index bd7fb986a..fd2b1a788 100644
--- a/app/javascript/dashboard/i18n/locale/az/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/az/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/bg/helpCenter.json b/app/javascript/dashboard/i18n/locale/bg/helpCenter.json
index 88d5d7a0b..3a6ee3cfe 100644
--- a/app/javascript/dashboard/i18n/locale/bg/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/bg/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ca/helpCenter.json b/app/javascript/dashboard/i18n/locale/ca/helpCenter.json
index e0d9dfae1..fd66b6abd 100644
--- a/app/javascript/dashboard/i18n/locale/ca/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ca/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Enllaç a la pàgina d'inici del portal",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/cs/helpCenter.json b/app/javascript/dashboard/i18n/locale/cs/helpCenter.json
index b6db6950a..a414a6773 100644
--- a/app/javascript/dashboard/i18n/locale/cs/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/cs/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/da/helpCenter.json b/app/javascript/dashboard/i18n/locale/da/helpCenter.json
index bd1f354a5..0d9d71d63 100644
--- a/app/javascript/dashboard/i18n/locale/da/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/da/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Link til portalens hjemmeside",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Snegl",
diff --git a/app/javascript/dashboard/i18n/locale/de/helpCenter.json b/app/javascript/dashboard/i18n/locale/de/helpCenter.json
index 55962a4ec..6e94dd832 100644
--- a/app/javascript/dashboard/i18n/locale/de/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/de/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Link zur Startseite des Portals",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/el/helpCenter.json b/app/javascript/dashboard/i18n/locale/el/helpCenter.json
index bd37b6662..b7ddaf650 100644
--- a/app/javascript/dashboard/i18n/locale/el/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/el/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Σύνδεσμος αρχικής σελίδας πύλης",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/es/helpCenter.json b/app/javascript/dashboard/i18n/locale/es/helpCenter.json
index 21aa6df53..0a7039883 100644
--- a/app/javascript/dashboard/i18n/locale/es/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/es/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Enlace de página de inicio del portal",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/fa/helpCenter.json b/app/javascript/dashboard/i18n/locale/fa/helpCenter.json
index a2a341d25..244e35243 100644
--- a/app/javascript/dashboard/i18n/locale/fa/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/fa/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "پیوند صفحه اصلی پورتال",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/fi/helpCenter.json b/app/javascript/dashboard/i18n/locale/fi/helpCenter.json
index 14625b7d5..af4621aea 100644
--- a/app/javascript/dashboard/i18n/locale/fi/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/fi/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/fr/helpCenter.json b/app/javascript/dashboard/i18n/locale/fr/helpCenter.json
index 3a5279043..fb49a6786 100644
--- a/app/javascript/dashboard/i18n/locale/fr/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/fr/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Lien vers la page d'accueil du portail",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/he/agentBots.json b/app/javascript/dashboard/i18n/locale/he/agentBots.json
index 925836f35..4d1766160 100644
--- a/app/javascript/dashboard/i18n/locale/he/agentBots.json
+++ b/app/javascript/dashboard/i18n/locale/he/agentBots.json
@@ -2,13 +2,13 @@
"AGENT_BOTS": {
"HEADER": "בוטים",
"LOADING_EDITOR": "Loading editor...",
- "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
+ "DESCRIPTION": "בוטים של סוכנים הם כמו החברים הכי נפלאים בצוות שלכם. הם יכולים להתמודד עם הדברים הקטנים, כך שאתם יכולים להתמקד בדברים החשובים. נסו אותם. אתם יכולים לנהל את הבוטים שלכם מדף זה או ליצור חדשים באמצעות כפתור 'הוסף בוט'.",
"LEARN_MORE": "Learn about agent bots",
- "GLOBAL_BOT": "System bot",
+ "GLOBAL_BOT": "בוט מערכת",
"GLOBAL_BOT_BADGE": "System",
"AVATAR": {
- "SUCCESS_DELETE": "Bot avatar deleted successfully",
- "ERROR_DELETE": "Error deleting bot avatar, please try again"
+ "SUCCESS_DELETE": "בוט אווטר נמחק בהצלחה",
+ "ERROR_DELETE": "תקלה במחיקת בוט אווטר, יש לנסות שוב"
},
"BOT_CONFIGURATION": {
"TITLE": "בחר סוכן בוט",
@@ -22,7 +22,7 @@
"SELECT_PLACEHOLDER": "Select bot"
},
"ADD": {
- "TITLE": "Add Bot",
+ "TITLE": "הוסף בוט",
"CANCEL_BUTTON_TEXT": "ביטול",
"API": {
"SUCCESS_MESSAGE": "הבוט התווסף בהצלחה.",
diff --git a/app/javascript/dashboard/i18n/locale/he/helpCenter.json b/app/javascript/dashboard/i18n/locale/he/helpCenter.json
index d1dd4c38a..6e3c181a9 100644
--- a/app/javascript/dashboard/i18n/locale/he/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/he/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "קישור לדף הבית של הפורטל",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "שבלול",
diff --git a/app/javascript/dashboard/i18n/locale/hi/helpCenter.json b/app/javascript/dashboard/i18n/locale/hi/helpCenter.json
index 4cb6569fe..133d87369 100644
--- a/app/javascript/dashboard/i18n/locale/hi/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/hi/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/hr/helpCenter.json b/app/javascript/dashboard/i18n/locale/hr/helpCenter.json
index 57d6fd250..68c6c40f1 100644
--- a/app/javascript/dashboard/i18n/locale/hr/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/hr/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/hu/helpCenter.json b/app/javascript/dashboard/i18n/locale/hu/helpCenter.json
index d1a3d130f..dcd6d853c 100644
--- a/app/javascript/dashboard/i18n/locale/hu/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/hu/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portál főoldal link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/hy/helpCenter.json b/app/javascript/dashboard/i18n/locale/hy/helpCenter.json
index bd7fb986a..fd2b1a788 100644
--- a/app/javascript/dashboard/i18n/locale/hy/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/hy/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/id/helpCenter.json b/app/javascript/dashboard/i18n/locale/id/helpCenter.json
index d9357c6d9..c063f8900 100644
--- a/app/javascript/dashboard/i18n/locale/id/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/id/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Tautan halaman utama portal",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/is/helpCenter.json b/app/javascript/dashboard/i18n/locale/is/helpCenter.json
index 1a04a6c9c..02e72d4f9 100644
--- a/app/javascript/dashboard/i18n/locale/is/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/is/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/it/helpCenter.json b/app/javascript/dashboard/i18n/locale/it/helpCenter.json
index f62a1cad5..9adeee19f 100644
--- a/app/javascript/dashboard/i18n/locale/it/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/it/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Link della pagina iniziale del portale",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ja/helpCenter.json b/app/javascript/dashboard/i18n/locale/ja/helpCenter.json
index bab2717d7..a9a135289 100644
--- a/app/javascript/dashboard/i18n/locale/ja/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ja/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "ホームページリンク",
"PLACEHOLDER": "ポータルホームページリンク",
- "ERROR": "無効なURLです。ホームページリンクは「http://」または「https://」で始まる必要があります。"
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "スラッグ",
diff --git a/app/javascript/dashboard/i18n/locale/ka/helpCenter.json b/app/javascript/dashboard/i18n/locale/ka/helpCenter.json
index bd7fb986a..fd2b1a788 100644
--- a/app/javascript/dashboard/i18n/locale/ka/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ka/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ko/helpCenter.json b/app/javascript/dashboard/i18n/locale/ko/helpCenter.json
index 82f2980e6..6c6057807 100644
--- a/app/javascript/dashboard/i18n/locale/ko/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ko/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/lt/helpCenter.json b/app/javascript/dashboard/i18n/locale/lt/helpCenter.json
index db51e0948..a90cecbdd 100644
--- a/app/javascript/dashboard/i18n/locale/lt/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/lt/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portalo nuoroda į pagrindinį puslapį",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/lv/helpCenter.json b/app/javascript/dashboard/i18n/locale/lv/helpCenter.json
index 807c8a8db..3b76723e4 100644
--- a/app/javascript/dashboard/i18n/locale/lv/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/lv/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Mājas lapas saite",
"PLACEHOLDER": "Portāla mājaslapas saite",
- "ERROR": "Nederīgs URL. Sākumlapas saitei jāsākas ar “http://” vai “https://”."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ml/helpCenter.json b/app/javascript/dashboard/i18n/locale/ml/helpCenter.json
index ca7a34ab6..83e11d51b 100644
--- a/app/javascript/dashboard/i18n/locale/ml/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ml/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ms/helpCenter.json b/app/javascript/dashboard/i18n/locale/ms/helpCenter.json
index bec411fa9..f6d9bd45e 100644
--- a/app/javascript/dashboard/i18n/locale/ms/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ms/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ne/helpCenter.json b/app/javascript/dashboard/i18n/locale/ne/helpCenter.json
index 3150f34d3..2e8a9ba7d 100644
--- a/app/javascript/dashboard/i18n/locale/ne/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ne/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json
index 26763d19c..22b503b2b 100644
--- a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/no/helpCenter.json b/app/javascript/dashboard/i18n/locale/no/helpCenter.json
index 5e21047d0..736bb0e23 100644
--- a/app/javascript/dashboard/i18n/locale/no/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/no/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/pl/helpCenter.json b/app/javascript/dashboard/i18n/locale/pl/helpCenter.json
index 01f89e0b1..518c73f81 100644
--- a/app/javascript/dashboard/i18n/locale/pl/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/pl/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Link do strony głównej portalu",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/pt/helpCenter.json b/app/javascript/dashboard/i18n/locale/pt/helpCenter.json
index 437cf0548..1f4468d43 100644
--- a/app/javascript/dashboard/i18n/locale/pt/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/pt/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Link da página inicial do portal",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json b/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json
index 4abb60138..b438afa7d 100644
--- a/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Link da Página Inicial",
"PLACEHOLDER": "Link da página inicial do portal",
- "ERROR": "URL inválida. O link da página inicial deve começar com 'http://' ou 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ro/helpCenter.json b/app/javascript/dashboard/i18n/locale/ro/helpCenter.json
index d122f13a7..ed326fc89 100644
--- a/app/javascript/dashboard/i18n/locale/ro/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ro/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Link pagină portal",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ru/helpCenter.json b/app/javascript/dashboard/i18n/locale/ru/helpCenter.json
index dbde16384..aa59d0944 100644
--- a/app/javascript/dashboard/i18n/locale/ru/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ru/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Ссылка на домашнюю страницу",
"PLACEHOLDER": "Ссылка на главную страницу портала",
- "ERROR": "Неправильный URL-адрес. Ссылка на главную страницу должна начинаться с 'http://' или 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Метка",
diff --git a/app/javascript/dashboard/i18n/locale/sh/helpCenter.json b/app/javascript/dashboard/i18n/locale/sh/helpCenter.json
index bd7fb986a..fd2b1a788 100644
--- a/app/javascript/dashboard/i18n/locale/sh/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sh/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/sk/helpCenter.json b/app/javascript/dashboard/i18n/locale/sk/helpCenter.json
index 0310227f1..9dfb60107 100644
--- a/app/javascript/dashboard/i18n/locale/sk/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sk/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/sl/helpCenter.json b/app/javascript/dashboard/i18n/locale/sl/helpCenter.json
index 084a17ee1..5d99482b7 100644
--- a/app/javascript/dashboard/i18n/locale/sl/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sl/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/sq/helpCenter.json b/app/javascript/dashboard/i18n/locale/sq/helpCenter.json
index a020de2be..7a4de594e 100644
--- a/app/javascript/dashboard/i18n/locale/sq/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sq/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/sr/helpCenter.json b/app/javascript/dashboard/i18n/locale/sr/helpCenter.json
index 83d0c2efa..892fc24ad 100644
--- a/app/javascript/dashboard/i18n/locale/sr/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sr/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Veza do početne stranice portala",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/sv/helpCenter.json b/app/javascript/dashboard/i18n/locale/sv/helpCenter.json
index b722ce7a6..518ad737e 100644
--- a/app/javascript/dashboard/i18n/locale/sv/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sv/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ta/helpCenter.json b/app/javascript/dashboard/i18n/locale/ta/helpCenter.json
index 1ea6d92a5..c3dfbd38d 100644
--- a/app/javascript/dashboard/i18n/locale/ta/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ta/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/th/helpCenter.json b/app/javascript/dashboard/i18n/locale/th/helpCenter.json
index 113697493..a9bb3fda5 100644
--- a/app/javascript/dashboard/i18n/locale/th/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/th/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/tl/helpCenter.json b/app/javascript/dashboard/i18n/locale/tl/helpCenter.json
index bd7fb986a..fd2b1a788 100644
--- a/app/javascript/dashboard/i18n/locale/tl/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/tl/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/tr/helpCenter.json b/app/javascript/dashboard/i18n/locale/tr/helpCenter.json
index 4bd733d29..59555ecec 100644
--- a/app/javascript/dashboard/i18n/locale/tr/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/tr/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal ana sayfa bağlantısı",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/uk/helpCenter.json b/app/javascript/dashboard/i18n/locale/uk/helpCenter.json
index b2d2e0acb..8d651d366 100644
--- a/app/javascript/dashboard/i18n/locale/uk/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/uk/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Посилання на головну сторінку порталу",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Мітка",
diff --git a/app/javascript/dashboard/i18n/locale/ur/helpCenter.json b/app/javascript/dashboard/i18n/locale/ur/helpCenter.json
index 4e103131c..f09b765c0 100644
--- a/app/javascript/dashboard/i18n/locale/ur/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ur/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json b/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json
index bd7fb986a..fd2b1a788 100644
--- a/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json
index d8e7127ae..c7cb438b4 100644
--- a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Liên kế trang chủ cổng thông tin",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json b/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json
index a88a4c223..ede897b38 100644
--- a/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "主页链接",
"PLACEHOLDER": "门户主页链接",
- "ERROR": "无效的URL。主页链接必须以 'http://' 或 'https://' 开头。"
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json b/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json
index 8ba311172..0fff5245e 100644
--- a/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Invalid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
},
"SLUG": {
"LABEL": "Slug",
From 4df58501e341dfb23f492e7fe3f9344abb64260f Mon Sep 17 00:00:00 2001
From: Tanmay Deep Sharma <32020192+tds-1@users.noreply.github.com>
Date: Tue, 12 Aug 2025 10:14:38 +0530
Subject: [PATCH 4/6] feat: Add migration files for assignment v2 (#12147)
Co-authored-by: Pranav
---
app/models/account_user.rb | 32 ++++-----
...250806140000_create_assignment_policies.rb | 21 ++++++
...140001_create_inbox_assignment_policies.rb | 12 ++++
...06140002_create_agent_capacity_policies.rb | 14 ++++
...0806140003_create_inbox_capacity_limits.rb | 15 +++++
..._agent_capacity_policy_to_account_users.rb | 7 ++
db/migrate/20250806140005_create_leaves.rb | 21 ++++++
db/schema.rb | 66 +++++++++++++++++++
8 files changed, 173 insertions(+), 15 deletions(-)
create mode 100644 db/migrate/20250806140000_create_assignment_policies.rb
create mode 100644 db/migrate/20250806140001_create_inbox_assignment_policies.rb
create mode 100644 db/migrate/20250806140002_create_agent_capacity_policies.rb
create mode 100644 db/migrate/20250806140003_create_inbox_capacity_limits.rb
create mode 100644 db/migrate/20250806140004_add_agent_capacity_policy_to_account_users.rb
create mode 100644 db/migrate/20250806140005_create_leaves.rb
diff --git a/app/models/account_user.rb b/app/models/account_user.rb
index d559ab5b4..bbcb0e010 100644
--- a/app/models/account_user.rb
+++ b/app/models/account_user.rb
@@ -2,24 +2,26 @@
#
# Table name: account_users
#
-# id :bigint not null, primary key
-# active_at :datetime
-# auto_offline :boolean default(TRUE), not null
-# availability :integer default("online"), not null
-# role :integer default("agent")
-# created_at :datetime not null
-# updated_at :datetime not null
-# account_id :bigint
-# custom_role_id :bigint
-# inviter_id :bigint
-# user_id :bigint
+# id :bigint not null, primary key
+# active_at :datetime
+# auto_offline :boolean default(TRUE), not null
+# availability :integer default("online"), not null
+# role :integer default("agent")
+# created_at :datetime not null
+# updated_at :datetime not null
+# account_id :bigint
+# agent_capacity_policy_id :bigint
+# custom_role_id :bigint
+# inviter_id :bigint
+# user_id :bigint
#
# Indexes
#
-# index_account_users_on_account_id (account_id)
-# index_account_users_on_custom_role_id (custom_role_id)
-# index_account_users_on_user_id (user_id)
-# uniq_user_id_per_account_id (account_id,user_id) UNIQUE
+# index_account_users_on_account_id (account_id)
+# index_account_users_on_agent_capacity_policy_id (agent_capacity_policy_id)
+# index_account_users_on_custom_role_id (custom_role_id)
+# index_account_users_on_user_id (user_id)
+# uniq_user_id_per_account_id (account_id,user_id) UNIQUE
#
class AccountUser < ApplicationRecord
diff --git a/db/migrate/20250806140000_create_assignment_policies.rb b/db/migrate/20250806140000_create_assignment_policies.rb
new file mode 100644
index 000000000..c02e3d6de
--- /dev/null
+++ b/db/migrate/20250806140000_create_assignment_policies.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+class CreateAssignmentPolicies < ActiveRecord::Migration[7.1]
+ def change
+ create_table :assignment_policies do |t|
+ t.references :account, null: false, index: true
+ t.string :name, null: false, limit: 255
+ t.text :description
+ t.integer :assignment_order, null: false, default: 0 # 0: round_robin, 1: balanced
+ t.integer :conversation_priority, null: false, default: 0 # 0: earliest_created, 1: longest_waiting
+ t.integer :fair_distribution_limit, null: false, default: 100
+ t.integer :fair_distribution_window, null: false, default: 3600 # seconds
+ t.boolean :enabled, null: false, default: true
+
+ t.timestamps
+ end
+
+ add_index :assignment_policies, [:account_id, :name], unique: true
+ add_index :assignment_policies, :enabled
+ end
+end
diff --git a/db/migrate/20250806140001_create_inbox_assignment_policies.rb b/db/migrate/20250806140001_create_inbox_assignment_policies.rb
new file mode 100644
index 000000000..37fd6e37e
--- /dev/null
+++ b/db/migrate/20250806140001_create_inbox_assignment_policies.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+class CreateInboxAssignmentPolicies < ActiveRecord::Migration[7.1]
+ def change
+ create_table :inbox_assignment_policies do |t|
+ t.references :inbox, null: false, index: { unique: true }
+ t.references :assignment_policy, null: false, index: true
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20250806140002_create_agent_capacity_policies.rb b/db/migrate/20250806140002_create_agent_capacity_policies.rb
new file mode 100644
index 000000000..4fdeabc92
--- /dev/null
+++ b/db/migrate/20250806140002_create_agent_capacity_policies.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+class CreateAgentCapacityPolicies < ActiveRecord::Migration[7.1]
+ def change
+ create_table :agent_capacity_policies do |t|
+ t.references :account, null: false, index: true
+ t.string :name, null: false, limit: 255
+ t.text :description
+ t.jsonb :exclusion_rules, default: {}, null: false
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20250806140003_create_inbox_capacity_limits.rb b/db/migrate/20250806140003_create_inbox_capacity_limits.rb
new file mode 100644
index 000000000..c107ce182
--- /dev/null
+++ b/db/migrate/20250806140003_create_inbox_capacity_limits.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class CreateInboxCapacityLimits < ActiveRecord::Migration[7.1]
+ def change
+ create_table :inbox_capacity_limits do |t|
+ t.references :agent_capacity_policy, null: false, index: true
+ t.references :inbox, null: false, index: true
+ t.integer :conversation_limit, null: false
+
+ t.timestamps
+ end
+
+ add_index :inbox_capacity_limits, [:agent_capacity_policy_id, :inbox_id], unique: true
+ end
+end
diff --git a/db/migrate/20250806140004_add_agent_capacity_policy_to_account_users.rb b/db/migrate/20250806140004_add_agent_capacity_policy_to_account_users.rb
new file mode 100644
index 000000000..53bc8e8f9
--- /dev/null
+++ b/db/migrate/20250806140004_add_agent_capacity_policy_to_account_users.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddAgentCapacityPolicyToAccountUsers < ActiveRecord::Migration[7.1]
+ def change
+ add_reference :account_users, :agent_capacity_policy, null: true, index: true
+ end
+end
diff --git a/db/migrate/20250806140005_create_leaves.rb b/db/migrate/20250806140005_create_leaves.rb
new file mode 100644
index 000000000..982ec1181
--- /dev/null
+++ b/db/migrate/20250806140005_create_leaves.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+class CreateLeaves < ActiveRecord::Migration[7.1]
+ def change
+ create_table :leaves do |t|
+ t.references :account, null: false
+ t.references :user, null: false
+ t.date :start_date, null: false
+ t.date :end_date, null: false
+ t.integer :leave_type, null: false, default: 0
+ t.integer :status, null: false, default: 0
+ t.text :reason
+ t.references :approved_by
+ t.datetime :approved_at
+
+ t.timestamps
+ end
+
+ add_index :leaves, [:account_id, :status]
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 6391e3fcf..7f44c373c 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -39,8 +39,10 @@ ActiveRecord::Schema[7.1].define(version: 2025_08_08_123008) do
t.integer "availability", default: 0, null: false
t.boolean "auto_offline", default: true, null: false
t.bigint "custom_role_id"
+ t.bigint "agent_capacity_policy_id"
t.index ["account_id", "user_id"], name: "uniq_user_id_per_account_id", unique: true
t.index ["account_id"], name: "index_account_users_on_account_id"
+ t.index ["agent_capacity_policy_id"], name: "index_account_users_on_agent_capacity_policy_id"
t.index ["custom_role_id"], name: "index_account_users_on_custom_role_id"
t.index ["user_id"], name: "index_account_users_on_user_id"
end
@@ -120,6 +122,16 @@ ActiveRecord::Schema[7.1].define(version: 2025_08_08_123008) do
t.index ["account_id"], name: "index_agent_bots_on_account_id"
end
+ create_table "agent_capacity_policies", force: :cascade do |t|
+ t.bigint "account_id", null: false
+ t.string "name", limit: 255, null: false
+ t.text "description"
+ t.jsonb "exclusion_rules", default: {}, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["account_id"], name: "index_agent_capacity_policies_on_account_id"
+ end
+
create_table "applied_slas", force: :cascade do |t|
t.bigint "account_id", null: false
t.bigint "sla_policy_id", null: false
@@ -169,6 +181,22 @@ ActiveRecord::Schema[7.1].define(version: 2025_08_08_123008) do
t.index ["views"], name: "index_articles_on_views"
end
+ create_table "assignment_policies", force: :cascade do |t|
+ t.bigint "account_id", null: false
+ t.string "name", limit: 255, null: false
+ t.text "description"
+ t.integer "assignment_order", default: 0, null: false
+ t.integer "conversation_priority", default: 0, null: false
+ t.integer "fair_distribution_limit", default: 100, null: false
+ t.integer "fair_distribution_window", default: 3600, null: false
+ t.boolean "enabled", default: true, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["account_id", "name"], name: "index_assignment_policies_on_account_id_and_name", unique: true
+ t.index ["account_id"], name: "index_assignment_policies_on_account_id"
+ t.index ["enabled"], name: "index_assignment_policies_on_enabled"
+ end
+
create_table "attachments", id: :serial, force: :cascade do |t|
t.integer "file_type", default: 0
t.string "external_url"
@@ -728,6 +756,26 @@ ActiveRecord::Schema[7.1].define(version: 2025_08_08_123008) do
t.datetime "updated_at", null: false
end
+ create_table "inbox_assignment_policies", force: :cascade do |t|
+ t.bigint "inbox_id", null: false
+ t.bigint "assignment_policy_id", null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["assignment_policy_id"], name: "index_inbox_assignment_policies_on_assignment_policy_id"
+ t.index ["inbox_id"], name: "index_inbox_assignment_policies_on_inbox_id", unique: true
+ end
+
+ create_table "inbox_capacity_limits", force: :cascade do |t|
+ t.bigint "agent_capacity_policy_id", null: false
+ t.bigint "inbox_id", null: false
+ t.integer "conversation_limit", null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["agent_capacity_policy_id", "inbox_id"], name: "idx_on_agent_capacity_policy_id_inbox_id_71c7ec4caf", unique: true
+ t.index ["agent_capacity_policy_id"], name: "index_inbox_capacity_limits_on_agent_capacity_policy_id"
+ t.index ["inbox_id"], name: "index_inbox_capacity_limits_on_inbox_id"
+ end
+
create_table "inbox_members", id: :serial, force: :cascade do |t|
t.integer "user_id", null: false
t.integer "inbox_id", null: false
@@ -800,6 +848,24 @@ ActiveRecord::Schema[7.1].define(version: 2025_08_08_123008) do
t.index ["title", "account_id"], name: "index_labels_on_title_and_account_id", unique: true
end
+ create_table "leaves", force: :cascade do |t|
+ t.bigint "account_id", null: false
+ t.bigint "user_id", null: false
+ t.date "start_date", null: false
+ t.date "end_date", null: false
+ t.integer "leave_type", default: 0, null: false
+ t.integer "status", default: 0, null: false
+ t.text "reason"
+ t.bigint "approved_by_id"
+ t.datetime "approved_at"
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["account_id", "status"], name: "index_leaves_on_account_id_and_status"
+ t.index ["account_id"], name: "index_leaves_on_account_id"
+ t.index ["approved_by_id"], name: "index_leaves_on_approved_by_id"
+ t.index ["user_id"], name: "index_leaves_on_user_id"
+ end
+
create_table "macros", force: :cascade do |t|
t.bigint "account_id", null: false
t.string "name", null: false
From b4f758f6441d4d0d8ae1db053ed6f4a55f5899e8 Mon Sep 17 00:00:00 2001
From: Shivam Mishra
Date: Tue, 12 Aug 2025 12:05:17 +0530
Subject: [PATCH 5/6] fix: grid layout for color picker (#12166)
---
.../Pages/PortalSettingsPage/PortalBaseSettings.vue | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalBaseSettings.vue b/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalBaseSettings.vue
index 862a2cd67..f74bf95e2 100644
--- a/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalBaseSettings.vue
+++ b/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalBaseSettings.vue
@@ -315,7 +315,9 @@ const handleAvatarDelete = () => {
class="[&>div>button:not(.focused)]:!outline-n-weak"
/>
-
+