diff --git a/src/frontend/src/components/Feedback.tsx b/src/frontend/src/components/Feedback.tsx
deleted file mode 100644
index 3929da9e..00000000
--- a/src/frontend/src/components/Feedback.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { css } from '@/styled-system/css'
-import { RiExternalLinkLine } from '@remixicon/react'
-import { useTranslation } from 'react-i18next'
-import { LinkButton } from '@/primitives'
-
-export const Feedback = () => {
- const { t } = useTranslation()
- return (
-
-
- đź’ˇ
-
- {t('feedbackAlert')}
-
-
- )
-}
diff --git a/src/frontend/src/components/FeedbackBanner.tsx b/src/frontend/src/components/FeedbackBanner.tsx
new file mode 100644
index 00000000..caed695b
--- /dev/null
+++ b/src/frontend/src/components/FeedbackBanner.tsx
@@ -0,0 +1,46 @@
+import { css } from '@/styled-system/css'
+import { RiErrorWarningLine, RiExternalLinkLine } from '@remixicon/react'
+import { useTranslation } from 'react-i18next'
+import { Text, A } from '@/primitives'
+
+const GRIST_FORM =
+ 'https://grist.numerique.gouv.fr/o/docs/forms/1YrfNP1QSSy8p2gCxMFnSf/4'
+
+export const FeedbackBanner = () => {
+ const { t } = useTranslation()
+ return (
+
+
+
+
{t('feedback.context')}
+
+
+
+ )
+}
diff --git a/src/frontend/src/layout/Header.tsx b/src/frontend/src/layout/Header.tsx
index e953113a..d9fe551b 100644
--- a/src/frontend/src/layout/Header.tsx
+++ b/src/frontend/src/layout/Header.tsx
@@ -6,7 +6,7 @@ import { Text, Button } from '@/primitives'
import { SettingsButton } from '@/features/settings'
import { logoutUrl, useUser } from '@/features/auth'
import { useMatchesRoute } from '@/navigation/useMatchesRoute'
-import { Feedback } from '@/components/Feedback'
+import { FeedbackBanner } from '@/components/FeedbackBanner.tsx'
import { Menu } from '@/primitives/Menu'
import { MenuList } from '@/primitives/MenuList'
import { ProConnectButton } from '@/components/ProConnectButton'
@@ -20,77 +20,79 @@ export const Header = () => {
const { user, isLoggedIn } = useUser()
return (
-
+ <>
+
-
-
-
- {
- if (
- isRoom &&
- !window.confirm(t('leaveRoomPrompt', { ns: 'rooms' }))
- ) {
- event.preventDefault()
- }
- }}
- to="/"
- >
- {t('app')}
-
-
-
-
-
-
-
+ >
)
}
diff --git a/src/frontend/src/locales/de/global.json b/src/frontend/src/locales/de/global.json
index d1ed46dd..60ef0e55 100644
--- a/src/frontend/src/locales/de/global.json
+++ b/src/frontend/src/locales/de/global.json
@@ -6,7 +6,10 @@
"error": {
"heading": ""
},
- "feedbackAlert": "",
+ "feedback": {
+ "context": "",
+ "cta": ""
+ },
"forbidden": {
"heading": ""
},
diff --git a/src/frontend/src/locales/en/global.json b/src/frontend/src/locales/en/global.json
index 52c2ed89..822bd220 100644
--- a/src/frontend/src/locales/en/global.json
+++ b/src/frontend/src/locales/en/global.json
@@ -6,7 +6,10 @@
"error": {
"heading": "An error occurred while loading the page"
},
- "feedbackAlert": "Give us feedback",
+ "feedback": {
+ "context": "Visio is still evolving—your input matters!",
+ "cta": "Share your feedback"
+ },
"forbidden": {
"heading": "You don't have the permission to view this page"
},
diff --git a/src/frontend/src/locales/fr/global.json b/src/frontend/src/locales/fr/global.json
index a862b01c..07ba5199 100644
--- a/src/frontend/src/locales/fr/global.json
+++ b/src/frontend/src/locales/fr/global.json
@@ -6,7 +6,10 @@
"error": {
"heading": "Une erreur est survenue lors du chargement de la page"
},
- "feedbackAlert": "Donnez-nous votre avis",
+ "feedback": {
+ "context": "Visio est en pleine construction — votre avis compte !",
+ "cta": "Partagez votre avis"
+ },
"forbidden": {
"heading": "Accès interdit"
},