diff --git a/CHANGELOG.md b/CHANGELOG.md
index 282ce166f4..7b0588ec7c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,7 +8,8 @@ and this project adheres to
### Fixed
-🐛(frontend) fix broadcast store sync #1846
+- 🐛(frontend) fix broadcast store sync #1846
+- ✨(frontend) add onboarding modal with help menu button #1868
## [v4.5.0] - 2026-01-28
diff --git a/src/frontend/apps/e2e/__tests__/app-impress/onboarding.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/onboarding.spec.ts
new file mode 100644
index 0000000000..ab315ccad1
--- /dev/null
+++ b/src/frontend/apps/e2e/__tests__/app-impress/onboarding.spec.ts
@@ -0,0 +1,36 @@
+import { expect, test } from '@playwright/test';
+
+test.describe('Onboarding modal', () => {
+ test.beforeEach(async ({ page }) => {
+ await page.goto('/');
+ await expect(page.getByTestId('left-panel-desktop')).toBeVisible();
+ });
+
+ test('opens onboarding modal from help menu and can navigate/close', async ({
+ page,
+ }) => {
+ await page.getByRole('button', { name: 'Open onboarding menu' }).click();
+
+ await page.getByRole('menuitem', { name: 'Onboarding' }).click();
+
+ // Modal is rendered by the UI kit
+ const modal = page.getByTestId('onboarding-modal');
+ await expect(modal).toBeVisible();
+
+ await expect(page.getByTestId('onboarding-step-0')).toHaveAttribute(
+ 'tabindex',
+ '0',
+ );
+
+ // Go to next step and ensure step focusable state updates
+ await page.getByTestId('onboarding-next').click();
+ await expect(page.getByTestId('onboarding-step-1')).toHaveAttribute(
+ 'tabindex',
+ '0',
+ );
+
+ // Close the modal using Escape (works regardless of close button label)
+ await page.keyboard.press('Escape');
+ await expect(modal).toBeHidden();
+ });
+});
diff --git a/src/frontend/apps/impress/package.json b/src/frontend/apps/impress/package.json
index 0844cd45f0..beef6ea0df 100644
--- a/src/frontend/apps/impress/package.json
+++ b/src/frontend/apps/impress/package.json
@@ -36,7 +36,7 @@
"@fontsource/material-icons": "5.2.7",
"@gouvfr-lasuite/cunningham-react": "4.1.0",
"@gouvfr-lasuite/integration": "1.0.3",
- "@gouvfr-lasuite/ui-kit": "0.18.7",
+ "@gouvfr-lasuite/ui-kit": "0.19.5",
"@hocuspocus/provider": "3.4.3",
"@mantine/core": "8.3.12",
"@mantine/hooks": "8.3.12",
diff --git a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanel.tsx b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanel.tsx
index 6c2238f0a4..f147a2b8a6 100644
--- a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanel.tsx
+++ b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanel.tsx
@@ -14,6 +14,7 @@ import { useLeftPanelStore } from '../stores';
import { LeftPanelContent } from './LeftPanelContent';
import { LeftPanelHeader } from './LeftPanelHeader';
+import { LeftPanelHelpMenu } from './LeftPanelHelpMenu';
const MobileLeftPanelStyle = createGlobalStyle`
body {
@@ -57,6 +58,14 @@ export const LeftPanel = () => {
+
+
+
+
+
)}
@@ -91,6 +100,14 @@ export const LeftPanel = () => {
>
+
+
+
+
+ {
+ return ;
+};
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/drag_indicator.svg b/src/frontend/apps/impress/src/features/on-boarding/assets/drag_indicator.svg
new file mode 100644
index 0000000000..24325e8838
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/assets/drag_indicator.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/file-share.svg b/src/frontend/apps/impress/src/features/on-boarding/assets/file-share.svg
new file mode 100644
index 0000000000..38b10fcbc4
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/assets/file-share.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/format-text.svg b/src/frontend/apps/impress/src/features/on-boarding/assets/format-text.svg
new file mode 100644
index 0000000000..a20b90404b
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/assets/format-text.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/stack-template.svg b/src/frontend/apps/impress/src/features/on-boarding/assets/stack-template.svg
new file mode 100644
index 0000000000..834cfce76d
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/assets/stack-template.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/step_1.png b/src/frontend/apps/impress/src/features/on-boarding/assets/step_1.png
new file mode 100644
index 0000000000..02159c479d
Binary files /dev/null and b/src/frontend/apps/impress/src/features/on-boarding/assets/step_1.png differ
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/step_2.png b/src/frontend/apps/impress/src/features/on-boarding/assets/step_2.png
new file mode 100644
index 0000000000..0c297304dd
Binary files /dev/null and b/src/frontend/apps/impress/src/features/on-boarding/assets/step_2.png differ
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/step_3_EN.png b/src/frontend/apps/impress/src/features/on-boarding/assets/step_3_EN.png
new file mode 100644
index 0000000000..ee4d789a5b
Binary files /dev/null and b/src/frontend/apps/impress/src/features/on-boarding/assets/step_3_EN.png differ
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/step_3_FR.png b/src/frontend/apps/impress/src/features/on-boarding/assets/step_3_FR.png
new file mode 100644
index 0000000000..64a8060639
Binary files /dev/null and b/src/frontend/apps/impress/src/features/on-boarding/assets/step_3_FR.png differ
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/step_4_EN.png b/src/frontend/apps/impress/src/features/on-boarding/assets/step_4_EN.png
new file mode 100644
index 0000000000..f1968bd04d
Binary files /dev/null and b/src/frontend/apps/impress/src/features/on-boarding/assets/step_4_EN.png differ
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/step_4_FR.png b/src/frontend/apps/impress/src/features/on-boarding/assets/step_4_FR.png
new file mode 100644
index 0000000000..20b250982f
Binary files /dev/null and b/src/frontend/apps/impress/src/features/on-boarding/assets/step_4_FR.png differ
diff --git a/src/frontend/apps/impress/src/features/on-boarding/assets/wand-and-stars.svg b/src/frontend/apps/impress/src/features/on-boarding/assets/wand-and-stars.svg
new file mode 100644
index 0000000000..edfceb61f6
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/assets/wand-and-stars.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/frontend/apps/impress/src/features/on-boarding/components/OnBoarding.tsx b/src/frontend/apps/impress/src/features/on-boarding/components/OnBoarding.tsx
new file mode 100644
index 0000000000..0eca9a79d9
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/components/OnBoarding.tsx
@@ -0,0 +1,74 @@
+import { Button } from '@gouvfr-lasuite/cunningham-react';
+import { DropdownMenu, OnboardingModal } from '@gouvfr-lasuite/ui-kit';
+import { useCallback, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { css } from 'styled-components';
+
+import { Box, Icon } from '@/components';
+
+import { useOnboardingMenuOptions } from '../hooks/useOnboardingMenuOptions';
+import { useOnboardingSteps } from '../hooks/useOnboardingSteps';
+
+export const OnBoarding = () => {
+ const { t } = useTranslation();
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
+ const [isModalOpen, setIsModalOpen] = useState(false);
+
+ const openModal = useCallback(() => {
+ setIsModalOpen(true);
+ }, []);
+
+ const closeModal = useCallback(() => {
+ setIsModalOpen(false);
+ }, []);
+
+ const toggleMenu = () => {
+ setIsMenuOpen((open) => !open);
+ };
+
+ const steps = useOnboardingSteps();
+ const options = useOnboardingMenuOptions({ onOpenOnboarding: openModal });
+
+ return (
+ <>
+
+
+
+ }
+ onClick={toggleMenu}
+ />
+
+
+
+
+ >
+ );
+};
diff --git a/src/frontend/apps/impress/src/features/on-boarding/components/OnboardingStepIcon.tsx b/src/frontend/apps/impress/src/features/on-boarding/components/OnboardingStepIcon.tsx
new file mode 100644
index 0000000000..f209100423
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/components/OnboardingStepIcon.tsx
@@ -0,0 +1,38 @@
+import { PropsWithChildren } from 'react';
+import { css } from 'styled-components';
+
+import { Box } from '@/components';
+import { useCunninghamTheme } from '@/cunningham';
+
+export interface OnboardingStepIconProps {
+ size?: string;
+}
+
+export const OnboardingStepIcon = ({
+ size = '32px',
+ children,
+}: PropsWithChildren) => {
+ const { colorsTokens } = useCunninghamTheme();
+
+ return (
+
+ {children}
+
+ );
+};
diff --git a/src/frontend/apps/impress/src/features/on-boarding/components/OnboardingStepImage.tsx b/src/frontend/apps/impress/src/features/on-boarding/components/OnboardingStepImage.tsx
new file mode 100644
index 0000000000..cafbfe3eba
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/components/OnboardingStepImage.tsx
@@ -0,0 +1,30 @@
+import { css } from 'styled-components';
+
+import { Box } from '@/components';
+
+export interface OnboardingStepImageProps {
+ src: string;
+ alt: string;
+}
+
+export const OnboardingStepImage = ({ src, alt }: OnboardingStepImageProps) => {
+ return (
+
+
+
+ );
+};
diff --git a/src/frontend/apps/impress/src/features/on-boarding/hooks/useOnboardingMenuOptions.tsx b/src/frontend/apps/impress/src/features/on-boarding/hooks/useOnboardingMenuOptions.tsx
new file mode 100644
index 0000000000..47b52801a1
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/hooks/useOnboardingMenuOptions.tsx
@@ -0,0 +1,26 @@
+import { type DropdownMenuOption } from '@gouvfr-lasuite/ui-kit';
+import { useMemo } from 'react';
+import { useTranslation } from 'react-i18next';
+
+import WandAndStarsIcon from '../assets/wand-and-stars.svg';
+
+export interface UseOnboardingMenuOptionsParams {
+ onOpenOnboarding: () => void;
+}
+
+export const useOnboardingMenuOptions = ({
+ onOpenOnboarding,
+}: UseOnboardingMenuOptionsParams) => {
+ const { t } = useTranslation();
+
+ return useMemo(
+ () => [
+ {
+ label: t('Onboarding'),
+ icon: ,
+ callback: onOpenOnboarding,
+ },
+ ],
+ [onOpenOnboarding, t],
+ );
+};
diff --git a/src/frontend/apps/impress/src/features/on-boarding/hooks/useOnboardingSteps.tsx b/src/frontend/apps/impress/src/features/on-boarding/hooks/useOnboardingSteps.tsx
new file mode 100644
index 0000000000..a4da6a513d
--- /dev/null
+++ b/src/frontend/apps/impress/src/features/on-boarding/hooks/useOnboardingSteps.tsx
@@ -0,0 +1,87 @@
+import { type OnboardingStep } from '@gouvfr-lasuite/ui-kit';
+import { useMemo } from 'react';
+import { useTranslation } from 'react-i18next';
+
+import DragIndicatorIcon from '../assets/drag_indicator.svg';
+import FileShareIcon from '../assets/file-share.svg';
+import FormatTextIcon from '../assets/format-text.svg';
+import StackTemplateIcon from '../assets/stack-template.svg';
+import Step1Image from '../assets/step_1.png';
+import Step2Image from '../assets/step_2.png';
+import Step3EnImage from '../assets/step_3_EN.png';
+import Step3FrImage from '../assets/step_3_FR.png';
+import Step4EnImage from '../assets/step_4_EN.png';
+import Step4FrImage from '../assets/step_4_FR.png';
+import { OnboardingStepIcon } from '../components/OnboardingStepIcon';
+import { OnboardingStepImage } from '../components/OnboardingStepImage';
+
+export const useOnboardingSteps = () => {
+ const { i18n, t } = useTranslation();
+ const isFrLanguage = i18n.resolvedLanguage === 'fr';
+
+ return useMemo(
+ () => [
+ {
+ icon: (
+
+
+
+ ),
+ title: t('Onboarding step 1 title'),
+ description: t('Onboarding step 1 description'),
+ content: (
+
+ ),
+ },
+ {
+ icon: (
+
+
+
+ ),
+ title: t('Onboarding step 2 title'),
+ description: t('Onboarding step 2 description'),
+ content: (
+
+ ),
+ },
+ {
+ icon: (
+
+
+
+ ),
+ title: t('Onboarding step 3 title'),
+ description: t('Onboarding step 3 description'),
+ content: (
+
+ ),
+ },
+ {
+ icon: (
+
+
+
+ ),
+ title: t('Onboarding step 4 title'),
+ description: t('Onboarding step 4 description'),
+ content: (
+
+ ),
+ },
+ ],
+ [isFrLanguage, t],
+ );
+};
diff --git a/src/frontend/apps/impress/src/i18n/translations.json b/src/frontend/apps/impress/src/i18n/translations.json
index f233183e81..8a587e85a7 100644
--- a/src/frontend/apps/impress/src/i18n/translations.json
+++ b/src/frontend/apps/impress/src/i18n/translations.json
@@ -63,6 +63,7 @@
"Docs is already available, log in to use it now.": "Docs a zo hegerz dija, kevreit evit ober gantañ.",
"Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.": "Docs a aesa ar c'henlabour en amzer wirion. Pedit kenlabourerien - ajantoù publik pe kevelerien diavaez - dindan ur c'hlik gwelit o cheñchamantoù war-eeun, en ur virout ur c'hontrol resis war ar monedoù evit surentez ar roadennoù.",
"Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.": "Docs a ginnig ur skiant-prenet skrivañ hag a sant diouzh an nen. E etrefas minimel a brivilaj an endalc'had war ar bajennaozañ, en ur ginnig ar pep retañ: emporzhiañ médiaoù, mod ezlinenn ha berradennoù klavier evit bezañ efedusoc'h.",
+ "Docs onboarding title": "Get started with Docs",
"Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.": "Docs a dreuzfurm ho restroù e diazezoù gouiziegezh gant sikour an ispajennoù, enklaskoù galloudus hag an tu da spilhenniñ ho restroù a-bouez.",
"Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Docs: Ho kompagnun nevez evit kenlabourat war restroù en un doare efedus, dre santout diouzh an nen hag e surentez penn-da-benn.",
"Document access mode": "Doare moned ar restr",
@@ -144,10 +145,18 @@
"No versions": "Stumm ebet",
"OK": "Mat eo",
"Offline ?!": "Ezlinenn?!",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
"Only invited people can access": "An dud pedet hepken a c'hall haeziñ",
"Open Source": "Kod mammenn digor",
"Open document {{title}}": "Digeriñ ar restr {{title}}",
"Open document: {{title}}": "Digeriñ ar restr: {{title}}",
+ "Open onboarding menu": "Open onboarding menu",
"Open root document": "Digeriñ ar restr gwrizienn",
"Open the document options": "Digeriñ dibarzhioù ar restr",
"Open the menu of actions for the document: {{title}}": "Digeriñ lañser oberezhioù evit ar restr: {{title}}",
@@ -312,6 +321,7 @@
"Docs is already available, log in to use it now.": "Docs ist bereits verfügbar. Melden Sie sich an, um es jetzt zu nutzen.",
"Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.": "Docs macht die Zusammenarbeit in Echtzeit einfach. Laden Sie Mitarbeiter — Beamte oder externe Partner — mit einem Klick ein, um ihre Änderungen live zu sehen und dabei die genaue Zugangskontrolle zwecks Datensicherheit beizubehalten.",
"Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.": "Docs bietet ein intuitives Schreiberlebnis. Seine minimalistische Oberfläche bevorzugt Inhalte über Layout, bietet aber das Wesentliche: Medien-Import, Offline-Modus und Tastaturkürzel für mehr Effizienz.",
+ "Docs onboarding title": "Get started with Docs",
"Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.": "Dank Unterseiten, leistungsstarker Suche und der Möglichkeit, wichtige Dokumente zu fixieren, verwandelt Docs Ihre Dokumente in Wissensdatenbanken.",
"Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Docs: Ihr neuer Begleiter für eine effiziente, intuitive und sichere Zusammenarbeit bei Dokumenten.",
"Document access mode": "Zugriffsrechte",
@@ -405,10 +415,18 @@
"ODT": "ODT",
"OK": "OK",
"Offline ?!": "Offline?!",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
"Only invited people can access": "Nur eingeladene Personen haben Zugriff",
"Open Source": "Open Source",
"Open document {{title}}": "Öffne Dokument: {{title}}",
"Open document: {{title}}": "Öffne Dokument: {{title}}",
+ "Open onboarding menu": "Open onboarding menu",
"Open root document": "Öffne Wurzel-Dokument",
"Open the document options": "Öffnen Sie die Dokumentoptionen",
"Open the menu of actions for the document: {{title}}": "Öffne das Aktionsmenü für das Dokument: {{title}}",
@@ -519,6 +537,15 @@
"en": {
"translation": {
"Contains {{count}} sub-documents_one": "Contains {{count}} sub-document",
+ "Docs onboarding title": "Get started with Docs",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
+ "Open onboarding menu": "Open onboarding menu",
"Share with {{count}} users_one": "Share with {{count}} user",
"Shared with {{count}} users_many": "Shared with {{count}} users",
"Shared with {{count}} users_one": "Shared with {{count}} user",
@@ -574,6 +601,7 @@
"Docs is already available, log in to use it now.": "Docs ya está disponible, inicia sesión para empezar a usarlo.",
"Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.": "Docs simplifica la colaboración en tiempo real. Invitar colaboradores - funcionarios públicos o socios externos - con un solo clic para ver sus cambios en vivo, manteniendo un control de acceso preciso para la seguridad de los datos.",
"Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.": "Docs ofrece una experiencia de escritura intuitiva. Su interfaz minimalista favorece el contenido sobre el diseño, mientras ofrece lo esencial: importación de medios, modo sin conexión y atajos de teclado para una mayor eficiencia.",
+ "Docs onboarding title": "Get started with Docs",
"Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.": "Docs transforma sus documentos en bases de conocimiento gracias a las subpáginas, una potente herramienta de búsqueda y la capacidad de marcar como favorito sus documentos más importantes.",
"Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Docs: su nuevo compañero para colaborar en documentos de forma eficiente, intuitiva y segura.",
"Document accessible to any connected person": "Documento accesible a cualquier persona conectada",
@@ -625,8 +653,16 @@
"No versions": "No hay versiones",
"OK": "Ok",
"Offline ?!": "¿¡Sin conexión!?",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
"Only invited people can access": "Solo las personas invitadas pueden acceder",
"Open Source": "Código abierto",
+ "Open onboarding menu": "Open onboarding menu",
"Open the document options": "Abrir las opciones del documento",
"Organize": "Organiza",
"Owner": "Propietario",
@@ -772,6 +808,7 @@
"Docs is already available, log in to use it now.": "Docs est déjà disponible, connectez-vous pour l’utiliser dès maintenant.",
"Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.": "Docs simplifie la collaboration en temps réel. Invitez des collaborateurs - agents publics ou partenaires externes - d'un clic pour voir leurs modifications en direct, tout en gardant un contrôle précis des accès pour la sécurité des données.",
"Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.": "Docs propose une expérience d'écriture intuitive. Son interface minimaliste privilégie le contenu sur la mise en page, tout en offrant l'essentiel : import de médias, mode hors-ligne et raccourcis clavier pour plus d'efficacité.",
+ "Docs onboarding title": "Bien demarrer avec Docs",
"Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.": "Docs transforme vos documents en bases de connaissances grâce aux sous-pages, une recherche performante et la possibilité d'épingler vos documents importants.",
"Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Docs : Votre nouveau compagnon pour collaborer sur des documents efficacement, intuitivement et en toute sécurité.",
"Document access mode": "Mode d'accès au document",
@@ -872,10 +909,18 @@
"ODT": "ODT",
"OK": "OK",
"Offline ?!": "Hors-ligne ?!",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Ecrivez ensemble en temps reel avec commentaires et recherche rapide.",
+ "Onboarding step 1 title": "Creer et modifier des documents",
+ "Onboarding step 2 description": "Utilisez le panneau de gauche pour naviguer et epingler vos documents.",
+ "Onboarding step 2 title": "Organiser avec les sections",
+ "Onboarding step 3 description": "Invitez des collaborateurs et gerez l'acces par document.",
+ "Onboarding step 3 title": "Partager en toute securite",
"Only invited people can access": "Seules les personnes invitées peuvent accéder",
"Open Source": "Open Source",
"Open document {{title}}": "Ouvrir le document {{title}}",
"Open document: {{title}}": "Ouvrir le document : {{title}}",
+ "Open onboarding menu": "Ouvrir le menu d'onboarding",
"Open root document": "Ouvrir le document racine",
"Open the document options": "Ouvrir les options du document",
"Open the menu of actions for the document: {{title}}": "Ouvrir le menu des actions du document : {{title}}",
@@ -1033,6 +1078,7 @@
"Docs is already available, log in to use it now.": "Docs è già disponibile, accedi per usarlo ora.",
"Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.": "Docs rende semplice la collaborazione in tempo reale. Invita collaboratori - funzionari pubblici o partner esterni - con un clic per vedere i loro cambiamenti dal vivo, mantenendo un controllo preciso dell'accesso per la sicurezza dei dati.",
"Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.": "Docs offre un'esperienza di scrittura intuitiva. La sua interfaccia minimalista favorisce il contenuto rispetto al layout, offrendo gli elementi essenziali: importazione multimediale, modalità offline e scorciatoie da tastiera per una maggiore efficienza.",
+ "Docs onboarding title": "Get started with Docs",
"Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.": "Docs trasforma i tuoi documenti in piattaforme di conoscenza grazie alle sotto-pagine, alla ricerca potente e alla capacità di fissare i tuoi documenti importanti.",
"Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Docs: Il tuo nuovo compagno di collaborare sui documenti in modo efficiente, intuitivo e sicuro.",
"Document accessible to any connected person": "Documento accessibile a qualsiasi persona collegata",
@@ -1078,8 +1124,16 @@
"No versions": "Nessuna versione",
"OK": "OK",
"Offline ?!": "Offline ?!",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
"Only invited people can access": "Solo le persone invitate possono accedere",
"Open Source": "Open Source",
+ "Open onboarding menu": "Open onboarding menu",
"Open the document options": "Apri le opzioni del documento",
"Organize": "Organizza",
"Owner": "Proprietario",
@@ -1214,6 +1268,7 @@
"Docs is already available, log in to use it now.": "Docs is beschikbaar, log in om het te gebruiken.",
"Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.": "Docs maakt real-time samenwerking eenvoudig. Nodig medewerkers - ambtenaren of externe partners - uit met één klik om hun veranderingen live te zien, terwijl de toegangscontrole voor de gegevensbeveiliging wordt gehandhaafd.",
"Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.": "Docs biedt een intuïtieve schrijfervaring. De minimalistische interface geeft voorrang aan de inhoud boven de lay-out, terwijl essentiële zaken worden aangeboden: importeren van media, offline-modus en sneltoetsen voor grotere efficiëntie.",
+ "Docs onboarding title": "Get started with Docs",
"Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.": "Documentatie transformeert uw documenten in een kennisbank, dankzij subpagina's, krachtig zoeken en de mogelijkheid om uw belangrijke documenten vast te zetten.",
"Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Docs: Je nieuwe partner om efficiënt, intuïtief en veilig samen te werken aan documenten.",
"Document access mode": "Document toegangsmodus",
@@ -1314,10 +1369,18 @@
"ODT": "ODT",
"OK": "OK",
"Offline ?!": "Offline?!",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
"Only invited people can access": "Alleen uitgenodigde gebruikers hebben toegang",
"Open Source": "Open Source",
"Open document {{title}}": "Open document {{title}}",
"Open document: {{title}}": "Open document: {{title}}",
+ "Open onboarding menu": "Open onboarding menu",
"Open root document": "Open hoofddocument",
"Open the document options": "Open document opties",
"Open the menu of actions for the document: {{title}}": "Open het menu van acties voor het document: {{title}}",
@@ -1437,7 +1500,19 @@
"{{name}} removed from invite list": "{{name}} verwijderd uit de uitnodigingslijst"
}
},
- "pt": { "translation": {} },
+ "pt": {
+ "translation": {
+ "Docs onboarding title": "Get started with Docs",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
+ "Open onboarding menu": "Open onboarding menu"
+ }
+ },
"ru": {
"translation": {
"\"{{email}}\" is already invited to the document.": "\"{{email}}\" уже имеет приглашение для этого документа.",
@@ -1519,6 +1594,7 @@
"Docs is already available, log in to use it now.": "Docs уже доступен, просто войдите в свою учётную запись.",
"Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.": "Docs упрощает совместную работу в режиме реального времени. Пригласите соавторов — государственных служащих или внешних партнёров — одним щелчком мыши, чтобы они могли видеть свои изменения в режиме реального времени, при этом сохраняя чёткий контроль доступа для обеспечения безопасности данных.",
"Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.": "Docs предлагает интуитивно понятную работу с документом. Благодаря минималистскому интерфейсу вы сможете найти всё необходимое для большей эффективности: импорт медиа, автономный режим и горячие клавиши.",
+ "Docs onboarding title": "Get started with Docs",
"Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.": "Docs преобразует ваши документы в базы знаний благодаря вложенным страницам, мощному поиску и возможности закреплять важные документы.",
"Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Docs: Ваш новый помощник для эффективной, интуитивной и безопасной совместной работы над документами.",
"Document access mode": "Режим доступа к документу",
@@ -1619,10 +1695,18 @@
"ODT": "ODT",
"OK": "ОК",
"Offline ?!": "Не в сети?!",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
"Only invited people can access": "Имеют доступ только приглашенные люди",
"Open Source": "Open Source",
"Open document {{title}}": "Открыть документ {{title}}",
"Open document: {{title}}": "Открыть документ: {{title}}",
+ "Open onboarding menu": "Open onboarding menu",
"Open root document": "Открыть корневой документ",
"Open the document options": "Открыть параметры документа",
"Open the menu of actions for the document: {{title}}": "Открыть меню действий для документа: {{title}}",
@@ -1744,7 +1828,16 @@
},
"sl": {
"translation": {
+ "Docs onboarding title": "Get started with Docs",
"Load more": "Naloži več",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
+ "Open onboarding menu": "Open onboarding menu",
"Untitled document": "Dokument brez naslova"
}
},
@@ -1757,6 +1850,7 @@
"Cancel": "Avbryt",
"Convert Markdown": "Konvertera Markdown",
"Correct": "Korrekt",
+ "Docs onboarding title": "Get started with Docs",
"Download": "Ladda ner",
"Download anyway": "Ladda ner ändå",
"Emojify": "Emojify",
@@ -1766,6 +1860,14 @@
"Logout": "Logga ut",
"Modal confirmation to download the attachment": "Modal bekräftelse för att ladda ner bilagan",
"No text selected": "Ingen text har valts",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
+ "Open onboarding menu": "Open onboarding menu",
"Please download it only if it comes from a trusted source.": "Vänligen ladda ner den endast om den kommer från en betrodd källa.",
"Proconnect Login": "Logga in via Proconnect",
"Quick search input": "Snabbsökning",
@@ -1800,6 +1902,7 @@
"Delete document": "Belgeyi sil",
"Docs": "Docs",
"Docs Logo": "Docs logosu",
+ "Docs onboarding title": "Get started with Docs",
"Document accessible to any connected person": "Bağlanan herhangi bir kişi tarafından erişilebilen belge",
"Docx": "Docx",
"Download": "İndir",
@@ -1820,7 +1923,15 @@
"Name": "İsim",
"No active search": "Aktif arama yok",
"No documents found": "Belge bulunamadı",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
"Open Source": "Açık Kaynak",
+ "Open onboarding menu": "Open onboarding menu",
"Open the document options": "Belge seçeneklerini aç",
"Owner": "Sahibi",
"PDF": "PDF",
@@ -1925,6 +2036,7 @@
"Docs is already available, log in to use it now.": "Docs вже доступний, увійдіть до нього зараз.",
"Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.": "Docs спрощує співпрацю в реальному часі. Запросіть співавторів - державних службовців або зовнішніх партнерів - одним натисканням, щоб побачити зміни у документі, що вони роблять, зберігаючи точний контроль доступу для безпеки даних.",
"Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.": "Docs пропонує інтуїтивно зрозумілий процес написання текстів. Його мінімалістичний інтерфейс надає перевагу вмісту над оформленням, пропонуючи при цьому найнеобхідніші функції: імпорт медіафайлів, офлайн-режим та комбінації клавіш для більшої ефективності.",
+ "Docs onboarding title": "Get started with Docs",
"Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.": "Docs перетворює ваші документи у бази знань завдяки вкладеним сторінкам, потужному пошуку та можливості закріпити ваші важливі документи.",
"Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Docs: ваш новий супутник для ефективної співпраці з документами, інтуїтивно та надійно.",
"Document access mode": "Режим доступу до документа",
@@ -2025,10 +2137,18 @@
"ODT": "ODT",
"OK": "OK",
"Offline ?!": "Не в мережі?!",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
"Only invited people can access": "Лише запрошені люди можуть мати доступ",
"Open Source": "Open Source",
"Open document {{title}}": "Відкрити документ {{title}}",
"Open document: {{title}}": "Відкрити документ: {{title}}",
+ "Open onboarding menu": "Open onboarding menu",
"Open root document": "Відкрити кореневий документ",
"Open the document options": "Відкрити параметри документа",
"Open the menu of actions for the document: {{title}}": "Відкрити меню дій для документа: {{title}}",
@@ -2229,6 +2349,7 @@
"Docs is already available, log in to use it now.": "Docs 已上線,立即登入開始使用",
"Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.": "Docs 讓即時協作變得簡單只需一鍵即可邀請協作者(包括公務人員或外部合作夥伴)並即時查看變更,同時透過精密的權限控管確保數據安全",
"Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.": "Docs 提供直覺的寫作體驗極簡的介面讓使用者專注於內容而非排版,同時提供核心功能:媒體匯入、離線模式及提升效率的快捷鍵",
+ "Docs onboarding title": "Get started with Docs",
"Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.": "憑藉子頁面、強大的搜尋功能以及置頂重要文件的能力,Docs 能將您的文件轉化為知識庫",
"Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Docs:您高效、直覺且安全的文件協作新夥伴",
"Document access mode": "文件存取模式",
@@ -2328,10 +2449,18 @@
"ODT": "ODT",
"OK": "確定",
"Offline ?!": "離線了嗎?!",
+ "Onboarding": "Onboarding",
+ "Onboarding step 1 description": "Write together in real time with comments and quick search.",
+ "Onboarding step 1 title": "Create and edit documents",
+ "Onboarding step 2 description": "Use the left panel to navigate and pin important docs.",
+ "Onboarding step 2 title": "Organize with sections",
+ "Onboarding step 3 description": "Invite collaborators and control access for each document.",
+ "Onboarding step 3 title": "Share securely",
"Only invited people can access": "僅限受邀人員存取",
"Open Source": "開源軟體",
"Open document {{title}}": "開啟文件 {{title}}",
"Open document: {{title}}": "開啟文件:{{title}}",
+ "Open onboarding menu": "Open onboarding menu",
"Open root document": "開啟根文件",
"Open the document options": "開啟文件選項",
"Open the menu of actions for the document: {{title}}": "開啟文件的動作選單:{{title}}",
diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock
index e4ad314bee..b4ce395cd6 100644
--- a/src/frontend/yarn.lock
+++ b/src/frontend/yarn.lock
@@ -2039,10 +2039,10 @@
resolved "https://registry.yarnpkg.com/@gouvfr-lasuite/integration/-/integration-1.0.3.tgz#7aca824ba61d343a7905dc90c8a8bbdbce8f9a09"
integrity sha512-OgP28CqlPi35wQPul1Dr52SngACXAk8buLGqHYXDp23fbTOJThqarrZE/pgJHoc9Ndwiu7ngwBSO4rZ7OPyMpA==
-"@gouvfr-lasuite/ui-kit@0.18.7":
- version "0.18.7"
- resolved "https://registry.yarnpkg.com/@gouvfr-lasuite/ui-kit/-/ui-kit-0.18.7.tgz#1c3912f2b366ece09616937c2a5901300fe25a35"
- integrity sha512-1Bw1FSol9+mxztiaPEyfwVf9/1Vns7OJVEzvwLTlChbo6cS8FjuP/ZYG57RMvschsN4kfMzC03YmxcVdS0L9Nw==
+"@gouvfr-lasuite/ui-kit@0.19.5":
+ version "0.19.5"
+ resolved "https://registry.yarnpkg.com/@gouvfr-lasuite/ui-kit/-/ui-kit-0.19.5.tgz#8518bb19c1680c2cfdf4d57f52934b14f38e3246"
+ integrity sha512-C/LLDPb+Wit2MAoZekgVkOPus0TLf96P1iaR4OpgD1hGWMynln/PZMpMSH2t2YzobRaDiCWVa+ZKZvdQGFxf1g==
dependencies:
"@dnd-kit/core" "6.3.1"
"@dnd-kit/modifiers" "9.0.0"