diff --git a/src/backend/meet/settings.py b/src/backend/meet/settings.py
index 2eca2219..2c472180 100755
--- a/src/backend/meet/settings.py
+++ b/src/backend/meet/settings.py
@@ -312,6 +312,9 @@ class Base(Configuration):
"is_silent_login_enabled": values.BooleanValue(
True, environ_name="FRONTEND_IS_SILENT_LOGING_ENABLED", environ_prefix=None
),
+ "feedback": values.DictValue(
+ {}, environ_name="FRONTEND_FEEDBACK", environ_prefix=None
+ ),
}
# Mail
diff --git a/src/frontend/src/api/useConfig.ts b/src/frontend/src/api/useConfig.ts
index 205a333e..0a490341 100644
--- a/src/frontend/src/api/useConfig.ts
+++ b/src/frontend/src/api/useConfig.ts
@@ -11,6 +11,9 @@ export interface ApiConfig {
support?: {
id: string
}
+ feedback: {
+ url: string
+ }
silence_livekit_debug_logs?: boolean
is_silent_login_enabled?: boolean
recording?: {
diff --git a/src/frontend/src/components/FeedbackBanner.tsx b/src/frontend/src/components/FeedbackBanner.tsx
index 7dd2d00e..15b581f7 100644
--- a/src/frontend/src/components/FeedbackBanner.tsx
+++ b/src/frontend/src/components/FeedbackBanner.tsx
@@ -2,10 +2,14 @@ import { css } from '@/styled-system/css'
import { RiErrorWarningLine, RiExternalLinkLine } from '@remixicon/react'
import { useTranslation } from 'react-i18next'
import { Text, A } from '@/primitives'
-import { GRIST_FEEDBACKS_FORM } from '@/utils/constants'
+import { useConfig } from '@/api/useConfig'
export const FeedbackBanner = () => {
const { t } = useTranslation()
+ const { data } = useConfig()
+
+ if (!data?.feedback?.url) return
+
return (
{
gap: 0.25,
})}
>
-
+
{t('feedback.cta')}
diff --git a/src/frontend/src/features/rooms/livekit/components/controls/Options/FeedbackMenuItem.tsx b/src/frontend/src/features/rooms/livekit/components/controls/Options/FeedbackMenuItem.tsx
index 78432352..b1fd318f 100644
--- a/src/frontend/src/features/rooms/livekit/components/controls/Options/FeedbackMenuItem.tsx
+++ b/src/frontend/src/features/rooms/livekit/components/controls/Options/FeedbackMenuItem.tsx
@@ -2,14 +2,17 @@ import { RiMegaphoneLine } from '@remixicon/react'
import { MenuItem } from 'react-aria-components'
import { useTranslation } from 'react-i18next'
import { menuRecipe } from '@/primitives/menuRecipe'
-import { GRIST_FEEDBACKS_FORM } from '@/utils/constants'
+import { useConfig } from '@/api/useConfig'
export const FeedbackMenuItem = () => {
const { t } = useTranslation('rooms', { keyPrefix: 'options.items' })
+ const { data } = useConfig()
+
+ if (!data?.feedback?.url) return
return (