From 70e8ffa500a05faa7c598c664f1e48ef22b0c058 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Tue, 3 Dec 2024 16:04:03 +0100 Subject: [PATCH 001/150] Update participant tooltip copy for voting phases --- .../containers/ProjectsShowPage/messages.ts | 4 ++ .../header/ProjectInfoSideBar/index.tsx | 72 ++++++++++++------- .../ProjectsShowPage/shared/header/utils.ts | 20 +++--- 3 files changed, 59 insertions(+), 37 deletions(-) diff --git a/front/app/containers/ProjectsShowPage/messages.ts b/front/app/containers/ProjectsShowPage/messages.ts index ecf0cc6f9db3..b422b311f217 100644 --- a/front/app/containers/ProjectsShowPage/messages.ts +++ b/front/app/containers/ProjectsShowPage/messages.ts @@ -298,6 +298,10 @@ export default defineMessages({ defaultMessage: 'This number also reflects anonymous survey submissions. Anonymous survey submissions are possible if surveys are open to everyone (see the {accessRightsLink} tab for this project).', }, + offlineVotersTooltip: { + id: 'app.containers.Projects.offlineVotersTooltip', + defaultMessage: 'This number does not reflect any offline voter counts.', + }, accessRights: { id: 'app.containers.Projects.accessRights', defaultMessage: 'Access rights', diff --git a/front/app/containers/ProjectsShowPage/shared/header/ProjectInfoSideBar/index.tsx b/front/app/containers/ProjectsShowPage/shared/header/ProjectInfoSideBar/index.tsx index c5dcd4aa88f1..7334b54f2171 100644 --- a/front/app/containers/ProjectsShowPage/shared/header/ProjectInfoSideBar/index.tsx +++ b/front/app/containers/ProjectsShowPage/shared/header/ProjectInfoSideBar/index.tsx @@ -22,7 +22,7 @@ import Link from 'utils/cl-router/Link'; import { isAdmin } from 'utils/permissions/roles'; import ProjectActionButtons from '../ProjectActionButtons'; -import { hasNativeSurvey } from '../utils'; +import { hasPhaseType } from '../utils'; const StyledProjectActionButtons = styled(ProjectActionButtons)` margin-top: 20px; @@ -54,6 +54,14 @@ const ProjectInfoSideBar = memo( ? project.data.relationships.avatars.data.map((avatar) => avatar.id) : []; + const projectHasSurvey = hasPhaseType(phases?.data, 'native_survey'); + const projectHasVoting = hasPhaseType(phases?.data, 'voting'); + + const showParticipantTooltip = + projectParticipantsCount > 0 && // Has participants + isAdmin(authUser) && // Show tooltip only to admins + (projectHasSurvey || projectHasVoting); + return ( @@ -84,31 +92,43 @@ const ProjectInfoSideBar = memo( /> - {projectParticipantsCount > 0 && - isAdmin(authUser) && - hasNativeSurvey(phases?.data) && ( - - - - - ), - }} - /> - } - /> - - )} + {showParticipantTooltip && ( + + + {projectHasSurvey && ( + + + + ), + }} + /> + )} + {projectHasVoting && ( + <> + {' '} + + + )} + + } + /> + + )} )} diff --git a/front/app/containers/ProjectsShowPage/shared/header/utils.ts b/front/app/containers/ProjectsShowPage/shared/header/utils.ts index 13e9578ba433..1bf461f172ba 100644 --- a/front/app/containers/ProjectsShowPage/shared/header/utils.ts +++ b/front/app/containers/ProjectsShowPage/shared/header/utils.ts @@ -1,4 +1,4 @@ -import { TPhases } from 'api/phases/types'; +import { ParticipationMethod, TPhases } from 'api/phases/types'; import { isNilOrError } from 'utils/helperUtils'; @@ -14,14 +14,12 @@ export const hasEmbeddedSurvey = (phases: TPhases | null) => { return hasSurveyPhase; }; -export const hasNativeSurvey = (phases: TPhases | null) => { - let hasSurveyPhase = false; - if (!isNilOrError(phases)) { - phases.forEach((phase) => { - if (phase.attributes.participation_method === 'native_survey') { - hasSurveyPhase = true; - } - }); - } - return hasSurveyPhase; +export const hasPhaseType = ( + phases: TPhases | null, + phaseType: ParticipationMethod +) => { + return ( + !isNilOrError(phases) && + phases.some((phase) => phase.attributes.participation_method === phaseType) + ); }; From d5c2276cf9e20c0e4271a72b4dba57550aff889c Mon Sep 17 00:00:00 2001 From: CircleCI Date: Tue, 3 Dec 2024 15:07:08 +0000 Subject: [PATCH 002/150] Translations updated by CI (extract-intl) --- front/app/translations/en.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/en.json b/front/app/translations/en.json index b8b8b0512cee..98a087012962 100644 --- a/front/app/translations/en.json +++ b/front/app/translations/en.json @@ -1580,6 +1580,7 @@ "app.containers.Projects.noPastEvents": "No past events to display", "app.containers.Projects.noPhaseSelected": "No phase selected", "app.containers.Projects.noUpcomingOrOngoingEvents": "No upcoming or ongoing events are currently scheduled.", + "app.containers.Projects.offlineVotersTooltip": "This number does not reflect any offline voter counts.", "app.containers.Projects.options": "Options", "app.containers.Projects.participants": "Participants", "app.containers.Projects.participantsTooltip4": "This number also reflects anonymous survey submissions. Anonymous survey submissions are possible if surveys are open to everyone (see the {accessRightsLink} tab for this project).", From fe3b23aed1df11fd17b710abc59d98e7053cd625 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Tue, 3 Dec 2024 16:08:29 +0100 Subject: [PATCH 003/150] Copy changes BO participants in project tab --- .../Admin/projects/project/projectHeader/index.tsx | 8 +++++++- .../Admin/projects/project/projectHeader/messages.ts | 8 ++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/front/app/containers/Admin/projects/project/projectHeader/index.tsx b/front/app/containers/Admin/projects/project/projectHeader/index.tsx index f695a729a0ce..4ef9fc91cc40 100644 --- a/front/app/containers/Admin/projects/project/projectHeader/index.tsx +++ b/front/app/containers/Admin/projects/project/projectHeader/index.tsx @@ -145,7 +145,10 @@ const ProjectHeader = ({ projectId }: Props) => { - + {chunks} }} + />
    {
  • +
  • + +
diff --git a/front/app/containers/Admin/projects/project/projectHeader/messages.ts b/front/app/containers/Admin/projects/project/projectHeader/messages.ts index ec93627c7e5c..c7b0d707e3dd 100644 --- a/front/app/containers/Admin/projects/project/projectHeader/messages.ts +++ b/front/app/containers/Admin/projects/project/projectHeader/messages.ts @@ -38,6 +38,10 @@ export default defineMessages({ defaultMessage: '{participantsCount, plural, one {1 participant} other {{participantsCount} participants}}', }, + offlineVoters: { + id: 'app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters', + defaultMessage: 'Offline voters', + }, everyone: { id: 'app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone', defaultMessage: 'Everyone', @@ -106,8 +110,8 @@ export default defineMessages({ defaultMessage: 'Event attendees', }, participantsExclusionTitle: { - id: 'app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle', - defaultMessage: 'Participants do not include:', + id: 'app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2', + defaultMessage: 'Participants do not include:', }, followers: { id: 'app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers', From f662d39ae1850c0378490dd8ca9acfe51e320758 Mon Sep 17 00:00:00 2001 From: CircleCI Date: Tue, 3 Dec 2024 15:10:04 +0000 Subject: [PATCH 004/150] Translations updated by CI (extract-intl) --- front/app/translations/admin/ar-SA.json | 1 - front/app/translations/admin/cy-GB.json | 1 - front/app/translations/admin/da-DK.json | 1 - front/app/translations/admin/de-DE.json | 1 - front/app/translations/admin/en-CA.json | 1 - front/app/translations/admin/en-GB.json | 1 - front/app/translations/admin/en-IE.json | 1 - front/app/translations/admin/en.json | 3 ++- front/app/translations/admin/es-CL.json | 1 - front/app/translations/admin/es-ES.json | 1 - front/app/translations/admin/fi-FI.json | 1 - front/app/translations/admin/fr-BE.json | 1 - front/app/translations/admin/fr-FR.json | 1 - front/app/translations/admin/hr-HR.json | 1 - front/app/translations/admin/lv-LV.json | 1 - front/app/translations/admin/nb-NO.json | 1 - front/app/translations/admin/nl-BE.json | 1 - front/app/translations/admin/nl-NL.json | 1 - front/app/translations/admin/pa-IN.json | 1 - front/app/translations/admin/pl-PL.json | 1 - front/app/translations/admin/pt-BR.json | 1 - front/app/translations/admin/sr-Latn.json | 1 - front/app/translations/admin/sr-SP.json | 1 - front/app/translations/admin/sv-SE.json | 1 - front/app/translations/admin/tr-TR.json | 1 - front/app/translations/admin/ur-PK.json | 1 - 26 files changed, 2 insertions(+), 26 deletions(-) diff --git a/front/app/translations/admin/ar-SA.json b/front/app/translations/admin/ar-SA.json index 469e6ce557ef..63ee6f2e0cd2 100644 --- a/front/app/translations/admin/ar-SA.json +++ b/front/app/translations/admin/ar-SA.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "المشاركون في الأساليب المضمنة (على سبيل المثال، الاستطلاعات الخارجية)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "متابعين للمشروع", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "ملاحظة: قد يؤدي تمكين أذونات المشاركة المجهولة أو المفتوحة إلى السماح للمستخدمين بالمشاركة عدة مرات، مما يؤدي إلى بيانات مستخدم مضللة أو غير كاملة.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "لا يشمل المشاركون:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "يشمل المشاركون:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "المستخدمون يتفاعلون مع أساليب Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "إعدادات المشروع", diff --git a/front/app/translations/admin/cy-GB.json b/front/app/translations/admin/cy-GB.json index b0cd542739e6..c10c76a845d2 100644 --- a/front/app/translations/admin/cy-GB.json +++ b/front/app/translations/admin/cy-GB.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Cyfranogwyr mewn dulliau sydd wedi'u gwreiddio (ee arolygon allanol)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Dilynwyr prosiect", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Nodyn: Gall galluogi caniatâd cyfranogiad dienw neu agored ganiatáu i ddefnyddwyr gymryd rhan sawl gwaith, gan arwain at ddata defnyddwyr camarweiniol neu anghyflawn.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Nid yw cyfranogwyr yn cynnwys:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Mae cyfranogwyr yn cynnwys:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Defnyddwyr yn rhyngweithio â dulliau Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Gosodiadau prosiect", diff --git a/front/app/translations/admin/da-DK.json b/front/app/translations/admin/da-DK.json index bec9d40f2bf7..d7616f95aacf 100644 --- a/front/app/translations/admin/da-DK.json +++ b/front/app/translations/admin/da-DK.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deltagere i indlejrede metoder (f.eks. eksterne undersøgelser)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Følgere af et projekt", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Bemærk: Aktivering af anonyme eller åbne deltagelsestilladelser kan gøre det muligt for brugere at deltage flere gange, hvilket fører til misvisende eller ufuldstændige brugerdata.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Deltagere omfatter ikke:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Deltagerne omfatter:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Brugere, der interagerer med Go Vocal metoder", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projektindstillinger", diff --git a/front/app/translations/admin/de-DE.json b/front/app/translations/admin/de-DE.json index 4a31269200af..95b75f2e392b 100644 --- a/front/app/translations/admin/de-DE.json +++ b/front/app/translations/admin/de-DE.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Teilnehmende eingebetteter Methoden (z.B. externe Umfragen)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Projektfollower*innen", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Hinweis: Wenn Sie anonyme oder offene Teilnahmerechte aktivieren, können Nutzende mehrfach teilnehmen, was zu irreführenden oder unvollständigen Nutzerdaten führen kann.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Nicht als Teilnehmende gelten:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Zu den Teilnehmenden gehören:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Nutzende, die mit Go Vocal-Methoden interagieren", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projekt-Einstellungen", diff --git a/front/app/translations/admin/en-CA.json b/front/app/translations/admin/en-CA.json index 7fcac79cd17d..2c73047f9b5b 100644 --- a/front/app/translations/admin/en-CA.json +++ b/front/app/translations/admin/en-CA.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Project settings", diff --git a/front/app/translations/admin/en-GB.json b/front/app/translations/admin/en-GB.json index 3b72a0289818..43f6d7a87115 100644 --- a/front/app/translations/admin/en-GB.json +++ b/front/app/translations/admin/en-GB.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Project settings", diff --git a/front/app/translations/admin/en-IE.json b/front/app/translations/admin/en-IE.json index 7fcac79cd17d..2c73047f9b5b 100644 --- a/front/app/translations/admin/en-IE.json +++ b/front/app/translations/admin/en-IE.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Project settings", diff --git a/front/app/translations/admin/en.json b/front/app/translations/admin/en.json index 7fcac79cd17d..d39400ce0ce8 100644 --- a/front/app/translations/admin/en.json +++ b/front/app/translations/admin/en.json @@ -376,12 +376,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Draft", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Everyone", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Groups", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline voters", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participant} other {{participantsCount} participants}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Event attendees", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Participants do not include:", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Project settings", diff --git a/front/app/translations/admin/es-CL.json b/front/app/translations/admin/es-CL.json index a6d661ae5c91..30306d94ca30 100644 --- a/front/app/translations/admin/es-CL.json +++ b/front/app/translations/admin/es-CL.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participantes en métodos integrados (por ejemplo, encuestas externas)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Seguidores de un proyecto", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Nota: Activar los permisos de participación anónima o abierta puede permitir que los usuarios participen varias veces, lo que daría lugar a datos de usuario engañosos o incompletos.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Los participantes no incluyen:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Entre los participantes figuran:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Usuarios interactuando con los métodos de Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Ajustes del proyecto", diff --git a/front/app/translations/admin/es-ES.json b/front/app/translations/admin/es-ES.json index 70956064c764..135cb1c3a729 100644 --- a/front/app/translations/admin/es-ES.json +++ b/front/app/translations/admin/es-ES.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participantes en métodos integrados (por ejemplo, encuestas externas)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Seguidores de un proyecto", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Nota: Activar los permisos de participación anónima o abierta puede permitir que los usuarios participen varias veces, lo que daría lugar a datos de usuario engañosos o incompletos.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Los participantes no incluyen:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Entre los participantes figuran:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Usuarios interactuando con los métodos de Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Ajustes del proyecto", diff --git a/front/app/translations/admin/fi-FI.json b/front/app/translations/admin/fi-FI.json index 4fe19e5ffd6a..b5a2a57e952d 100644 --- a/front/app/translations/admin/fi-FI.json +++ b/front/app/translations/admin/fi-FI.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Osallistujat sulautettuihin menetelmiin (esim. ulkoisiin tutkimuksiin)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Projektin seuraajia", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Huomautus: Anonyymien tai avointen osallistumisoikeuksien salliminen voi antaa käyttäjille mahdollisuuden osallistua useita kertoja, mikä johtaa harhaanjohtaviin tai epätäydellisiin käyttäjätietoihin.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Osallistujat eivät sisällä:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Osallistujia ovat:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Käyttäjät, jotka ovat vuorovaikutuksessa Go Vocal -menetelmien kanssa", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projektin asetukset", diff --git a/front/app/translations/admin/fr-BE.json b/front/app/translations/admin/fr-BE.json index 6073afcc76c0..595e1eae8a3c 100644 --- a/front/app/translations/admin/fr-BE.json +++ b/front/app/translations/admin/fr-BE.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Les utilisateurs interagissant avec les méthodes intégrées (par exemple, enquêtes externes)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Les followers d'un projet", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Remarque : L'activation de la participation anonyme ou sans compte utilisateur peut permettre aux utilisateurs de participer plusieurs fois, ce qui pourrait conduire des résultats trompeurs ou non représentatifs.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Les participants n'incluent pas :", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Les participants incluent :", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Utilisateurs interagissant avec les méthodes natives de Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Paramètres du projet", diff --git a/front/app/translations/admin/fr-FR.json b/front/app/translations/admin/fr-FR.json index 9a83b0ba8518..067672112567 100644 --- a/front/app/translations/admin/fr-FR.json +++ b/front/app/translations/admin/fr-FR.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Les utilisateurs interagissant avec les méthodes intégrées (par exemple, enquêtes externes)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Les followers d'un projet", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Remarque : L'activation de la participation anonyme ou sans compte utilisateur peut permettre aux utilisateurs de participer plusieurs fois, ce qui pourrait conduire des résultats trompeurs ou non représentatifs.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Les participants n'incluent pas :", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Les participants incluent :", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Utilisateurs interagissant avec les méthodes natives de Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Paramètres du projet", diff --git a/front/app/translations/admin/hr-HR.json b/front/app/translations/admin/hr-HR.json index ddae55f49118..d7fbb17d1154 100644 --- a/front/app/translations/admin/hr-HR.json +++ b/front/app/translations/admin/hr-HR.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Sudionici u ugrađenim metodama (npr. vanjske ankete)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Sljedbenici projekta", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Napomena: Omogućavanje dozvola za anonimno ili otvoreno sudjelovanje može omogućiti korisnicima višestruko sudjelovanje, što dovodi do pogrešnih ili nepotpunih korisničkih podataka.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Sudionici ne uključuju:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Sudionici uključuju:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Korisnici u interakciji s Go Vocal metodama", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Postavke projekta", diff --git a/front/app/translations/admin/lv-LV.json b/front/app/translations/admin/lv-LV.json index b55cdd02972b..a67f53ae932b 100644 --- a/front/app/translations/admin/lv-LV.json +++ b/front/app/translations/admin/lv-LV.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Iegulto metožu (piemēram, ārējo aptauju) dalībnieki.", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Projekta sekotāji", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Piezīme: Ieslēdzot anonīmas vai atklātas dalības atļaujas, lietotāji var piedalīties vairākas reizes, tādējādi iegūstot maldinošus vai nepilnīgus lietotāju datus.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Dalībnieku vidū nav:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Piedalās:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Lietotāju mijiedarbība ar Go Vocal metodēm", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projekta iestatījumi", diff --git a/front/app/translations/admin/nb-NO.json b/front/app/translations/admin/nb-NO.json index fae5a8cf0a50..76e59a80d75e 100644 --- a/front/app/translations/admin/nb-NO.json +++ b/front/app/translations/admin/nb-NO.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deltakere i innebygde metoder (f.eks. eksterne spørreundersøkelser)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Følgere av et prosjekt", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Merk: Hvis du aktiverer anonyme eller åpne deltakelsestillatelser, kan det hende at brukere kan delta flere ganger, noe som kan føre til misvisende eller ufullstendige brukerdata.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Deltakerne er ikke inkludert:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Deltakerne inkluderer:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Brukere som samhandler med Go Vocal-metoder", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Prosjektinnstillinger", diff --git a/front/app/translations/admin/nl-BE.json b/front/app/translations/admin/nl-BE.json index 2ae9b74b47a7..1fac7a2d3c10 100644 --- a/front/app/translations/admin/nl-BE.json +++ b/front/app/translations/admin/nl-BE.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deelnemers aan ingesloten methoden (bijv. externe onderzoeken)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Volgers van een project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Opmerking: Als je anonieme of open deelnamemogelijkheden inschakelt, kunnen gebruikers meerdere keren deelnemen, wat kan leiden tot misleidende of onvolledige gebruikersgegevens.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Deelnemers zijn niet:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Deelnemers zijn onder andere:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Gebruikers in interactie met Go Vocal-methoden", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projectinstellingen", diff --git a/front/app/translations/admin/nl-NL.json b/front/app/translations/admin/nl-NL.json index f19c960750f2..5ef148573444 100644 --- a/front/app/translations/admin/nl-NL.json +++ b/front/app/translations/admin/nl-NL.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deelnemers aan ingesloten methoden (bijv. externe onderzoeken)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Volgers van een project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Opmerking: Als je anonieme of open deelnamemogelijkheden inschakelt, kunnen gebruikers meerdere keren deelnemen, wat kan leiden tot misleidende of onvolledige gebruikersgegevens.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Deelnemers zijn niet:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Deelnemers zijn onder andere:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Gebruikers in interactie met Go Vocal-methoden", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projectinstellingen", diff --git a/front/app/translations/admin/pa-IN.json b/front/app/translations/admin/pa-IN.json index 8bcfef19610d..0b31b8368f38 100644 --- a/front/app/translations/admin/pa-IN.json +++ b/front/app/translations/admin/pa-IN.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "ਏਮਬੇਡ ਕੀਤੇ ਤਰੀਕਿਆਂ ਵਿੱਚ ਭਾਗੀਦਾਰ (ਉਦਾਹਰਨ ਲਈ, ਬਾਹਰੀ ਸਰਵੇਖਣ)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਦੇ ਪੈਰੋਕਾਰ", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "ਨੋਟ: ਅਗਿਆਤ ਜਾਂ ਖੁੱਲੀ ਭਾਗੀਦਾਰੀ ਅਨੁਮਤੀਆਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਕਈ ਵਾਰ ਹਿੱਸਾ ਲੈਣ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਉਪਭੋਗਤਾ ਡੇਟਾ ਨੂੰ ਗੁੰਮਰਾਹਕੁੰਨ ਜਾਂ ਅਧੂਰਾ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "ਭਾਗੀਦਾਰਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹਨ:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "ਭਾਗੀਦਾਰਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "ਗੋ ਵੋਕਲ ਵਿਧੀਆਂ ਨਾਲ ਗੱਲਬਾਤ ਕਰਨ ਵਾਲੇ ਉਪਭੋਗਤਾ", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "ਪ੍ਰੋਜੈਕਟ ਸੈਟਿੰਗਾਂ", diff --git a/front/app/translations/admin/pl-PL.json b/front/app/translations/admin/pl-PL.json index bc15b58d00ab..440543441ba2 100644 --- a/front/app/translations/admin/pl-PL.json +++ b/front/app/translations/admin/pl-PL.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Uczestnicy metod wbudowanych (np. ankiet zewnętrznych)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Obserwujący projekt", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Uwaga: Włączenie uprawnień do anonimowego lub otwartego uczestnictwa może pozwolić użytkownikom na wielokrotne uczestnictwo, prowadząc do mylących lub niekompletnych danych użytkownika.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Uczestnicy nie obejmują:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Wśród uczestników są:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Użytkownicy korzystający z metod Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Ustawienia projektu", diff --git a/front/app/translations/admin/pt-BR.json b/front/app/translations/admin/pt-BR.json index f71e8304c5fa..fe662d6f78c8 100644 --- a/front/app/translations/admin/pt-BR.json +++ b/front/app/translations/admin/pt-BR.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participantes de métodos incorporados (por exemplo, pesquisas externas)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Seguidores de um projeto", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Observação: a ativação de permissões de participação anônima ou aberta pode permitir que os usuários participem várias vezes, levando a dados de usuário enganosos ou incompletos.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Os participantes não incluem:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Os participantes incluem:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Usuários interagindo com os métodos da Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Configurações do projeto", diff --git a/front/app/translations/admin/sr-Latn.json b/front/app/translations/admin/sr-Latn.json index 62b07836d691..8430bfbbef24 100644 --- a/front/app/translations/admin/sr-Latn.json +++ b/front/app/translations/admin/sr-Latn.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Project settings", diff --git a/front/app/translations/admin/sr-SP.json b/front/app/translations/admin/sr-SP.json index ebb06521ba48..e63c7f33466e 100644 --- a/front/app/translations/admin/sr-SP.json +++ b/front/app/translations/admin/sr-SP.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Подешавања пројекта", diff --git a/front/app/translations/admin/sv-SE.json b/front/app/translations/admin/sv-SE.json index b0b03cb66d32..0aa923156362 100644 --- a/front/app/translations/admin/sv-SE.json +++ b/front/app/translations/admin/sv-SE.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deltagare i inbäddade metoder (t.ex. externa enkäter)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Följare av ett projekt", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Obs: Om du aktiverar anonym eller öppen deltagarbehörighet kan användare delta flera gånger, vilket kan leda till missvisande eller ofullständiga användardata.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Deltagare ingår inte:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Bland deltagarna finns:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Användare som interagerar med Go Vocal-metoder", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Inställningar för projektet", diff --git a/front/app/translations/admin/tr-TR.json b/front/app/translations/admin/tr-TR.json index 23f8d187a007..892bcb9eb2b0 100644 --- a/front/app/translations/admin/tr-TR.json +++ b/front/app/translations/admin/tr-TR.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Yerleşik yöntemlere katılanlar (örn. harici anketler)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Bir projenin takipçileri", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Not: Anonim veya açık katılım izinlerinin etkinleştirilmesi, kullanıcıların birden fazla kez katılmasına izin vererek yanıltıcı veya eksik kullanıcı verilerine yol açabilir.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Katılımcılar dahil değildir:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Katılımcılar arasında", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Go Vocal yöntemleriyle etkileşime giren kullanıcılar", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Proje ayarları", diff --git a/front/app/translations/admin/ur-PK.json b/front/app/translations/admin/ur-PK.json index db08888c62df..3a16c9f16bd2 100644 --- a/front/app/translations/admin/ur-PK.json +++ b/front/app/translations/admin/ur-PK.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "سرایت شدہ طریقوں میں حصہ لینے والے (مثال کے طور پر، بیرونی سروے)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "کسی پروجیکٹ کے پیروکار", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "نوٹ: گمنام یا کھلی شرکت کی اجازتوں کو فعال کرنے سے صارفین کو متعدد بار شرکت کرنے کی اجازت مل سکتی ہے، جس سے صارف کا ڈیٹا گمراہ کن یا نامکمل ہو سکتا ہے۔", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "شرکاء میں شامل نہیں ہیں:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "شرکاء میں شامل ہیں:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "گو ووکل طریقوں کے ساتھ تعامل کرنے والے صارفین", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "پروجیکٹ کی ترتیبات", From bf4f7730d452eb4a95798a6c2f7e57c4f248af0d Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Thu, 5 Dec 2024 13:27:51 +0000 Subject: [PATCH 005/150] [TAN-3015] Set legacy craftjs content in internal templates --- back/config/tenant_templates/base.yml | 82 +++++++++++++++++++ .../tenant_templates/e2etests_template.yml | 82 +++++++++++++++++++ .../app/models/content_builder/layout.rb | 12 ++- 3 files changed, 172 insertions(+), 4 deletions(-) diff --git a/back/config/tenant_templates/base.yml b/back/config/tenant_templates/base.yml index 80c0429f2ebc..5a0e0317e0d6 100644 --- a/back/config/tenant_templates/base.yml +++ b/back/config/tenant_templates/base.yml @@ -2,6 +2,88 @@ models: content_builder/layout: - code: homepage enabled: true + craftjs_json: + ROOT: + type: 'div' + isCanvas: true + props: + id: 'e2e-content-builder-frame' + displayName: 'div' + custom: {} + hidden: false + nodes: ['HOMEPAGEBANNER', 'PROJECTS'] + linked_nodes: {} + HOMEPAGEBANNER: + type: + resolvedName: 'HomepageBanner' + isCanvas: false + props: + homepageSettings: + banner_layout: 'full_width_banner_layout' + banner_avatars_enabled: true + banner_cta_signed_in_url: '' + banner_cta_signed_in_type: 'no_button' + banner_cta_signed_out_url: '' + banner_cta_signed_out_type: 'sign_up_button' + banner_signed_in_header_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_signed_out_header_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_cta_signed_in_text_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_cta_signed_out_text_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_signed_out_subheader_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_signed_in_header_overlay_color: '#0A5159' + banner_signed_out_header_overlay_color: '#0A5159' + banner_signed_in_header_overlay_opacity: 90 + banner_signed_out_header_overlay_opacity: 90 + image: + imageUrl: 'https://cl2-seed-and-template-assets.s3.eu-central-1.amazonaws.com/images/header.jpg' + errors: [] + hasError: false + displayName: 'HomepageBanner' + custom: + title: + id: 'app.containers.admin.ContentBuilder.homepage.homepageBanner' + defaultMessage: 'Homepage banner' + noPointerEvents: true + noDelete: true + parent: 'ROOT' + hidden: false + nodes: [] + linkedNodes: {} + PROJECTS: + type: + resolvedName: 'Projects' + isCanvas: false + props: + currentlyWorkingOnText: + en: '' + nl-BE: '' + fr-BE: '' + displayName: 'Projects' + custom: + title: + id: 'app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle' + defaultMessage: 'Projects' + noPointerEvents: true + noDelete: true + parent: 'ROOT' + hidden: false + nodes: [] + linkedNodes: {} idea_status: - title_multiloc: idea_statuses.prescreening diff --git a/back/config/tenant_templates/e2etests_template.yml b/back/config/tenant_templates/e2etests_template.yml index 00455dc13941..e58dd5db2218 100644 --- a/back/config/tenant_templates/e2etests_template.yml +++ b/back/config/tenant_templates/e2etests_template.yml @@ -3,6 +3,88 @@ models: content_builder/layout: - code: homepage enabled: true + craftjs_json: + ROOT: + type: 'div' + isCanvas: true + props: + id: 'e2e-content-builder-frame' + displayName: 'div' + custom: {} + hidden: false + nodes: ['HOMEPAGEBANNER', 'PROJECTS'] + linked_nodes: {} + HOMEPAGEBANNER: + type: + resolvedName: 'HomepageBanner' + isCanvas: false + props: + homepageSettings: + banner_layout: 'full_width_banner_layout' + banner_avatars_enabled: true + banner_cta_signed_in_url: '' + banner_cta_signed_in_type: 'no_button' + banner_cta_signed_out_url: '' + banner_cta_signed_out_type: 'sign_up_button' + banner_signed_in_header_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_signed_out_header_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_cta_signed_in_text_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_cta_signed_out_text_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_signed_out_subheader_multiloc: + en: '' + nl-BE: '' + fr-BE: '' + banner_signed_in_header_overlay_color: '#0A5159' + banner_signed_out_header_overlay_color: '#0A5159' + banner_signed_in_header_overlay_opacity: 90 + banner_signed_out_header_overlay_opacity: 90 + image: + imageUrl: 'https://cl2-seed-and-template-assets.s3.eu-central-1.amazonaws.com/images/header.jpg' + errors: [] + hasError: false + displayName: 'HomepageBanner' + custom: + title: + id: 'app.containers.admin.ContentBuilder.homepage.homepageBanner' + defaultMessage: 'Homepage banner' + noPointerEvents: true + noDelete: true + parent: 'ROOT' + hidden: false + nodes: [] + linkedNodes: {} + PROJECTS: + type: + resolvedName: 'Projects' + isCanvas: false + props: + currentlyWorkingOnText: + en: '' + nl-BE: '' + fr-BE: '' + displayName: 'Projects' + custom: + title: + id: 'app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle' + defaultMessage: 'Projects' + noPointerEvents: true + noDelete: true + parent: 'ROOT' + hidden: false + nodes: [] + linkedNodes: {} idea_status: - title_multiloc: idea_statuses.prescreening diff --git a/back/engines/commercial/content_builder/app/models/content_builder/layout.rb b/back/engines/commercial/content_builder/app/models/content_builder/layout.rb index 0129690b6188..5e0cfe867018 100644 --- a/back/engines/commercial/content_builder/app/models/content_builder/layout.rb +++ b/back/engines/commercial/content_builder/app/models/content_builder/layout.rb @@ -74,11 +74,15 @@ def sanitize_craftjs_json end def set_craftjs_json - return if code != 'homepage' || craftjs_json.present? + return if code != 'homepage' - craftjs_filepath = Rails.root.join('config/homepage/default_craftjs.json.erb') - json_craftjs_str = ERB.new(File.read(craftjs_filepath)).result(binding) - self.craftjs_json = ContentBuilder::LayoutImageService.new.swap_data_images(JSON.parse(json_craftjs_str)) + if craftjs_json.present? + self.craftjs_json = ContentBuilder::LayoutImageService.new.swap_data_images(craftjs_json) + else + craftjs_filepath = Rails.root.join('config/homepage/default_craftjs.json.erb') + json_craftjs_str = ERB.new(File.read(craftjs_filepath)).result(binding) + self.craftjs_json = ContentBuilder::LayoutImageService.new.swap_data_images(JSON.parse(json_craftjs_str)) + end end end end From c70b4483c7e017218d4f8dabce560fe36cc1d8ca Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Thu, 5 Dec 2024 17:10:40 +0000 Subject: [PATCH 006/150] [TAN-3015] Add open to participation + finished widgets to both templates --- back/config/tenant_templates/base.yml | 43 ++++++++++++------- .../tenant_templates/e2etests_template.yml | 33 +++++++++++++- 2 files changed, 59 insertions(+), 17 deletions(-) diff --git a/back/config/tenant_templates/base.yml b/back/config/tenant_templates/base.yml index 5a0e0317e0d6..aa5d387daf24 100644 --- a/back/config/tenant_templates/base.yml +++ b/back/config/tenant_templates/base.yml @@ -11,7 +11,7 @@ models: displayName: 'div' custom: {} hidden: false - nodes: ['HOMEPAGEBANNER', 'PROJECTS'] + nodes: ['HOMEPAGEBANNER', 'OPEN_TO_PARTICIPATION', 'FINISHED_OR_ARCHIVED'] linked_nodes: {} HOMEPAGEBANNER: type: @@ -64,25 +64,36 @@ models: hidden: false nodes: [] linkedNodes: {} - PROJECTS: + OPEN_TO_PARTICIPATION: type: - resolvedName: 'Projects' - isCanvas: false + resolvedName: 'OpenToParticipation' + nodes: [] props: - currentlyWorkingOnText: - en: '' - nl-BE: '' - fr-BE: '' - displayName: 'Projects' - custom: - title: - id: 'app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle' - defaultMessage: 'Projects' - noPointerEvents: true - noDelete: true - parent: 'ROOT' + titleMultiloc: + en: 'Open to participation' + nl-BE: 'Open voor deelname' + fr-BE: 'Ouvert à la participation' + custom: {} hidden: false + parent: 'ROOT' + isCanvas: false + displayName: 'OpenToParticipation' + linkedNodes: {} + FINISHED_OR_ARCHIVED: + type: + resolvedName: 'FinishedOrArchived' nodes: [] + props: + filterBy: 'finished_and_archived' + titleMultiloc: + en: 'You said, we did...' + nl-BE: 'Jij zei, wij deden...' + fr-BE: "Vous avez dit, nous l'avons fait..." + custom: {} + hidden: false + parent: 'ROOT' + isCanvas: false + displayName: 'FinishedOrArchived' linkedNodes: {} idea_status: - diff --git a/back/config/tenant_templates/e2etests_template.yml b/back/config/tenant_templates/e2etests_template.yml index e58dd5db2218..0ec04f3a7767 100644 --- a/back/config/tenant_templates/e2etests_template.yml +++ b/back/config/tenant_templates/e2etests_template.yml @@ -12,7 +12,7 @@ models: displayName: 'div' custom: {} hidden: false - nodes: ['HOMEPAGEBANNER', 'PROJECTS'] + nodes: ['HOMEPAGEBANNER', 'OPEN_TO_PARTICIPATION', 'FINISHED_OR_ARCHIVED', 'PROJECTS'] linked_nodes: {} HOMEPAGEBANNER: type: @@ -65,6 +65,37 @@ models: hidden: false nodes: [] linkedNodes: {} + OPEN_TO_PARTICIPATION: + type: + resolvedName: 'OpenToParticipation' + nodes: [] + props: + titleMultiloc: + en: 'Open to participation' + nl-BE: 'Open voor deelname' + fr-BE: 'Ouvert à la participation' + custom: {} + hidden: false + parent: 'ROOT' + isCanvas: false + displayName: 'OpenToParticipation' + linkedNodes: {} + FINISHED_OR_ARCHIVED: + type: + resolvedName: 'FinishedOrArchived' + nodes: [] + props: + filterBy: 'finished_and_archived' + titleMultiloc: + en: 'You said, we did...' + nl-BE: 'Jij zei, wij deden...' + fr-BE: "Vous avez dit, nous l'avons fait..." + custom: {} + hidden: false + parent: 'ROOT' + isCanvas: false + displayName: 'FinishedOrArchived' + linkedNodes: {} PROJECTS: type: resolvedName: 'Projects' From 878126406d38f188546a08da165968f9ff87339d Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Thu, 5 Dec 2024 17:45:26 +0000 Subject: [PATCH 007/150] [TAN-3015] Seed an archived project for the finished widget --- .../multi_tenancy/db/seeds/projects.rb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/back/engines/commercial/multi_tenancy/db/seeds/projects.rb b/back/engines/commercial/multi_tenancy/db/seeds/projects.rb index 07e9b2fff678..b31571726f8d 100644 --- a/back/engines/commercial/multi_tenancy/db/seeds/projects.rb +++ b/back/engines/commercial/multi_tenancy/db/seeds/projects.rb @@ -14,6 +14,7 @@ def run def create_fixed_projects create_mixed_3_methods_project + create_archived_project end def create_mixed_3_methods_project @@ -52,6 +53,25 @@ def create_mixed_3_methods_project ) end + def create_archived_project + project = Project.create!( + title_multiloc: { 'en' => 'Archived project' }, + description_multiloc: runner.rand_description_multiloc, + slug: 'archived-project', + header_bg: Rails.root.join('spec/fixtures/image6.png').open, + allowed_input_topics: Topic.all, + admin_publication_attributes: { publication_status: 'archived' } + ) + project.phases.create!( + title_multiloc: { 'en' => 'Past information phase' }, + description_multiloc: runner.rand_description_multiloc, + participation_method: 'information', + start_at: Time.zone.today - 30.days, + end_at: Time.zone.today - 11.days, + campaigns_settings: { project_phase_started: true } + ) + end + def create_random_projects (runner.num_projects - Project.count).times do project = Project.new({ From 68472a9a14ce59a35246f74b98aec1759337a9d9 Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Thu, 5 Dec 2024 19:16:21 +0000 Subject: [PATCH 008/150] [TAN-3015] Add followed items widget to both internal templates --- back/config/tenant_templates/base.yml | 17 ++++++++++++++++- .../tenant_templates/e2etests_template.yml | 17 ++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/back/config/tenant_templates/base.yml b/back/config/tenant_templates/base.yml index aa5d387daf24..5d9a733dba88 100644 --- a/back/config/tenant_templates/base.yml +++ b/back/config/tenant_templates/base.yml @@ -11,7 +11,7 @@ models: displayName: 'div' custom: {} hidden: false - nodes: ['HOMEPAGEBANNER', 'OPEN_TO_PARTICIPATION', 'FINISHED_OR_ARCHIVED'] + nodes: ['HOMEPAGEBANNER', 'FOLLOWED_ITEMS', 'OPEN_TO_PARTICIPATION', 'FINISHED_OR_ARCHIVED'] linked_nodes: {} HOMEPAGEBANNER: type: @@ -64,6 +64,21 @@ models: hidden: false nodes: [] linkedNodes: {} + FOLLOWED_ITEMS: + type: + resolvedName: 'FollowedItems' + nodes: [] + props: + titleMultiloc: + en: 'For you' + nl-BE: 'Voor jou' + fr-BE: 'Pour vous' + custom: {} + hidden: false + parent: 'ROOT' + isCanvas: false + displayName: 'FollowedItems' + linkedNodes: {} OPEN_TO_PARTICIPATION: type: resolvedName: 'OpenToParticipation' diff --git a/back/config/tenant_templates/e2etests_template.yml b/back/config/tenant_templates/e2etests_template.yml index e524d810a774..4096c5b25457 100644 --- a/back/config/tenant_templates/e2etests_template.yml +++ b/back/config/tenant_templates/e2etests_template.yml @@ -12,7 +12,7 @@ models: displayName: 'div' custom: {} hidden: false - nodes: ['HOMEPAGEBANNER', 'OPEN_TO_PARTICIPATION', 'FINISHED_OR_ARCHIVED', 'PROJECTS'] + nodes: ['HOMEPAGEBANNER', 'FOLLOWED_ITEMS', 'OPEN_TO_PARTICIPATION', 'FINISHED_OR_ARCHIVED', 'PROJECTS'] linked_nodes: {} HOMEPAGEBANNER: type: @@ -65,6 +65,21 @@ models: hidden: false nodes: [] linkedNodes: {} + FOLLOWED_ITEMS: + type: + resolvedName: 'FollowedItems' + nodes: [] + props: + titleMultiloc: + en: 'For you' + nl-BE: 'Voor jou' + fr-BE: 'Pour vous' + custom: {} + hidden: false + parent: 'ROOT' + isCanvas: false + displayName: 'FollowedItems' + linkedNodes: {} OPEN_TO_PARTICIPATION: type: resolvedName: 'OpenToParticipation' From 654de147e0e8b036632f507881a30a05a158c12f Mon Sep 17 00:00:00 2001 From: CircleCI Date: Fri, 6 Dec 2024 10:38:48 +0000 Subject: [PATCH 009/150] Translations updated by CI (extract-intl) --- front/app/translations/admin/lt-LT.json | 1 - 1 file changed, 1 deletion(-) diff --git a/front/app/translations/admin/lt-LT.json b/front/app/translations/admin/lt-LT.json index 0443f1089fa4..59681005be46 100644 --- a/front/app/translations/admin/lt-LT.json +++ b/front/app/translations/admin/lt-LT.json @@ -381,7 +381,6 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Įterptųjų metodų (pvz., išorinių apklausų) dalyviai", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Projekto sekėjai", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Pastaba: Įjungus anoniminio arba atviro dalyvavimo leidimus, naudotojai gali dalyvauti kelis kartus, todėl naudotojų duomenys gali būti klaidinantys arba neišsamūs.", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "Dalyviai neįtraukiami:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Dalyvauja:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Naudotojai, sąveikaujantys su \"Go Vocal\" metodais", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projekto nustatymai", From 04885ca09482adaa67f29f3600b011f2b64513ea Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Fri, 6 Dec 2024 11:40:38 +0000 Subject: [PATCH 010/150] [TAN-3015] Only process homepage image data on before validation at create --- .../app/models/content_builder/layout.rb | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/back/engines/commercial/content_builder/app/models/content_builder/layout.rb b/back/engines/commercial/content_builder/app/models/content_builder/layout.rb index 5e0cfe867018..4f69e17cc2db 100644 --- a/back/engines/commercial/content_builder/app/models/content_builder/layout.rb +++ b/back/engines/commercial/content_builder/app/models/content_builder/layout.rb @@ -21,6 +21,7 @@ module ContentBuilder class Layout < ApplicationRecord belongs_to :content_buildable, polymorphic: true, optional: true + before_validation :swap_data_images, on: :create before_validation :set_craftjs_json, :sanitize_craftjs_json validates :code, presence: true @@ -74,15 +75,18 @@ def sanitize_craftjs_json end def set_craftjs_json - return if code != 'homepage' - - if craftjs_json.present? - self.craftjs_json = ContentBuilder::LayoutImageService.new.swap_data_images(craftjs_json) - else - craftjs_filepath = Rails.root.join('config/homepage/default_craftjs.json.erb') - json_craftjs_str = ERB.new(File.read(craftjs_filepath)).result(binding) - self.craftjs_json = ContentBuilder::LayoutImageService.new.swap_data_images(JSON.parse(json_craftjs_str)) - end + return if code != 'homepage' || craftjs_json.present? + + craftjs_filepath = Rails.root.join('config/homepage/default_craftjs.json.erb') + json_craftjs_str = ERB.new(File.read(craftjs_filepath)).result(binding) + self.craftjs_json = ContentBuilder::LayoutImageService.new.swap_data_images(JSON.parse(json_craftjs_str)) + end + + # This ensures we process image data in a homepage layout created from the internal templates + def swap_data_images + return if code != 'homepage' || craftjs_json.blank? + + self.craftjs_json = ContentBuilder::LayoutImageService.new.swap_data_images(craftjs_json) end end end From bc3c9117ae737fe1449c5025e01428555c35bdd6 Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Fri, 6 Dec 2024 12:13:18 +0000 Subject: [PATCH 011/150] Add images to seeded projects --- back/engines/commercial/multi_tenancy/db/seeds/projects.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/back/engines/commercial/multi_tenancy/db/seeds/projects.rb b/back/engines/commercial/multi_tenancy/db/seeds/projects.rb index b31571726f8d..b2f8d0cb063c 100644 --- a/back/engines/commercial/multi_tenancy/db/seeds/projects.rb +++ b/back/engines/commercial/multi_tenancy/db/seeds/projects.rb @@ -51,6 +51,7 @@ def create_mixed_3_methods_project native_survey_title_multiloc: { 'en' => 'Survey' }, native_survey_button_multiloc: { 'en' => 'Take the survey' } ) + project.project_images.create!(image: Rails.root.join("spec/fixtures/image#{rand(20)}.png").open) end def create_archived_project @@ -70,6 +71,7 @@ def create_archived_project end_at: Time.zone.today - 11.days, campaigns_settings: { project_phase_started: true } ) + project.project_images.create!(image: Rails.root.join("spec/fixtures/image#{rand(20)}.png").open) end def create_random_projects From 5c1372ab85e76acb4698ae82a1e7116d1f230413 Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Fri, 6 Dec 2024 19:08:00 +0000 Subject: [PATCH 012/150] [TAN-3015] Update a French translation --- back/config/tenant_templates/base.yml | 2 +- back/config/tenant_templates/e2etests_template.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/back/config/tenant_templates/base.yml b/back/config/tenant_templates/base.yml index 5d9a733dba88..12f7ba443657 100644 --- a/back/config/tenant_templates/base.yml +++ b/back/config/tenant_templates/base.yml @@ -103,7 +103,7 @@ models: titleMultiloc: en: 'You said, we did...' nl-BE: 'Jij zei, wij deden...' - fr-BE: "Vous avez dit, nous l'avons fait..." + fr-BE: "La boucle est bouclée" custom: {} hidden: false parent: 'ROOT' diff --git a/back/config/tenant_templates/e2etests_template.yml b/back/config/tenant_templates/e2etests_template.yml index 4096c5b25457..089872959972 100644 --- a/back/config/tenant_templates/e2etests_template.yml +++ b/back/config/tenant_templates/e2etests_template.yml @@ -104,7 +104,7 @@ models: titleMultiloc: en: 'You said, we did...' nl-BE: 'Jij zei, wij deden...' - fr-BE: "Vous avez dit, nous l'avons fait..." + fr-BE: "La boucle est bouclée" custom: {} hidden: false parent: 'ROOT' From c445c0998633e76fc14613fca1150d0491e8b68c Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 09:34:30 -0300 Subject: [PATCH 013/150] Scaffold project carrousel skeleton --- .../ProjectCarrousel/Skeleton/CardSkeleton.tsx | 7 +++++++ .../_shared/ProjectCarrousel/Skeleton/index.tsx | 13 +++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx create mode 100644 front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx new file mode 100644 index 000000000000..55b6bef02788 --- /dev/null +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx @@ -0,0 +1,7 @@ +import React from 'react'; + +const CardSkeleton = () => { + return <>; +}; + +export default CardSkeleton; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx new file mode 100644 index 000000000000..a986a321b2c0 --- /dev/null +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx @@ -0,0 +1,13 @@ +import React from 'react'; + +import { CarrouselContainer } from '../../BaseCarrousel/Containers'; + +const Skeleton = () => { + return ( + +
TODO
+
+ ); +}; + +export default Skeleton; From f2422e27fb9c2e3fd96d47895b4a39fbe6812f38 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 14:41:55 -0300 Subject: [PATCH 014/150] Card skeleton (WIP) --- .../Skeleton/CardSkeleton.tsx | 39 ++++++++++++++++++- .../Skeleton/Skeleton.stories.tsx | 16 ++++++++ .../ProjectCarrousel/Skeleton/index.tsx | 39 ++++++++++++++++++- 3 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/Skeleton.stories.tsx diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx index 55b6bef02788..d4eaa8983eaa 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx @@ -1,7 +1,42 @@ import React from 'react'; -const CardSkeleton = () => { - return <>; +import { + stylingConsts, + colors, + Title, +} from '@citizenlab/cl2-component-library'; +import styled from 'styled-components'; + +import { CARD_IMAGE_ASPECT_RATIO } from 'api/project_images/useProjectImages'; + +import { CardContainer } from '../../BaseCard'; +import { CARD_WIDTH } from '../constants'; + +const ImageSkeleton = styled.div` + width: 100%; + display: flex; + aspect-ratio: ${CARD_IMAGE_ASPECT_RATIO}; + margin-right: 10px; + overflow: hidden; + position: relative; + border-radius: ${stylingConsts.borderRadius}; + background-color: ${colors.grey300}; +`; + +interface Props { + ml?: string; + mr?: string; +} + +const CardSkeleton = ({ ml, mr }: Props) => { + return ( + + + + Lorem ipsum blabla + + + ); }; export default CardSkeleton; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/Skeleton.stories.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/Skeleton.stories.tsx new file mode 100644 index 000000000000..fe916f15c12b --- /dev/null +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/Skeleton.stories.tsx @@ -0,0 +1,16 @@ +import Skeleton from '.'; + +import type { Meta, StoryObj } from '@storybook/react'; + +const meta = { + title: 'HomepageBuilder/ProjectCarrouselSkeleton', + component: Skeleton, + parameters: { + chromatic: { disableSnapshot: true }, + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Primary: Story = {}; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx index a986a321b2c0..9cb905416963 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx @@ -1,11 +1,48 @@ import React from 'react'; +import { useBreakpoint, Box } from '@citizenlab/cl2-component-library'; +import { useTheme } from 'styled-components'; + +import { DEFAULT_PADDING } from 'components/admin/ContentBuilder/constants'; + +import { CARD_GAP } from '../../BaseCarrousel/constants'; import { CarrouselContainer } from '../../BaseCarrousel/Containers'; +import CardSkeleton from './CardSkeleton'; + const Skeleton = () => { + const isSmallerThanPhone = useBreakpoint('phone'); + const theme = useTheme(); + return ( -
TODO
+ {/* + Test title + */} + + + + + +
); }; From ff02e3e09ddbddacc7ebe92a887976fd4d0b793d Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 15:06:17 -0300 Subject: [PATCH 015/150] Create basic shimmer effect --- .../ProjectCarrousel/Skeleton/index.tsx | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx index 9cb905416963..1ea3bf32b208 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx @@ -1,7 +1,8 @@ import React from 'react'; import { useBreakpoint, Box } from '@citizenlab/cl2-component-library'; -import { useTheme } from 'styled-components'; +import { lighten } from 'polished'; +import styled, { useTheme } from 'styled-components'; import { DEFAULT_PADDING } from 'components/admin/ContentBuilder/constants'; @@ -10,22 +11,34 @@ import { CarrouselContainer } from '../../BaseCarrousel/Containers'; import CardSkeleton from './CardSkeleton'; +const ShimmerBox = styled(Box)<{ $bgColor: string }>` + ${({ $bgColor }) => { + return `background: linear-gradient( + -45deg, + ${$bgColor} 40%, + ${lighten(0.4)($bgColor)} 50%, + ${$bgColor} 60% + );`; + }} + background-size: 300%; + background-position-x: 100%; + animation: shimmer 2s infinite; + + @keyframes shimmer { + to { + background-position-x: 0%; + } + } +`; + const Skeleton = () => { const isSmallerThanPhone = useBreakpoint('phone'); const theme = useTheme(); return ( - {/* - Test title - */} - Date: Mon, 9 Dec 2024 15:17:40 -0300 Subject: [PATCH 016/150] Make reusable shimmer --- .../components/Shimmer/index.tsx | 33 +++++++++++++++++++ front/app/component-library/index.tsx | 2 ++ .../ProjectCarrousel/Skeleton/index.tsx | 29 +++------------- 3 files changed, 39 insertions(+), 25 deletions(-) create mode 100644 front/app/component-library/components/Shimmer/index.tsx diff --git a/front/app/component-library/components/Shimmer/index.tsx b/front/app/component-library/components/Shimmer/index.tsx new file mode 100644 index 000000000000..51aab13a4b49 --- /dev/null +++ b/front/app/component-library/components/Shimmer/index.tsx @@ -0,0 +1,33 @@ +import React from 'react'; + +import { lighten } from 'polished'; +import styled from 'styled-components'; + +import { colors } from '../../utils/styleUtils'; +import Box, { BoxProps } from '../Box'; + +const ShimmerBox = styled(Box)<{ $bgColor: string }>` + ${({ $bgColor }) => { + return `background: linear-gradient( + -45deg, + ${$bgColor} 40%, + ${lighten(0.4)($bgColor)} 50%, + ${$bgColor} 60% + );`; + }} + background-size: 300%; + background-position-x: 100%; + animation: shimmer 2s infinite; + + @keyframes shimmer { + to { + background-position-x: 0%; + } + } +`; + +const Shimmer = ({ bgColor = colors.black, ...props }: BoxProps) => { + return ; +}; + +export default Shimmer; diff --git a/front/app/component-library/index.tsx b/front/app/component-library/index.tsx index 805cfdc1a731..661bc680ea37 100644 --- a/front/app/component-library/index.tsx +++ b/front/app/component-library/index.tsx @@ -54,6 +54,7 @@ import Select, { SelectIcon, SelectWrapper, } from './components/Select'; +import Shimmer from './components/Shimmer'; import Spinner from './components/Spinner'; import StatusLabel from './components/StatusLabel'; import Success from './components/Success'; @@ -195,4 +196,5 @@ export { Title, ListItem, Tooltip, + Shimmer, }; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx index 1ea3bf32b208..e7603a02833e 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx @@ -1,8 +1,7 @@ import React from 'react'; -import { useBreakpoint, Box } from '@citizenlab/cl2-component-library'; -import { lighten } from 'polished'; -import styled, { useTheme } from 'styled-components'; +import { useBreakpoint, Box, Shimmer } from '@citizenlab/cl2-component-library'; +import { useTheme } from 'styled-components'; import { DEFAULT_PADDING } from 'components/admin/ContentBuilder/constants'; @@ -11,34 +10,14 @@ import { CarrouselContainer } from '../../BaseCarrousel/Containers'; import CardSkeleton from './CardSkeleton'; -const ShimmerBox = styled(Box)<{ $bgColor: string }>` - ${({ $bgColor }) => { - return `background: linear-gradient( - -45deg, - ${$bgColor} 40%, - ${lighten(0.4)($bgColor)} 50%, - ${$bgColor} 60% - );`; - }} - background-size: 300%; - background-position-x: 100%; - animation: shimmer 2s infinite; - - @keyframes shimmer { - to { - background-position-x: 0%; - } - } -`; - const Skeleton = () => { const isSmallerThanPhone = useBreakpoint('phone'); const theme = useTheme(); return ( - Date: Mon, 9 Dec 2024 15:27:41 -0300 Subject: [PATCH 017/150] Finish skeleton --- .../Skeleton/CardSkeleton.tsx | 36 ++++++++++++++----- .../ProjectCarrousel/Skeleton/index.tsx | 2 +- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx index d4eaa8983eaa..33d0a7d0786d 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx @@ -3,24 +3,22 @@ import React from 'react'; import { stylingConsts, colors, - Title, + Shimmer, } from '@citizenlab/cl2-component-library'; -import styled from 'styled-components'; +import styled, { useTheme } from 'styled-components'; import { CARD_IMAGE_ASPECT_RATIO } from 'api/project_images/useProjectImages'; import { CardContainer } from '../../BaseCard'; import { CARD_WIDTH } from '../constants'; -const ImageSkeleton = styled.div` +const ImageSkeleton = styled(Shimmer)` width: 100%; display: flex; aspect-ratio: ${CARD_IMAGE_ASPECT_RATIO}; margin-right: 10px; overflow: hidden; - position: relative; border-radius: ${stylingConsts.borderRadius}; - background-color: ${colors.grey300}; `; interface Props { @@ -29,12 +27,32 @@ interface Props { } const CardSkeleton = ({ ml, mr }: Props) => { + const theme = useTheme(); + return ( - - - Lorem ipsum blabla - + + + + ); }; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx index e7603a02833e..5d8b752d038e 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx @@ -18,7 +18,7 @@ const Skeleton = () => { Date: Mon, 9 Dec 2024 15:36:40 -0300 Subject: [PATCH 018/150] gs --- .../components/Widgets/OpenToParticipation/index.tsx | 12 +++++++++--- .../ProjectCarrousel/Skeleton/CardSkeleton.tsx | 8 +++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/OpenToParticipation/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/OpenToParticipation/index.tsx index 315f3faf529e..a664448c00f2 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/OpenToParticipation/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/OpenToParticipation/index.tsx @@ -8,6 +8,7 @@ import useLocalize from 'hooks/useLocalize'; import EmptyState from '../_shared/EmptyState'; import ProjectCarrousel from '../_shared/ProjectCarrousel'; +import Skeleton from '../_shared/ProjectCarrousel/Skeleton'; import messages from './messages'; import Settings from './Settings'; @@ -18,11 +19,16 @@ interface Props { const OpenToParticipation = ({ titleMultiloc }: Props) => { const localize = useLocalize(); - const { data, hasNextPage, fetchNextPage } = useProjectsMini({ - endpoint: 'with_active_participatory_phase', - }); + const { data, hasNextPage, fetchNextPage, isInitialLoading } = + useProjectsMini({ + endpoint: 'with_active_participatory_phase', + }); const projects = data?.pages.map((page) => page.data).flat(); + if (isInitialLoading) { + return ; + } + if (!projects) return null; if (projects.length === 0) { return ( diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx index 33d0a7d0786d..b6b230bebbb8 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx @@ -34,11 +34,17 @@ const CardSkeleton = ({ ml, mr }: Props) => { + Date: Mon, 9 Dec 2024 15:36:54 -0300 Subject: [PATCH 019/150] _ --- .../Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx index b6b230bebbb8..1ea17afc2e51 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx @@ -41,7 +41,7 @@ const CardSkeleton = ({ ml, mr }: Props) => { /> From 6fc6b484d1df37dd241bdc1b187828c34b607e7f Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 17:56:13 -0300 Subject: [PATCH 020/150] Create usePhaseMini hook --- front/app/api/phases_mini/keys.ts | 12 ++++++++++++ front/app/api/phases_mini/types.ts | 21 +++++++++++++++++++++ front/app/api/phases_mini/usePhaseMini.ts | 23 +++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 front/app/api/phases_mini/keys.ts create mode 100644 front/app/api/phases_mini/types.ts create mode 100644 front/app/api/phases_mini/usePhaseMini.ts diff --git a/front/app/api/phases_mini/keys.ts b/front/app/api/phases_mini/keys.ts new file mode 100644 index 000000000000..df1799bae569 --- /dev/null +++ b/front/app/api/phases_mini/keys.ts @@ -0,0 +1,12 @@ +import { QueryKeys } from 'utils/cl-react-query/types'; + +const baseKey = { type: 'phase_mini' }; + +const phasesKeys = { + all: () => [baseKey], + item: ({ id }: { id: string | undefined | null }) => [ + { ...baseKey, operation: 'item', parameters: { id } }, + ], +} satisfies QueryKeys; + +export default phasesKeys; diff --git a/front/app/api/phases_mini/types.ts b/front/app/api/phases_mini/types.ts new file mode 100644 index 000000000000..4c216eef6196 --- /dev/null +++ b/front/app/api/phases_mini/types.ts @@ -0,0 +1,21 @@ +import { InputTerm, ParticipationMethod } from 'api/phases/types'; + +import { Keys } from 'utils/cl-react-query/types'; + +import phasesMiniKeys from './keys'; + +export type PhasesMiniKeys = Keys; + +export interface PhaseMini { + data: PhaseMiniData; +} + +interface PhaseMiniData { + id: string; + type: 'phase_mini'; + attributes: { + end_at: string | null; + input_term?: InputTerm; + participation_method: ParticipationMethod; + }; +} diff --git a/front/app/api/phases_mini/usePhaseMini.ts b/front/app/api/phases_mini/usePhaseMini.ts new file mode 100644 index 000000000000..b52b82c8304b --- /dev/null +++ b/front/app/api/phases_mini/usePhaseMini.ts @@ -0,0 +1,23 @@ +import { useQuery } from '@tanstack/react-query'; +import { CLErrors } from 'typings'; + +import fetcher from 'utils/cl-react-query/fetcher'; + +import phasesMiniKeys from './keys'; +import { PhasesMiniKeys, PhaseMini } from './types'; + +const fetchPhaseMini = (id?: string) => + fetcher({ + path: `/phases/${id}`, + action: 'get', + }); + +const usePhaseMini = (id?: string) => { + return useQuery({ + queryKey: phasesMiniKeys.item({ id }), + queryFn: () => fetchPhaseMini(id), + enabled: !!id, + }); +}; + +export default usePhaseMini; From 3a45189d4e678bc730f762b4267d959aded72016 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 18:08:20 -0300 Subject: [PATCH 021/150] _ --- front/app/api/phases_mini/types.ts | 4 ++-- front/app/components/ProjectCard/getCTAMessage.ts | 3 ++- .../_shared/ProjectCarrousel/LightProjectCard/index.tsx | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/front/app/api/phases_mini/types.ts b/front/app/api/phases_mini/types.ts index 4c216eef6196..21bdb89d8213 100644 --- a/front/app/api/phases_mini/types.ts +++ b/front/app/api/phases_mini/types.ts @@ -10,12 +10,12 @@ export interface PhaseMini { data: PhaseMiniData; } -interface PhaseMiniData { +export interface PhaseMiniData { id: string; type: 'phase_mini'; attributes: { end_at: string | null; - input_term?: InputTerm; + input_term: InputTerm; participation_method: ParticipationMethod; }; } diff --git a/front/app/components/ProjectCard/getCTAMessage.ts b/front/app/components/ProjectCard/getCTAMessage.ts index 7c5aad65f531..1ef2dfb6240b 100644 --- a/front/app/components/ProjectCard/getCTAMessage.ts +++ b/front/app/components/ProjectCard/getCTAMessage.ts @@ -1,6 +1,7 @@ import { FormatMessage } from 'typings'; import { IPhaseData } from 'api/phases/types'; +import { PhaseMiniData } from 'api/phases_mini/types'; import { ActionDescriptors } from 'api/projects/types'; import { Localize } from 'hooks/useLocalize'; @@ -10,7 +11,7 @@ import { getInputTermMessage } from 'utils/i18n'; import messages from './messages'; interface Params { - phase: IPhaseData; + phase: IPhaseData | PhaseMiniData; actionDescriptors: ActionDescriptors; formatMessage: FormatMessage; localize: Localize; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/LightProjectCard/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/LightProjectCard/index.tsx index 4969d3912e6a..0431b674cd44 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/LightProjectCard/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/LightProjectCard/index.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { Box, Text, Title } from '@citizenlab/cl2-component-library'; import { RouteType } from 'routes'; -import usePhase from 'api/phases/usePhase'; +import usePhaseMini from 'api/phases_mini/usePhaseMini'; import useProjectImage from 'api/project_images/useProjectImage'; import { getProjectUrl } from 'api/projects/utils'; import { MiniProjectData } from 'api/projects_mini/types'; @@ -40,7 +40,7 @@ const LightProjectCard = ({ project, ml, mr, onKeyDown }: Props) => { }); const phaseId = project.relationships.current_phase?.data?.id; - const { data: phase } = usePhase(phaseId); + const { data: phase } = usePhaseMini(phaseId); const title = localize(project.attributes.title_multiloc); const imageVersions = image?.data.attributes.versions; From 555b18ba86ddb0159f72f50c9724021b15a3d60d Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 18:15:54 -0300 Subject: [PATCH 022/150] Fix types --- front/app/api/phases_mini/types.ts | 14 +++++++++++++- front/app/components/ProjectCard/getCTAMessage.ts | 3 ++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/front/app/api/phases_mini/types.ts b/front/app/api/phases_mini/types.ts index 21bdb89d8213..0516d85330f5 100644 --- a/front/app/api/phases_mini/types.ts +++ b/front/app/api/phases_mini/types.ts @@ -1,4 +1,6 @@ -import { InputTerm, ParticipationMethod } from 'api/phases/types'; +import { Multiloc, IRelationship } from 'typings'; + +import { InputTerm, ParticipationMethod, VotingMethod } from 'api/phases/types'; import { Keys } from 'utils/cl-react-query/types'; @@ -16,6 +18,16 @@ export interface PhaseMiniData { attributes: { end_at: string | null; input_term: InputTerm; + native_survey_button_multiloc?: Multiloc; participation_method: ParticipationMethod; + voting_method?: VotingMethod; + }; + relationships: { + project: { + data: IRelationship; + }; + report?: { + data: IRelationship | null; + }; }; } diff --git a/front/app/components/ProjectCard/getCTAMessage.ts b/front/app/components/ProjectCard/getCTAMessage.ts index 1ef2dfb6240b..01d10e22a9a6 100644 --- a/front/app/components/ProjectCard/getCTAMessage.ts +++ b/front/app/components/ProjectCard/getCTAMessage.ts @@ -41,7 +41,8 @@ const getCTAMessage = ({ return formatMessage(messages.vote); } } else if (participation_method === 'information') { - const hasReport = !!phase.relationships.report?.data; + // const hasReport = !!phase.relationships.report?.data; + const hasReport = false as any; return hasReport ? formatMessage(messages.readTheReport) From 455439ff27601325480cc04ac087c401b165be74 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 19:17:12 -0300 Subject: [PATCH 023/150] Simplify key arg --- front/app/api/phases_mini/keys.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/api/phases_mini/keys.ts b/front/app/api/phases_mini/keys.ts index df1799bae569..fd3ac4f74463 100644 --- a/front/app/api/phases_mini/keys.ts +++ b/front/app/api/phases_mini/keys.ts @@ -4,7 +4,7 @@ const baseKey = { type: 'phase_mini' }; const phasesKeys = { all: () => [baseKey], - item: ({ id }: { id: string | undefined | null }) => [ + item: ({ id }: { id?: string }) => [ { ...baseKey, operation: 'item', parameters: { id } }, ], } satisfies QueryKeys; From 13092e6b43cd224e4d9cabe34366081302154212 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 19:17:54 -0300 Subject: [PATCH 024/150] Remove temporary comment CTA message --- front/app/components/ProjectCard/getCTAMessage.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/front/app/components/ProjectCard/getCTAMessage.ts b/front/app/components/ProjectCard/getCTAMessage.ts index 01d10e22a9a6..1ef2dfb6240b 100644 --- a/front/app/components/ProjectCard/getCTAMessage.ts +++ b/front/app/components/ProjectCard/getCTAMessage.ts @@ -41,8 +41,7 @@ const getCTAMessage = ({ return formatMessage(messages.vote); } } else if (participation_method === 'information') { - // const hasReport = !!phase.relationships.report?.data; - const hasReport = false as any; + const hasReport = !!phase.relationships.report?.data; return hasReport ? formatMessage(messages.readTheReport) From fe500ea10a9ca7b624d00233f0fb0aa1a06bad07 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 19:30:16 -0300 Subject: [PATCH 025/150] Add skeleton to other carrousels --- .../components/Widgets/FinishedOrArchived/index.tsx | 13 +++++++++---- .../components/Widgets/FollowedItems/index.tsx | 12 +++++++++--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FinishedOrArchived/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FinishedOrArchived/index.tsx index e86535a19ff0..aa6aaa2a4eb2 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FinishedOrArchived/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FinishedOrArchived/index.tsx @@ -9,6 +9,7 @@ import useLocalize from 'hooks/useLocalize'; import EmptyState from '../_shared/EmptyState'; import ProjectCarrousel from '../_shared/ProjectCarrousel'; +import Skeleton from '../_shared/ProjectCarrousel/Skeleton'; import messages from './messages'; import Settings from './Settings'; @@ -21,13 +22,17 @@ interface Props { const FinishedOrArchived = ({ titleMultiloc, filterBy }: Props) => { const localize = useLocalize(); - const { data, hasNextPage, fetchNextPage } = useProjectsMini({ - endpoint: 'finished_or_archived', - filter_by: filterBy, - }); + const { data, hasNextPage, fetchNextPage, isInitialLoading } = + useProjectsMini({ + endpoint: 'finished_or_archived', + filter_by: filterBy, + }); const projects = data?.pages.map((page) => page.data).flat(); + if (isInitialLoading) { + return ; + } if (!projects) return null; if (projects.length === 0) { return ( diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FollowedItems/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FollowedItems/index.tsx index 864d20ed9a7e..efe1171798d5 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FollowedItems/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FollowedItems/index.tsx @@ -8,6 +8,7 @@ import useLocalize from 'hooks/useLocalize'; import EmptyState from '../_shared/EmptyState'; import ProjectCarrousel from '../_shared/ProjectCarrousel'; +import Skeleton from '../_shared/ProjectCarrousel/Skeleton'; import messages from './messages'; import Settings from './Settings'; @@ -19,11 +20,16 @@ interface Props { const FollowedItems = ({ titleMultiloc }: Props) => { const localize = useLocalize(); - const { data, hasNextPage, fetchNextPage } = useProjectsMini({ - endpoint: 'for_followed_item', - }); + const { data, hasNextPage, fetchNextPage, isInitialLoading } = + useProjectsMini({ + endpoint: 'for_followed_item', + }); const projects = data?.pages.map((page) => page.data).flat(); + if (isInitialLoading) { + return ; + } + if (!projects) return null; if (projects.length === 0) { return ( From 237c9528346585a7853376957b3d631dcec08140 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 19:38:34 -0300 Subject: [PATCH 026/150] Tweak skeleton spacing and stuff --- .../AdminPublicationsCarrousel/Skeleton/index.tsx | 0 .../ProjectCarrousel/ProjectCarrousel.stories.tsx | 2 +- .../ProjectCarrousel/Skeleton/CardSkeleton.tsx | 13 +++++++------ 3 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/ProjectCarrousel.stories.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/ProjectCarrousel.stories.tsx index 63034f75a221..5dddb5b85fdd 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/ProjectCarrousel.stories.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/ProjectCarrousel.stories.tsx @@ -20,7 +20,7 @@ const createData = (offset: number): MiniProjectData[] => { type: 'project_mini', attributes: { title_multiloc: { - en: `${offset + index} - Project title`, + en: `${offset + index} - Project title, but a bit longer`, }, slug: 'project-slug', action_descriptors: { diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx index 1ea17afc2e51..1114d02ee8b4 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx @@ -36,28 +36,29 @@ const CardSkeleton = ({ ml, mr }: Props) => { bgColor={theme.colors.tenantText} width={`${CARD_WIDTH}px`} borderRadius="16px" - height="24px" + height="20px" mt="8px" /> ); From 61c3549164ed36af50694bbcce10a9909c555478 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 19:53:03 -0300 Subject: [PATCH 027/150] Admin publication carrousel skeleton (WIP) --- .../Skeleton/CardSkeleton.tsx | 42 +++++++++++++++++++ .../Skeleton/Skeleton.stories.tsx | 16 +++++++ .../Skeleton/index.tsx | 42 +++++++++++++++++++ .../Widgets/_shared/ImageSkeleton.tsx | 25 +++++++++++ .../Skeleton/CardSkeleton.tsx | 27 +++--------- 5 files changed, 131 insertions(+), 21 deletions(-) create mode 100644 front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/CardSkeleton.tsx create mode 100644 front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/Skeleton.stories.tsx create mode 100644 front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ImageSkeleton.tsx diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/CardSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/CardSkeleton.tsx new file mode 100644 index 000000000000..847b72326044 --- /dev/null +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/CardSkeleton.tsx @@ -0,0 +1,42 @@ +import React from 'react'; + +import { Box, useBreakpoint, Shimmer } from '@citizenlab/cl2-component-library'; +import { useTheme } from 'styled-components'; + +import ImageSkeleton from '../../ImageSkeleton'; +import { BIG_CARD_WIDTH, SMALL_CARD_WIDTH } from '../constants'; + +interface Props { + ml?: string; + mr?: string; +} + +const CardSkeleton = ({ ml, mr }: Props) => { + const theme = useTheme(); + + const isSmallerThanPhone = useBreakpoint('phone'); + + const cardWidth = isSmallerThanPhone ? SMALL_CARD_WIDTH : BIG_CARD_WIDTH; + + return ( + + + + + + ); +}; + +export default CardSkeleton; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/Skeleton.stories.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/Skeleton.stories.tsx new file mode 100644 index 000000000000..4f109d472888 --- /dev/null +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/Skeleton.stories.tsx @@ -0,0 +1,16 @@ +import Skeleton from '.'; + +import type { Meta, StoryObj } from '@storybook/react'; + +const meta = { + title: 'HomepageBuilder/AdminPublicationCarrouselSkeleton', + component: Skeleton, + parameters: { + chromatic: { disableSnapshot: true }, + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Primary: Story = {}; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx index e69de29bb2d1..854826de4978 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx @@ -0,0 +1,42 @@ +import React from 'react'; + +import { useBreakpoint, Shimmer, Box } from '@citizenlab/cl2-component-library'; +import { useTheme } from 'styled-components'; + +import { DEFAULT_PADDING } from 'components/admin/ContentBuilder/constants'; + +import { CARD_GAP } from '../../BaseCarrousel/constants'; +import { CarrouselContainer } from '../../BaseCarrousel/Containers'; + +import CardSkeleton from './CardSkeleton'; + +const Skeleton = () => { + const isSmallerThanPhone = useBreakpoint('phone'); + const theme = useTheme(); + + return ( + + + + + + + + + ); +}; + +export default Skeleton; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ImageSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ImageSkeleton.tsx new file mode 100644 index 000000000000..7455740c1345 --- /dev/null +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ImageSkeleton.tsx @@ -0,0 +1,25 @@ +import React from 'react'; + +import { + Shimmer, + stylingConsts, + colors, +} from '@citizenlab/cl2-component-library'; +import styled from 'styled-components'; + +import { CARD_IMAGE_ASPECT_RATIO } from 'api/project_images/useProjectImages'; + +const StyledShimmer = styled(Shimmer)` + width: 100%; + display: flex; + aspect-ratio: ${CARD_IMAGE_ASPECT_RATIO}; + margin-right: 10px; + overflow: hidden; + border-radius: ${stylingConsts.borderRadius}; +`; + +const ImageSkeleton = () => { + return ; +}; + +export default ImageSkeleton; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx index 1114d02ee8b4..756bf371c5e6 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/CardSkeleton.tsx @@ -1,26 +1,11 @@ import React from 'react'; -import { - stylingConsts, - colors, - Shimmer, -} from '@citizenlab/cl2-component-library'; -import styled, { useTheme } from 'styled-components'; +import { colors, Shimmer, Box } from '@citizenlab/cl2-component-library'; +import { useTheme } from 'styled-components'; -import { CARD_IMAGE_ASPECT_RATIO } from 'api/project_images/useProjectImages'; - -import { CardContainer } from '../../BaseCard'; +import ImageSkeleton from '../../ImageSkeleton'; import { CARD_WIDTH } from '../constants'; -const ImageSkeleton = styled(Shimmer)` - width: 100%; - display: flex; - aspect-ratio: ${CARD_IMAGE_ASPECT_RATIO}; - margin-right: 10px; - overflow: hidden; - border-radius: ${stylingConsts.borderRadius}; -`; - interface Props { ml?: string; mr?: string; @@ -30,8 +15,8 @@ const CardSkeleton = ({ ml, mr }: Props) => { const theme = useTheme(); return ( - - + + { height="16px" mt="10px" /> - + ); }; From 6063331d03c12cd728a85490e5641df799a4da54 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 20:00:01 -0300 Subject: [PATCH 028/150] Finish admin publication skeleton --- .../Skeleton/CardSkeleton.tsx | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/CardSkeleton.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/CardSkeleton.tsx index 847b72326044..09eb042c8bcc 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/CardSkeleton.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/CardSkeleton.tsx @@ -1,6 +1,11 @@ import React from 'react'; -import { Box, useBreakpoint, Shimmer } from '@citizenlab/cl2-component-library'; +import { + Box, + useBreakpoint, + Shimmer, + colors, +} from '@citizenlab/cl2-component-library'; import { useTheme } from 'styled-components'; import ImageSkeleton from '../../ImageSkeleton'; @@ -15,7 +20,6 @@ const CardSkeleton = ({ ml, mr }: Props) => { const theme = useTheme(); const isSmallerThanPhone = useBreakpoint('phone'); - const cardWidth = isSmallerThanPhone ? SMALL_CARD_WIDTH : BIG_CARD_WIDTH; return ( @@ -23,17 +27,31 @@ const CardSkeleton = ({ ml, mr }: Props) => { + + ); From 511b4224bf83f16957a8f768f4ed6eed6797d20f Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 20:04:50 -0300 Subject: [PATCH 029/150] Use skeleton in admin pubs widgets --- .../components/Widgets/Published/index.tsx | 20 ++++++++++------ .../components/Widgets/Selection/index.tsx | 24 ++++++++++++------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx index 223fe546bc98..3462921ef8e7 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx @@ -7,6 +7,7 @@ import useAdminPublications from 'api/admin_publications/useAdminPublications'; import useLocalize from 'hooks/useLocalize'; import AdminPublicationsCarrousel from '../_shared/AdminPublicationsCarrousel'; +import Skeleton from '../_shared/AdminPublicationsCarrousel/Skeleton'; import EmptyState from '../_shared/EmptyState'; import messages from './messages'; @@ -19,16 +20,21 @@ interface Props { const Published = ({ titleMultiloc }: Props) => { const localize = useLocalize(); - const { data, hasNextPage, fetchNextPage } = useAdminPublications({ - pageSize: 6, - publicationStatusFilter: ['published'], - rootLevelOnly: true, - removeNotAllowedParents: true, - include_publications: true, - }); + const { data, hasNextPage, fetchNextPage, isInitialLoading } = + useAdminPublications({ + pageSize: 6, + publicationStatusFilter: ['published'], + rootLevelOnly: true, + removeNotAllowedParents: true, + include_publications: true, + }); const adminPublications = data?.pages.map((page) => page.data).flat(); + if (isInitialLoading) { + return ; + } + if (!adminPublications) return null; if (adminPublications.length === 0) { return ( diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Selection/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Selection/index.tsx index 214c9230606e..2f22f2b0497f 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Selection/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Selection/index.tsx @@ -7,6 +7,7 @@ import useAdminPublicationsByIds from 'api/admin_publications/useAdminPublicatio import useLocalize from 'hooks/useLocalize'; import AdminPublicationsCarrousel from '../_shared/AdminPublicationsCarrousel'; +import Skeleton from '../_shared/AdminPublicationsCarrousel/Skeleton'; import EmptyState from '../_shared/EmptyState'; import messages from './messages'; @@ -19,15 +20,16 @@ interface Props { const Selection = ({ titleMultiloc, adminPublicationIds }: Props) => { const localize = useLocalize(); - const { data, hasNextPage, fetchNextPage } = useAdminPublicationsByIds( - { - ids: adminPublicationIds, - pageSize: 6, - }, - { - enabled: adminPublicationIds.length > 0, - } - ); + const { data, hasNextPage, fetchNextPage, isInitialLoading } = + useAdminPublicationsByIds( + { + ids: adminPublicationIds, + pageSize: 6, + }, + { + enabled: adminPublicationIds.length > 0, + } + ); const adminPublications = data?.pages.map((page) => page.data).flat(); @@ -40,6 +42,10 @@ const Selection = ({ titleMultiloc, adminPublicationIds }: Props) => { ); } + if (isInitialLoading) { + return ; + } + if (!adminPublications) return null; return ( From 06e49d84bb06c27da2ec5d3dad6b64d2bc00fc10 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 20:07:00 -0300 Subject: [PATCH 030/150] Don't center events widget title --- front/app/components/LandingPages/citizen/EventsWidget.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/front/app/components/LandingPages/citizen/EventsWidget.tsx b/front/app/components/LandingPages/citizen/EventsWidget.tsx index fa414622eb9f..cbeac4456c2d 100644 --- a/front/app/components/LandingPages/citizen/EventsWidget.tsx +++ b/front/app/components/LandingPages/citizen/EventsWidget.tsx @@ -51,7 +51,6 @@ const Header = styled.div` const StyledTitle = styled(Title)` ${media.phone` - text-align: center; margin: 0; `}; `; From b8c242c3bf7d02a721295ed56135b8925fc5936e Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Mon, 9 Dec 2024 20:25:32 -0300 Subject: [PATCH 031/150] Add skeleton for signed in header --- .../SignedInHeader/Skeleton/index.tsx | 36 +++++++++++++++++++ .../HomePage/SignedInHeader/index.tsx | 26 ++++++++++---- 2 files changed, 55 insertions(+), 7 deletions(-) create mode 100644 front/app/containers/HomePage/SignedInHeader/Skeleton/index.tsx diff --git a/front/app/containers/HomePage/SignedInHeader/Skeleton/index.tsx b/front/app/containers/HomePage/SignedInHeader/Skeleton/index.tsx new file mode 100644 index 000000000000..431b7bd847ab --- /dev/null +++ b/front/app/containers/HomePage/SignedInHeader/Skeleton/index.tsx @@ -0,0 +1,36 @@ +import React from 'react'; + +import { + Shimmer, + colors, + useBreakpoint, +} from '@citizenlab/cl2-component-library'; + +import { heights } from '..'; + +interface Props { + homepageSettingColor?: string; + homepageSettingOpacity?: number; +} + +const Skeleton = ({ homepageSettingColor, homepageSettingOpacity }: Props) => { + const smallerThanPhone = useBreakpoint('phone'); + const smallerThanTablet = useBreakpoint('tablet'); + + const getHeight = () => { + if (smallerThanPhone) return heights.phone; + if (smallerThanTablet) return heights.tablet; + return heights.desktop; + }; + + const getColor = () => { + if (!homepageSettingColor) return colors.grey300; + if (!homepageSettingOpacity) return homepageSettingColor; + if (homepageSettingOpacity < 30) return colors.grey300; + return homepageSettingColor; + }; + + return ; +}; + +export default Skeleton; diff --git a/front/app/containers/HomePage/SignedInHeader/index.tsx b/front/app/containers/HomePage/SignedInHeader/index.tsx index b7486e6a8de4..21bc8bce86fb 100644 --- a/front/app/containers/HomePage/SignedInHeader/index.tsx +++ b/front/app/containers/HomePage/SignedInHeader/index.tsx @@ -20,6 +20,8 @@ import { trackEventByName } from 'utils/analytics'; import tracks from '../tracks'; +import Skeleton from './Skeleton'; + const CompleteProfileStep = lazy(() => import('./CompleteProfileStep')); const VerificationOnboardingStep = lazy( () => import('./VerificationOnboardingStep') @@ -27,7 +29,7 @@ const VerificationOnboardingStep = lazy( const CustomCTAStep = lazy(() => import('./CustomCTAStep')); const FallbackStep = lazy(() => import('./FallbackStep')); -const heights = { +export const heights = { phone: 300, tablet: 250, desktop: 200, @@ -60,7 +62,8 @@ const SignedInHeader = ({ homepageSettings: Partial; isContentBuilderDisplay?: boolean; }) => { - const { data: currentOnboardingCampaign } = useCurrentOnboardingCampaign(); + const { data: currentOnboardingCampaign, isInitialLoading } = + useCurrentOnboardingCampaign(); const { mutate: dismissOnboardingCampaign } = useDismissOnboardingCampaign(); const handleSkip = (name: OnboardingCampaignName) => () => { @@ -70,17 +73,26 @@ const SignedInHeader = ({ dismissOnboardingCampaign(name); }; + const homepageSettingColor = + homepageSettings.banner_signed_in_header_overlay_color; + const homepageSettingOpacity = + homepageSettings.banner_signed_in_header_overlay_opacity; + + if (isInitialLoading) { + return ( + + ); + } + if (!currentOnboardingCampaign) return null; const onboardingCampaignName = isContentBuilderDisplay ? 'default' : currentOnboardingCampaign.data.attributes.name; - const homepageSettingColor = - homepageSettings.banner_signed_in_header_overlay_color; - const homepageSettingOpacity = - homepageSettings.banner_signed_in_header_overlay_opacity; - return ( Date: Mon, 9 Dec 2024 20:57:22 -0300 Subject: [PATCH 032/150] Spotlight image loading state --- .../Widgets/Spotlight/Spotlight.stories.tsx | 1 + .../Widgets/Spotlight/Spotlight.tsx | 18 +++++++++++++- .../components/Widgets/Spotlight/index.tsx | 24 +++++++++++++++---- 3 files changed, 37 insertions(+), 6 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.stories.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.stories.tsx index a08e6c76ae86..41eed16fb22f 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.stories.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.stories.tsx @@ -30,6 +30,7 @@ export const Standard: Story = { args: { title: 'People at the Heart of Everything We Do', imgSrc: `${getOrigin()}/images/city.png`, + imageLoading: false, description: 'Join local projects, sharing your ideas, or contributing to discussions, your voice is key to building a better Newham.', buttonText: 'Join other residents', diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx index 9d6abd4e64af..12680071bf2c 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx @@ -8,6 +8,7 @@ import { stylingConsts, Title, colors, + Shimmer, } from '@citizenlab/cl2-component-library'; import { DEFAULT_PADDING } from 'components/admin/ContentBuilder/constants'; @@ -18,6 +19,7 @@ import QuillEditedContent from 'components/UI/QuillEditedContent'; interface Props { title: string; imgSrc?: string; + imageLoading: boolean; description?: string; buttonText?: string; buttonLink?: string; @@ -28,6 +30,7 @@ interface Props { const Spotlight = ({ title, imgSrc, + imageLoading, description, buttonText, buttonLink, @@ -35,6 +38,7 @@ const Spotlight = ({ userCount, }: Props) => { const isSmallerThanPhone = useBreakpoint('phone'); + console.log({ imageLoading }); return ( - ) : null} + ) : ( + <> + {imageLoading && ( + + )} + + )} diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/index.tsx index 2881ed8a065a..d6c654d0089c 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/index.tsx @@ -59,6 +59,7 @@ const Spotlight = ({ ); } @@ -66,13 +67,25 @@ const Spotlight = ({ const publication = publicationType === 'project' ? project : folder; const image = publicationType === 'project' ? projectImage : folderImage; - if (!publication) return null; - const avatarIds = - publication.data.relationships.avatars?.data?.map((avatar) => avatar.id) ?? + publication?.data.relationships.avatars?.data?.map((avatar) => avatar.id) ?? []; - const link = `/${publicationType}s/${publication.data.attributes.slug}`; + const link = publication + ? `/${publicationType}s/${publication.data.attributes.slug}` + : undefined; + + const getImageLoading = () => { + if (publicationType === 'project') { + return !project; + } + + if (publicationType === 'folder') { + return !folder; + } + + return false; + }; return ( ); }; From a6d32268db855af6a55f8aa56dfd1b18bc7622e9 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Tue, 10 Dec 2024 12:10:06 +0100 Subject: [PATCH 033/150] Only capitalize first letter for statuses --- front/app/components/FilterBoxes/StatusFilter.tsx | 4 ++-- front/app/utils/helperUtils.ts | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/front/app/components/FilterBoxes/StatusFilter.tsx b/front/app/components/FilterBoxes/StatusFilter.tsx index a321a9317c1c..59255f79d71d 100644 --- a/front/app/components/FilterBoxes/StatusFilter.tsx +++ b/front/app/components/FilterBoxes/StatusFilter.tsx @@ -9,7 +9,7 @@ import { colors, ColorIndicator, } from '@citizenlab/cl2-component-library'; -import { capitalize, get } from 'lodash-es'; +import { get } from 'lodash-es'; import { darken } from 'polished'; import styled from 'styled-components'; @@ -19,7 +19,7 @@ import T from 'components/T'; import { ScreenReaderOnly } from 'utils/a11y'; import { FormattedMessage, useIntl } from 'utils/cl-intl'; -import { removeFocusAfterMouseClick } from 'utils/helperUtils'; +import { capitalize, removeFocusAfterMouseClick } from 'utils/helperUtils'; import InputFilterCollapsible from './InputFilterCollapsible'; import messages from './messages'; diff --git a/front/app/utils/helperUtils.ts b/front/app/utils/helperUtils.ts index 098634132414..0b8182306e1e 100644 --- a/front/app/utils/helperUtils.ts +++ b/front/app/utils/helperUtils.ts @@ -163,6 +163,10 @@ export function isString(s: unknown): s is string { return typeof s === 'string'; } +export function capitalize(string: string) { + return string.charAt(0).toUpperCase() + string.slice(1); +} + export const isTopBarNavActive = ( basePath: string, pathname: string, From 074d90412b9c28b17d21c71924b1e13effc49468 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Tue, 10 Dec 2024 12:13:50 +0100 Subject: [PATCH 034/150] Fix in status dropdown --- .../IdeaCards/shared/Filters/StatusFilterDropdown.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/front/app/components/IdeaCards/shared/Filters/StatusFilterDropdown.tsx b/front/app/components/IdeaCards/shared/Filters/StatusFilterDropdown.tsx index f658cd452f25..af4931ac2857 100644 --- a/front/app/components/IdeaCards/shared/Filters/StatusFilterDropdown.tsx +++ b/front/app/components/IdeaCards/shared/Filters/StatusFilterDropdown.tsx @@ -1,7 +1,5 @@ import React, { useMemo } from 'react'; -import { capitalize } from 'lodash-es'; - import useIdeaStatuses from 'api/idea_statuses/useIdeaStatuses'; import useLocalize from 'hooks/useLocalize'; @@ -9,6 +7,7 @@ import useLocalize from 'hooks/useLocalize'; import FilterSelector from 'components/FilterSelector'; import { FormattedMessage, useIntl } from 'utils/cl-intl'; +import { capitalize } from 'utils/helperUtils'; import messages from '../../messages'; From 7d1dde0fa683d2a35ca480b65838b7a62eb209fc Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 10:29:54 -0300 Subject: [PATCH 035/150] Refactor avatar bubbles a little --- .../components/AvatarBubbles/Containers.tsx | 65 +++++++++++++++++ .../app/components/AvatarBubbles/Skeleton.tsx | 12 ++++ front/app/components/AvatarBubbles/index.tsx | 69 ++++--------------- front/app/components/AvatarBubbles/utils.ts | 29 ++++++++ .../Widgets/Spotlight/Spotlight.tsx | 1 - 5 files changed, 118 insertions(+), 58 deletions(-) create mode 100644 front/app/components/AvatarBubbles/Containers.tsx create mode 100644 front/app/components/AvatarBubbles/Skeleton.tsx create mode 100644 front/app/components/AvatarBubbles/utils.ts diff --git a/front/app/components/AvatarBubbles/Containers.tsx b/front/app/components/AvatarBubbles/Containers.tsx new file mode 100644 index 000000000000..7b3bf095f325 --- /dev/null +++ b/front/app/components/AvatarBubbles/Containers.tsx @@ -0,0 +1,65 @@ +import React from 'react'; + +import { Box } from '@citizenlab/cl2-component-library'; + +interface OuterContainerProps { + className?: string; + bubbleSize: number; + children: React.ReactNode; +} + +export const OuterContainer = ({ + className, + bubbleSize, + children, +}: OuterContainerProps) => { + const containerHeight = bubbleSize + 2; + + return ( + + {children} + + ); +}; + +interface BubbleContainerProps { + bubbleSize: number; + overlap: number; + avatarImagesCount: number; + children: React.ReactNode; +} + +export const BubbleContainer = ({ + bubbleSize, + overlap, + avatarImagesCount, + children, +}: BubbleContainerProps) => { + const containerHeight = bubbleSize + 2; + + return ( + + {children} + + ); +}; diff --git a/front/app/components/AvatarBubbles/Skeleton.tsx b/front/app/components/AvatarBubbles/Skeleton.tsx new file mode 100644 index 000000000000..b04f7f6dc321 --- /dev/null +++ b/front/app/components/AvatarBubbles/Skeleton.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +// import { Box, Shimmer } from '@citizenlab/cl2-component-library'; + +interface Props { + size: number; +} + +const Skeleton = () => { + return <>; +}; + +export default Skeleton; diff --git a/front/app/components/AvatarBubbles/index.tsx b/front/app/components/AvatarBubbles/index.tsx index aa2a032b4f71..2d621bbb93f7 100644 --- a/front/app/components/AvatarBubbles/index.tsx +++ b/front/app/components/AvatarBubbles/index.tsx @@ -11,38 +11,10 @@ import useRandomAvatars from 'api/avatars/useRandomAvatars'; import { ScreenReaderOnly } from 'utils/a11y'; import { useIntl } from 'utils/cl-intl'; +import { OuterContainer, BubbleContainer } from './Containers'; import messages from './messages'; import placeholderImage from './user.png'; - -const getFontSize = (size: number, digits: number) => { - if (size >= 34) { - if (digits <= 2) { - return 14; - } - - if (digits === 3) { - return 12; - } - - if (digits >= 4) { - return 11; - } - } else { - if (digits <= 2) { - return 12; - } - - if (digits === 3) { - return 11; - } - - if (digits >= 4) { - return 10; - } - } - - return 14; -}; +import { getFontSize } from './utils'; const AvatarImageBubble = styled.img<{ overlap: number; @@ -106,10 +78,10 @@ export const AvatarBubbles = ({ const avatars = avatarIds ? avatarsWithIds : randomAvatars?.data; - if (avatars && isNumber(currentUserCount) && currentUserCount > 0) { - const bubbleSize = size + 4; - const imageSize = bubbleSize > 160 ? 'large' : 'medium'; + const bubbleSize = size + 4; + const imageSize = bubbleSize > 160 ? 'large' : 'medium'; + if (avatars && isNumber(currentUserCount) && currentUserCount > 0) { const avatarsWithImage = avatars.filter( (avatar) => avatar.attributes.avatar[imageSize] ) as IAvatarData[]; @@ -129,7 +101,6 @@ export const AvatarBubbles = ({ const avatarImagesCount = avatarsToShow.length; const remainingUsers = currentUserCount - avatarImagesCount; - const containerHeight = bubbleSize + 2; let letterAbbreviation = ''; let truncatedUserCount = remainingUsers; @@ -151,27 +122,11 @@ export const AvatarBubbles = ({ if (avatarIds || context || avatarImagesCount > 0) { return ( - - + {avatarsToShow.map((avatar, index) => ( ))} - + {remainingUsers > 0 && (showParticipantText ? ( - + ); } } else if (avatars !== undefined) { diff --git a/front/app/components/AvatarBubbles/utils.ts b/front/app/components/AvatarBubbles/utils.ts new file mode 100644 index 000000000000..3b5a0a744a91 --- /dev/null +++ b/front/app/components/AvatarBubbles/utils.ts @@ -0,0 +1,29 @@ +export const getFontSize = (size: number, digits: number) => { + if (size >= 34) { + if (digits <= 2) { + return 14; + } + + if (digits === 3) { + return 12; + } + + if (digits >= 4) { + return 11; + } + } else { + if (digits <= 2) { + return 12; + } + + if (digits === 3) { + return 11; + } + + if (digits >= 4) { + return 10; + } + } + + return 14; +}; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx index 12680071bf2c..aa6bb094b9c8 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx @@ -38,7 +38,6 @@ const Spotlight = ({ userCount, }: Props) => { const isSmallerThanPhone = useBreakpoint('phone'); - console.log({ imageLoading }); return ( Date: Tue, 10 Dec 2024 14:49:49 +0100 Subject: [PATCH 036/150] restored initials_avatars code after fixing s3 image issues + fix flaky spec --- back/app/services/anonymize_user_service.rb | 15 ++++++--------- back/spec/acceptance/phases_spec.rb | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/back/app/services/anonymize_user_service.rb b/back/app/services/anonymize_user_service.rb index 2139b5cb53bc..792701bd99ae 100644 --- a/back/app/services/anonymize_user_service.rb +++ b/back/app/services/anonymize_user_service.rb @@ -116,17 +116,14 @@ def random_email(first_name, last_name) "#{email.split('@').first}_#{SecureRandom.uuid[...6]}@anonymized.com" end - def random_avatar_assignment(_first_name, _last_name, gender) + def random_avatar_assignment(first_name, last_name, gender) gender = mismatch_gender(gender) if rand(30) == 0 - # Some initials avatars, like do_avatar.png are currently broken. - # We are no longer using the initials avatars as a temporary fix. - # if rand(5) == 0 - # { 'remote_avatar_url' => random_face_avatar_url(gender) } - # else - # { 'remote_avatar_url' => "#{@initials_avatars_url}#{(first_name[0] + last_name[0]).downcase}_avatar.png" } - # end - { 'remote_avatar_url' => random_face_avatar_url(gender) } + if rand(5) == 0 + { 'remote_avatar_url' => random_face_avatar_url(gender) } + else + { 'remote_avatar_url' => "#{@initials_avatars_url}#{(first_name[0] + last_name[0]).downcase}_avatar.png" } + end rescue StandardError => e ErrorReporter.report e {} diff --git a/back/spec/acceptance/phases_spec.rb b/back/spec/acceptance/phases_spec.rb index 46a2a3ef3c47..b3c19a280caf 100644 --- a/back/spec/acceptance/phases_spec.rb +++ b/back/spec/acceptance/phases_spec.rb @@ -550,7 +550,7 @@ phase, 'changed_manual_voters_amount', User.admin.first, - phase.updated_at.to_i, + anything, payload: { change: [nil, manual_voters_amount] }, project_id: phase.project_id ).exactly(1).times From 44461a63f298514672bceea31ac6245ac1b12009 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 10:53:29 -0300 Subject: [PATCH 037/150] Add shimmer skeleton for avatars --- .../app/components/AvatarBubbles/Skeleton.tsx | 39 +++++++++++++++++-- .../Widgets/Spotlight/Spotlight.stories.tsx | 2 +- .../Widgets/Spotlight/Spotlight.tsx | 30 +++++++------- .../components/Widgets/Spotlight/index.tsx | 8 ++-- 4 files changed, 57 insertions(+), 22 deletions(-) diff --git a/front/app/components/AvatarBubbles/Skeleton.tsx b/front/app/components/AvatarBubbles/Skeleton.tsx index b04f7f6dc321..9adf6d37a00d 100644 --- a/front/app/components/AvatarBubbles/Skeleton.tsx +++ b/front/app/components/AvatarBubbles/Skeleton.tsx @@ -1,12 +1,43 @@ import React from 'react'; -// import { Box, Shimmer } from '@citizenlab/cl2-component-library'; + +import { Shimmer, colors } from '@citizenlab/cl2-component-library'; + +import { OuterContainer, BubbleContainer } from './Containers'; interface Props { - size: number; + bubbleSize?: number; + overlap?: number; + avatarImagesCount: number; } -const Skeleton = () => { - return <>; +const Skeleton = ({ + bubbleSize = 38, + overlap = 12, + avatarImagesCount, +}: Props) => { + return ( + + + {[...Array(avatarImagesCount)].map((_, index) => ( + + ))} + + + ); }; export default Skeleton; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.stories.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.stories.tsx index 41eed16fb22f..a6331d93950a 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.stories.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.stories.tsx @@ -30,7 +30,7 @@ export const Standard: Story = { args: { title: 'People at the Heart of Everything We Do', imgSrc: `${getOrigin()}/images/city.png`, - imageLoading: false, + loading: false, description: 'Join local projects, sharing your ideas, or contributing to discussions, your voice is key to building a better Newham.', buttonText: 'Join other residents', diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx index aa6bb094b9c8..e23dbcb37494 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx @@ -13,13 +13,14 @@ import { import { DEFAULT_PADDING } from 'components/admin/ContentBuilder/constants'; import AvatarBubbles from 'components/AvatarBubbles'; +import Skeleton from 'components/AvatarBubbles/Skeleton'; import Button from 'components/UI/Button'; import QuillEditedContent from 'components/UI/QuillEditedContent'; interface Props { title: string; imgSrc?: string; - imageLoading: boolean; + loading: boolean; description?: string; buttonText?: string; buttonLink?: string; @@ -30,7 +31,7 @@ interface Props { const Spotlight = ({ title, imgSrc, - imageLoading, + loading, description, buttonText, buttonLink, @@ -78,16 +79,19 @@ const Spotlight = ({ )} - {typeof userCount === 'number' && userCount > 0 && ( - - - - )} + + + {loading ? ( + + ) : ( + + )} + ) : ( <> - {imageLoading && ( + {loading && ( ); } @@ -69,13 +69,13 @@ const Spotlight = ({ const avatarIds = publication?.data.relationships.avatars?.data?.map((avatar) => avatar.id) ?? - []; + undefined; const link = publication ? `/${publicationType}s/${publication.data.attributes.slug}` : undefined; - const getImageLoading = () => { + const getLoading = () => { if (publicationType === 'project') { return !project; } @@ -96,7 +96,7 @@ const Spotlight = ({ // In this case we don't want that- we just want the empty string. buttonLink={link} imgSrc={image?.data.attributes.versions.large ?? undefined} - imageLoading={getImageLoading()} + loading={getLoading()} avatarIds={avatarIds} userCount={publication?.data.attributes.participants_count} /> From cfc16500a673dbdbe90765882771219d0e66ee32 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 10:59:20 -0300 Subject: [PATCH 038/150] Fix invalid dom nesting error --- .../ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx index e23dbcb37494..9121cf1d6257 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx @@ -63,7 +63,7 @@ const Spotlight = ({ {title} {description && ( - +
From e4badbad1b14c4771251faf02f492e05d75702d2 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 11:09:56 -0300 Subject: [PATCH 039/150] Only show followed skeleton if user authenticated --- .../ContentBuilder/components/Widgets/FollowedItems/index.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FollowedItems/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FollowedItems/index.tsx index efe1171798d5..85191ad0b8f3 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FollowedItems/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FollowedItems/index.tsx @@ -2,6 +2,7 @@ import React from 'react'; import { Multiloc } from 'typings'; +import useAuthUser from 'api/me/useAuthUser'; import useProjectsMini from 'api/projects_mini/useProjectsMini'; import useLocalize from 'hooks/useLocalize'; @@ -19,6 +20,7 @@ interface Props { const FollowedItems = ({ titleMultiloc }: Props) => { const localize = useLocalize(); + const { data: authUser } = useAuthUser(); const { data, hasNextPage, fetchNextPage, isInitialLoading } = useProjectsMini({ @@ -26,7 +28,7 @@ const FollowedItems = ({ titleMultiloc }: Props) => { }); const projects = data?.pages.map((page) => page.data).flat(); - if (isInitialLoading) { + if (isInitialLoading && !!authUser?.data) { return ; } From debe9b391b3046ba079a7c2ea42b3414b6c9f5b0 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 11:16:01 -0300 Subject: [PATCH 040/150] Link to correct endpoint --- front/app/api/phases_mini/usePhaseMini.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/api/phases_mini/usePhaseMini.ts b/front/app/api/phases_mini/usePhaseMini.ts index b52b82c8304b..2325da47d0f8 100644 --- a/front/app/api/phases_mini/usePhaseMini.ts +++ b/front/app/api/phases_mini/usePhaseMini.ts @@ -8,7 +8,7 @@ import { PhasesMiniKeys, PhaseMini } from './types'; const fetchPhaseMini = (id?: string) => fetcher({ - path: `/phases/${id}`, + path: `/phases/${id}/mini`, action: 'get', }); From 829f6a055f9e36d2ea0ff20b4559ab3ec52be0cb Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Tue, 10 Dec 2024 14:23:01 +0000 Subject: [PATCH 041/150] [TAN-2042] Remove not_allowed_parents from FE --- front/app/api/admin_publications/useAdminPublications.ts | 2 -- .../useAdminPublicationsStatusCounts.ts | 2 -- 2 files changed, 4 deletions(-) diff --git a/front/app/api/admin_publications/useAdminPublications.ts b/front/app/api/admin_publications/useAdminPublications.ts index b27e019f8ef7..2c396b668445 100644 --- a/front/app/api/admin_publications/useAdminPublications.ts +++ b/front/app/api/admin_publications/useAdminPublications.ts @@ -16,7 +16,6 @@ export const fetchAdminPublications = (filters: IQueryParameters) => { pageNumber, pageSize, rootLevelOnly, - removeNotAllowedParents, publicationStatusFilter, childrenOfId, topicIds, @@ -31,7 +30,6 @@ export const fetchAdminPublications = (filters: IQueryParameters) => { 'page[number]': pageNumber || 1, 'page[size]': pageSize || 1000, depth: rootLevelOnly ? 0 : undefined, - remove_not_allowed_parents: removeNotAllowedParents, publication_statuses: publicationStatusFilter, folder: childrenOfId, topics: topicIds, diff --git a/front/app/api/admin_publications_status_counts/useAdminPublicationsStatusCounts.ts b/front/app/api/admin_publications_status_counts/useAdminPublicationsStatusCounts.ts index 48098feb33b1..cc5c8e145951 100644 --- a/front/app/api/admin_publications_status_counts/useAdminPublicationsStatusCounts.ts +++ b/front/app/api/admin_publications_status_counts/useAdminPublicationsStatusCounts.ts @@ -10,7 +10,6 @@ import { IStatusCounts, AdminPublicationsStatusCountsKeys } from './types'; export const fetchStatusCounts = ({ rootLevelOnly, - removeNotAllowedParents, publicationStatusFilter, childrenOfId, topicIds, @@ -26,7 +25,6 @@ export const fetchStatusCounts = ({ 'page[size]': undefined, 'page[number]': undefined, depth: rootLevelOnly ? 0 : undefined, - remove_not_allowed_parents: removeNotAllowedParents, publication_statuses: publicationStatusFilter, folder: childrenOfId, topics: topicIds, From 46be1aea30666b8f1023c20f63803f23a31cb1b6 Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Tue, 10 Dec 2024 14:56:16 +0000 Subject: [PATCH 042/150] [TAN-2042] Remove remove_not_allowed_parents from BE --- .../admin_publications_filtering_service.rb | 15 -------- .../acceptance/admin_publications_spec.rb | 36 +++++++++---------- ...min_publications_filtering_service_spec.rb | 23 ------------ 3 files changed, 17 insertions(+), 57 deletions(-) diff --git a/back/app/services/admin_publications_filtering_service.rb b/back/app/services/admin_publications_filtering_service.rb index af394afb5fb5..e84e0c841951 100644 --- a/back/app/services/admin_publications_filtering_service.rb +++ b/back/app/services/admin_publications_filtering_service.rb @@ -20,21 +20,6 @@ def for_homepage_filter(scope) scope.where(publication_type: Project.name) end - # This filter removes AdminPublications that represent folders, - # which contain *only* projects which should not be visible to the current user. - add_filter('remove_not_allowed_parents') do |scope, options| - next scope unless ['true', true, '1'].include? options[:remove_not_allowed_parents] - - # We remove parents that have only draft projects - parents_with_visible_children = scope.where(id: scope.not_draft.filter_map(&:parent_id).uniq) - parents_without_any_children = scope.where(children_allowed: true, children_count: 0) - non_parents = scope.where(children_allowed: false) - - parents_with_visible_children - .or(parents_without_any_children) - .or(non_parents) - end - add_filter('by_publication_status') do |scope, options| publication_status = options[:publication_statuses] diff --git a/back/spec/acceptance/admin_publications_spec.rb b/back/spec/acceptance/admin_publications_spec.rb index 672278f402c6..4563c62b772d 100644 --- a/back/spec/acceptance/admin_publications_spec.rb +++ b/back/spec/acceptance/admin_publications_spec.rb @@ -39,7 +39,6 @@ parameter :search, 'Search text of title, description, preview, and slug', required: false parameter :publication_statuses, 'Return only publications with the specified publication statuses (i.e. given an array of publication statuses); always includes folders; returns all publications by default (OR)', required: false parameter :folder, 'Filter by folder (project folder id)', required: false - parameter :remove_not_allowed_parents, 'Filter out folders which contain only projects that are not visible to the user', required: false parameter :only_projects, 'Include projects only (no folders)', required: false parameter :filter_can_moderate, 'Filter out the projects the current_user is not allowed to moderate. False by default', required: false parameter :filter_is_moderator_of, 'Filter out the publications the current_user is not moderator of. False by default', required: false @@ -407,34 +406,37 @@ parameter :topics, 'Filter by topics (AND)', required: false parameter :areas, 'Filter by areas (AND)', required: false parameter :publication_statuses, 'Return only publications with the specified publication statuses (i.e. given an array of publication statuses); always includes folders; returns all publications by default', required: false - parameter :remove_not_allowed_parents, 'Filter out folders with no visible children for the current user', required: false parameter :folder, 'Filter by folder (project folder id)', required: false parameter :include_publications, 'Include the related publications and associated items', required: false example 'Listed admin publications have correct visible children count', document: false do - do_request(folder: nil, remove_not_allowed_parents: true) + do_request(folder: nil) expect(status).to eq(200) json_response = json_parse(response_body) # Only 3 of initial 6 projects are not in folder - expect(json_response[:data].size).to eq 3 - # Only 1 folder expected - Draft folder created at top of file is not visible to resident, - # nor should a folder with only a draft project in it - expect(json_response[:data].map { |d| d.dig(:relationships, :publication, :data, :type) }.count('folder')).to eq 1 + expect(json_response[:data].size).to eq 4 + # Only 2 folders expected - Draft folder created at top of file is not visible to resident, + expect(json_response[:data].map { |d| d.dig(:relationships, :publication, :data, :type) }.count('folder')).to eq 2 # 3 projects are inside folder, 3 top-level projects remain, of which 1 is not visible (draft) expect(json_response[:data].map { |d| d.dig(:relationships, :publication, :data, :type) }.count('project')).to eq 2 - # Only the two non-draft projects are visible to resident - expect(json_response[:data].find { |d| d.dig(:relationships, :publication, :data, :type) == 'folder' }.dig(:attributes, :visible_children_count)).to eq 2 + + folders_data = (json_response[:data].select { |d| d.dig(:relationships, :publication, :data, :type) == 'folder' }) + # Only the two non-draft projects (in a folder) are visible to resident + expect(folders_data.map { |d| d.dig(:attributes, :visible_children_count) }).to match_array [0, 2] end - example 'Visible children count should take account with applied filters', document: false do + example 'Visible children count should take account of applied filters', document: false do projects.first.admin_publication.update! publication_status: 'archived' - do_request(folder: nil, publication_statuses: ['published'], remove_not_allowed_parents: true) + do_request(folder: nil, publication_statuses: ['published']) expect(status).to eq(200) json_response = json_parse(response_body) - expect(json_response[:data].size).to eq 2 - expect(json_response[:data].map { |d| d.dig(:relationships, :publication, :data, :type) }.count('folder')).to eq 1 + expect(json_response[:data].size).to eq 3 + expect(json_response[:data].map { |d| d.dig(:relationships, :publication, :data, :type) }.count('folder')).to eq 2 expect(json_response[:data].map { |d| d.dig(:relationships, :publication, :data, :type) }.count('project')).to eq 1 - expect(json_response[:data].find { |d| d.dig(:relationships, :publication, :data, :type) == 'folder' }.dig(:attributes, :visible_children_count)).to eq 1 + + folders_data = (json_response[:data].select { |d| d.dig(:relationships, :publication, :data, :type) == 'folder' }) + # Only the one non-draft project (in a folder) is visible to resident + expect(folders_data.map { |d| d.dig(:attributes, :visible_children_count) }).to match_array [0, 1] end context 'search param' do @@ -624,7 +626,6 @@ parameter :search, 'Search text of title, description, preview, and slug', required: false parameter :publication_statuses, 'Return only publications with the specified publication statuses (i.e. given an array of publication statuses); always includes folders; returns all publications by default (OR)', required: false parameter :folder, 'Filter by folder (project folder id)', required: false - parameter :remove_not_allowed_parents, 'Filter out folders which contain only projects that are not visible to the user', required: false parameter :only_projects, 'Include projects only (no folders)', required: false parameter :filter_can_moderate, 'Filter out the projects the user is allowed to moderate. False by default', required: false parameter :filter_is_moderator_of, 'Filter out the publications the user is not moderator of. False by default', required: false @@ -674,7 +675,6 @@ parameter :search, 'Search text of title, description, preview, and slug', required: false parameter :publication_statuses, 'Return only publications with the specified publication statuses (i.e. given an array of publication statuses); always includes folders; returns all publications by default (OR)', required: false parameter :folder, 'Filter by folder (project folder id)', required: false - parameter :remove_not_allowed_parents, 'Filter out folders which contain only projects that are not visible to the user', required: false parameter :only_projects, 'Include projects only (no folders)', required: false parameter :filter_can_moderate, 'Filter out the projects the user is allowed to moderate. False by default', required: false parameter :filter_is_moderator_of, 'Filter out the publications the user is not moderator of. False by default', required: false @@ -806,7 +806,6 @@ end parameter :depth, 'Filter by depth', required: false parameter :publication_statuses, 'Return only publications with the specified publication statuses (i.e. given an array of publication statuses); always includes folders; returns all publications by default (OR)', required: false - parameter :remove_not_allowed_parents, 'Filter out folders which contain only projects that are not visible to the user', required: false parameter :include_publications, 'Include the related publications and associated items', required: false example_request 'Index action does not invoke unnecessary queries' do @@ -828,11 +827,10 @@ do_request( page: { size: 6, number: 1 }, depth: 0, - remove_not_allowed_parents: 'true', publication_statuses: %w[published archived], include_publications: 'true' ) - end.not_to exceed_query_limit(123) + end.not_to exceed_query_limit(122) assert_status 200 end diff --git a/back/spec/services/admin_publications_filtering_service_spec.rb b/back/spec/services/admin_publications_filtering_service_spec.rb index 25ccd24cac3f..7b9b6ee53398 100644 --- a/back/spec/services/admin_publications_filtering_service_spec.rb +++ b/back/spec/services/admin_publications_filtering_service_spec.rb @@ -33,29 +33,6 @@ end end - context 'when a normal user searching from the home page' do - let(:options) { { depth: 0, remove_not_allowed_parents: true, publication_statuses: %w[archived published] } } - let(:base_scope) { Pundit.policy_scope(create(:user), AdminPublication.includes(:parent)) } - - include_examples 'when a user searching from the home page' - - it 'does not include parents when the user has no access to its children' do - expect(result.ids).not_to include(*tree_mock.admin_only_parents.ids) - end - end - - context 'when an admin searching from the home page' do - let(:options) { { depth: '0', remove_not_allowed_parents: 'true', publication_statuses: %w[archived published] } } - let(:base_scope) { Pundit.policy_scope(create(:admin), AdminPublication.includes(:parent)) } - - include_examples 'when a user searching from the home page' - - it 'does include parents when the admin has access to its children' do - # we use not_draft because we filter out draft projects by publication_statuses param - expect(result.ids).to include(*tree_mock.admin_only_parents.not_draft.ids) - end - end - context 'when an admin searching from the admin dashboard' do let(:base_scope) { Pundit.policy_scope(create(:admin), AdminPublication.includes(:parent)) } let(:options) { {} } From 6931084e07b5f35a06babcae40e0cd1789f351ca Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Tue, 10 Dec 2024 15:56:41 +0100 Subject: [PATCH 043/150] Address code review comments --- front/app/components/FilterBoxes/StatusFilter.tsx | 3 ++- .../shared/Filters/StatusFilterDropdown.tsx | 2 +- front/app/utils/helperUtils.ts | 4 ---- front/app/utils/textUtils.test.ts | 14 +++++++++++++- front/app/utils/textUtils.ts | 4 ++++ 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/front/app/components/FilterBoxes/StatusFilter.tsx b/front/app/components/FilterBoxes/StatusFilter.tsx index 59255f79d71d..4b5faf22930e 100644 --- a/front/app/components/FilterBoxes/StatusFilter.tsx +++ b/front/app/components/FilterBoxes/StatusFilter.tsx @@ -19,7 +19,8 @@ import T from 'components/T'; import { ScreenReaderOnly } from 'utils/a11y'; import { FormattedMessage, useIntl } from 'utils/cl-intl'; -import { capitalize, removeFocusAfterMouseClick } from 'utils/helperUtils'; +import { removeFocusAfterMouseClick } from 'utils/helperUtils'; +import { capitalize } from 'utils/textUtils'; import InputFilterCollapsible from './InputFilterCollapsible'; import messages from './messages'; diff --git a/front/app/components/IdeaCards/shared/Filters/StatusFilterDropdown.tsx b/front/app/components/IdeaCards/shared/Filters/StatusFilterDropdown.tsx index af4931ac2857..c74d6feebc65 100644 --- a/front/app/components/IdeaCards/shared/Filters/StatusFilterDropdown.tsx +++ b/front/app/components/IdeaCards/shared/Filters/StatusFilterDropdown.tsx @@ -7,7 +7,7 @@ import useLocalize from 'hooks/useLocalize'; import FilterSelector from 'components/FilterSelector'; import { FormattedMessage, useIntl } from 'utils/cl-intl'; -import { capitalize } from 'utils/helperUtils'; +import { capitalize } from 'utils/textUtils'; import messages from '../../messages'; diff --git a/front/app/utils/helperUtils.ts b/front/app/utils/helperUtils.ts index 0b8182306e1e..098634132414 100644 --- a/front/app/utils/helperUtils.ts +++ b/front/app/utils/helperUtils.ts @@ -163,10 +163,6 @@ export function isString(s: unknown): s is string { return typeof s === 'string'; } -export function capitalize(string: string) { - return string.charAt(0).toUpperCase() + string.slice(1); -} - export const isTopBarNavActive = ( basePath: string, pathname: string, diff --git a/front/app/utils/textUtils.test.ts b/front/app/utils/textUtils.test.ts index cc9f1f0e67b3..4e0d121c011f 100644 --- a/front/app/utils/textUtils.test.ts +++ b/front/app/utils/textUtils.test.ts @@ -1,4 +1,4 @@ -import { withoutSpacing } from './textUtils'; +import { capitalize, withoutSpacing } from './textUtils'; describe('withoutSpacing', () => { it('removes spaces from simple string', () => { @@ -17,3 +17,15 @@ describe('withoutSpacing', () => { `).toEqual(expectedResult); }); }); + +describe('capitalize', () => { + it('capitalizes strings correctly', () => { + expect(capitalize(`hello world`)).toEqual('Hello world'); + expect(capitalize(`hello World`)).toEqual('Hello World'); + expect(capitalize(`HELLO WORLD`)).toEqual('HELLO WORLD'); + expect(capitalize('123')).toEqual('123'); + expect(capitalize('!@#')).toEqual('!@#'); + expect(capitalize('')).toEqual(''); + expect(capitalize('a')).toEqual('A'); + }); +}); diff --git a/front/app/utils/textUtils.ts b/front/app/utils/textUtils.ts index 0495c0a714d2..6eb039bc984a 100644 --- a/front/app/utils/textUtils.ts +++ b/front/app/utils/textUtils.ts @@ -1,5 +1,9 @@ import { Multiloc } from 'typings'; +export function capitalize(string: string) { + return string.charAt(0).toUpperCase() + string.slice(1); +} + export function truncate(str: string, length?: number) { if (typeof length === 'number' && str.length > length) { return `${str.substring(0, length - 3)}...`; From e98906403e7ac6604f92df503c398b81611e14f8 Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Tue, 10 Dec 2024 15:49:25 +0000 Subject: [PATCH 044/150] [TAN-2042] Replace some usefule tests --- .../admin_publications_filtering_service_spec.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/back/spec/services/admin_publications_filtering_service_spec.rb b/back/spec/services/admin_publications_filtering_service_spec.rb index 7b9b6ee53398..c566674bc685 100644 --- a/back/spec/services/admin_publications_filtering_service_spec.rb +++ b/back/spec/services/admin_publications_filtering_service_spec.rb @@ -24,15 +24,18 @@ expect(result.ids).not_to include(*tree_mock.other.where(publication_status: %w[draft]).ids) end - it 'does not include a parent if all its children are in draft' do - expect(result.ids).not_to include(tree_mock.published_parent_with_draft_children.id) - end - it 'does not include the draft children of a published parent' do expect(result.ids).not_to include(*tree_mock.published_parent_with_draft_children.children.ids) end end + context 'when a normal user searching from the home page' do + let(:options) { { depth: 0, publication_statuses: %w[archived published] } } + let(:base_scope) { Pundit.policy_scope(create(:user), AdminPublication.includes(:parent)) } + + include_examples 'when a user searching from the home page' + end + context 'when an admin searching from the admin dashboard' do let(:base_scope) { Pundit.policy_scope(create(:admin), AdminPublication.includes(:parent)) } let(:options) { {} } From 4adfd0274f2e98ee85815575391dee3af810b76d Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Tue, 10 Dec 2024 17:02:17 +0100 Subject: [PATCH 045/150] cleanup map view filters --- .../MapView/TopBar.tsx | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/MapView/TopBar.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/MapView/TopBar.tsx index 244a6e783430..9e41144db92e 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/MapView/TopBar.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/MapView/TopBar.tsx @@ -19,26 +19,27 @@ const TopBar = ({ onClose }: Props) => { borderBottom={`1px solid ${colors.grey300}`} display="flex" alignItems="center" - justifyContent="space-between" - px="16px" + justifyContent="center" + position="relative" > <FormattedMessage {...messages.filters} /> - + + + ); }; From f1a4580439f1bf5772119d438b5172e81ed68c12 Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Tue, 10 Dec 2024 16:02:18 +0000 Subject: [PATCH 046/150] [TAN-2042] Permit showing folder page, regardless of having any visible children + see which tests break --- back/app/policies/project_folders/folder_policy.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/back/app/policies/project_folders/folder_policy.rb b/back/app/policies/project_folders/folder_policy.rb index 272df02185d2..294fa75f3754 100644 --- a/back/app/policies/project_folders/folder_policy.rb +++ b/back/app/policies/project_folders/folder_policy.rb @@ -19,10 +19,8 @@ def published_folders def show? return true if user && UserRoleService.new.can_moderate?(record, user) return false if record.admin_publication.publication_status == 'draft' - return true if record.projects.empty? - # We check if the user has access to at least one of the projects in the folder - scope_for(record.projects).exists? + true end def by_slug? From 7b9c7e558e5b01d4eae4016fa4e82d2580792b65 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Tue, 10 Dec 2024 17:16:31 +0100 Subject: [PATCH 047/150] Remove unnecessary id --- .../IdeaCards/IdeasWithFiltersSidebar/MapView/TopBar.tsx | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/MapView/TopBar.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/MapView/TopBar.tsx index 9e41144db92e..15a050165c1c 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/MapView/TopBar.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/MapView/TopBar.tsx @@ -22,14 +22,7 @@ const TopBar = ({ onClose }: Props) => { justifyContent="center" position="relative" > - + <Title as={'h2'} variant={'h5'} m="0" p="16px" fontWeight="bold"> <FormattedMessage {...messages.filters} /> From 71d3e833111d2484e1cc4539833ba557bc41e8c5 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Tue, 10 Dec 2024 17:24:32 +0100 Subject: [PATCH 048/150] Add type for sharedProps --- .../containers/ProjectsShowPage/timeline/Ideas.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx index 70249dba67df..ade4f9a13ba9 100644 --- a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx +++ b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx @@ -1,6 +1,7 @@ import React, { useMemo } from 'react'; import { Box } from '@citizenlab/cl2-component-library'; +import { MessageDescriptor } from 'react-intl'; import { useSearchParams } from 'react-router-dom'; import { IdeaSortMethod, IPhaseData } from 'api/phases/types'; @@ -17,6 +18,17 @@ import { import { updateSearchParams } from 'utils/cl-router/updateSearchParams'; import { getMethodConfig } from 'utils/configs/participationMethodConfig'; +type SharedProps = { + className: string; + ideaQueryParameters: QueryParameters; + onUpdateQuery: (queryParameters: QueryParameters) => void; + projectId: string; + phaseId: string; + showViewToggle: boolean; + invisbleTitleMessage: MessageDescriptor; + defaultView: 'card' | 'map'; +}; + interface InnerProps { projectId: string; phase: IPhaseData; @@ -71,7 +83,7 @@ const IdeasContainer = ({ projectId, phase, className }: InnerProps) => { const inputTerm = phase.attributes.input_term; - const sharedProps = { + const sharedProps: SharedProps = { className: participationMethod, ideaQueryParameters, onUpdateQuery: updateSearchParams, From 25ee6830a0accb161b6299026185d1474efcaed1 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Tue, 10 Dec 2024 17:25:00 +0100 Subject: [PATCH 049/150] New translations en.json (German) --- front/app/translations/de-DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/translations/de-DE.json b/front/app/translations/de-DE.json index 107f37b39978..7afff73ef01d 100644 --- a/front/app/translations/de-DE.json +++ b/front/app/translations/de-DE.json @@ -1339,7 +1339,7 @@ "app.containers.IdeasShow.MetaInformation.currentStatus": "Aktueller Status", "app.containers.IdeasShow.MetaInformation.location": "Ort", "app.containers.IdeasShow.MetaInformation.postedBy": "Gepostet von", - "app.containers.IdeasShow.MetaInformation.similar": "Ähnliche Einträge\n", + "app.containers.IdeasShow.MetaInformation.similar": "Ähnliche Beiträge", "app.containers.IdeasShow.MetaInformation.topics": "Themen", "app.containers.IdeasShow.commentCTA": "Kommentieren", "app.containers.IdeasShow.contributionEmailSharingBody": "Unterstützen Sie den Beitrag „{postTitle}“ unter {postUrl}!", From db89f402ed0bd0b2844b9e22a1f7f5d10a054d1e Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Tue, 10 Dec 2024 17:26:15 +0100 Subject: [PATCH 050/150] Use correct type for presentation mode --- front/app/containers/ProjectsShowPage/timeline/Ideas.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx index ade4f9a13ba9..f8997a332af1 100644 --- a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx +++ b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx @@ -4,7 +4,7 @@ import { Box } from '@citizenlab/cl2-component-library'; import { MessageDescriptor } from 'react-intl'; import { useSearchParams } from 'react-router-dom'; -import { IdeaSortMethod, IPhaseData } from 'api/phases/types'; +import { IdeaSortMethod, IPhaseData, PresentationMode } from 'api/phases/types'; import usePhase from 'api/phases/usePhase'; import { IdeaSortMethodFallback } from 'api/phases/utils'; @@ -26,7 +26,7 @@ type SharedProps = { phaseId: string; showViewToggle: boolean; invisbleTitleMessage: MessageDescriptor; - defaultView: 'card' | 'map'; + defaultView: PresentationMode; }; interface InnerProps { From 31124682a331c8b1177b6d310096aeb20c4324f8 Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Tue, 10 Dec 2024 16:27:49 +0000 Subject: [PATCH 051/150] [TAN-2042] Remove a bunch of removeNotAllowedParents stuff from FE --- front/app/api/admin_publications/types.ts | 1 - front/app/components/ProjectAndFolderCards/index.tsx | 3 --- .../ContentBuilder/components/Widgets/Published/index.tsx | 1 - .../containers/CustomPageShow/CustomPageProjectsAndEvents.tsx | 2 -- front/app/containers/HomePage/index.tsx | 1 - .../Components/DesktopNavItems/AdminPublicationsNavbarItem.tsx | 1 - front/app/containers/SiteMap/ProjectsAndFoldersSection.tsx | 1 - front/app/prefetchData.ts | 1 - 8 files changed, 11 deletions(-) diff --git a/front/app/api/admin_publications/types.ts b/front/app/api/admin_publications/types.ts index 659230ddd8f1..c3b7af1152f8 100644 --- a/front/app/api/admin_publications/types.ts +++ b/front/app/api/admin_publications/types.ts @@ -17,7 +17,6 @@ export interface IQueryParameters { pageNumber?: number; pageSize?: number; rootLevelOnly?: boolean; - removeNotAllowedParents?: boolean; onlyProjects?: boolean; filter_is_moderator_of?: boolean; filter_user_is_moderator_of?: string; diff --git a/front/app/components/ProjectAndFolderCards/index.tsx b/front/app/components/ProjectAndFolderCards/index.tsx index 5608c6af2415..b11039744d20 100644 --- a/front/app/components/ProjectAndFolderCards/index.tsx +++ b/front/app/components/ProjectAndFolderCards/index.tsx @@ -67,7 +67,6 @@ const ProjectAndFolderCards = ({ { publicationStatusFilter: PUBLICATION_STATUSES, rootLevelOnly, - removeNotAllowedParents: true, topicIds, areaIds, search, @@ -86,7 +85,6 @@ const ProjectAndFolderCards = ({ pageSize: 6, publicationStatusFilter: getPublicationStatuses(currentTab), rootLevelOnly, - removeNotAllowedParents: true, topicIds, areaIds, search, @@ -136,7 +134,6 @@ const ProjectAndFolderCardsWrapper = (props: Props) => { { publicationStatusFilter: PUBLICATION_STATUSES, rootLevelOnly: true, - removeNotAllowedParents: true, } ); diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx index 223fe546bc98..9f68008e0246 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx @@ -23,7 +23,6 @@ const Published = ({ titleMultiloc }: Props) => { pageSize: 6, publicationStatusFilter: ['published'], rootLevelOnly: true, - removeNotAllowedParents: true, include_publications: true, }); diff --git a/front/app/containers/CustomPageShow/CustomPageProjectsAndEvents.tsx b/front/app/containers/CustomPageShow/CustomPageProjectsAndEvents.tsx index d4f629e6b45b..ee6e30caab99 100644 --- a/front/app/containers/CustomPageShow/CustomPageProjectsAndEvents.tsx +++ b/front/app/containers/CustomPageShow/CustomPageProjectsAndEvents.tsx @@ -73,7 +73,6 @@ const CustomPageProjectsAndEvents = ({ areaIds, publicationStatusFilter: getPublicationStatuses(currentTab), rootLevelOnly: false, - removeNotAllowedParents: true, onlyProjects: true, }); @@ -138,7 +137,6 @@ const CustomPageProjectsAndEventsWrapper = ({ page }: Props) => { areaIds, publicationStatusFilter: PUBLICATION_STATUSES, rootLevelOnly: false, - removeNotAllowedParents: true, onlyProjects: true, } ); diff --git a/front/app/containers/HomePage/index.tsx b/front/app/containers/HomePage/index.tsx index e929f9241da8..be8f082c574f 100644 --- a/front/app/containers/HomePage/index.tsx +++ b/front/app/containers/HomePage/index.tsx @@ -33,7 +33,6 @@ const HomePage = () => { pageSize: 6, publicationStatusFilter: ['published'], rootLevelOnly: true, - removeNotAllowedParents: true, topicIds: null, areaIds: null, search: null, diff --git a/front/app/containers/MainHeader/Components/DesktopNavItems/AdminPublicationsNavbarItem.tsx b/front/app/containers/MainHeader/Components/DesktopNavItems/AdminPublicationsNavbarItem.tsx index c69ce4f68f20..df904e3cd306 100644 --- a/front/app/containers/MainHeader/Components/DesktopNavItems/AdminPublicationsNavbarItem.tsx +++ b/front/app/containers/MainHeader/Components/DesktopNavItems/AdminPublicationsNavbarItem.tsx @@ -154,7 +154,6 @@ const AdminPublicationsNavbarItem = ({ { publicationStatusFilter: ['published', 'archived'], rootLevelOnly: true, - removeNotAllowedParents: true, }, { enabled: projectsDropdownOpened } ); diff --git a/front/app/containers/SiteMap/ProjectsAndFoldersSection.tsx b/front/app/containers/SiteMap/ProjectsAndFoldersSection.tsx index c828c53d98e3..b6523bdf9175 100644 --- a/front/app/containers/SiteMap/ProjectsAndFoldersSection.tsx +++ b/front/app/containers/SiteMap/ProjectsAndFoldersSection.tsx @@ -27,7 +27,6 @@ const ProjectsAndFoldersSection = ({ projectsSectionRef }: Props) => { const { data } = useAdminPublications({ publicationStatusFilter: ['draft', 'published', 'archived'], rootLevelOnly: true, - removeNotAllowedParents: true, }); const adminPublications = data?.pages.map((page) => page.data).flat(); diff --git a/front/app/prefetchData.ts b/front/app/prefetchData.ts index 818cd43185a5..e16b15e39038 100644 --- a/front/app/prefetchData.ts +++ b/front/app/prefetchData.ts @@ -27,7 +27,6 @@ const prefetchData = () => { const statusCountParams = { publicationStatusFilter: PUBLICATION_STATUSES, rootLevelOnly: true, - removeNotAllowedParents: true, } as const; // console.log(window.location.pathname); From 1b1b1ee347b2b99fd9033246ef8245e53d63b14f Mon Sep 17 00:00:00 2001 From: Simon Tharby Date: Tue, 10 Dec 2024 16:33:21 +0000 Subject: [PATCH 052/150] [TAN-2042] Fix policy specs --- back/spec/policies/admin_publication_policy_spec.rb | 4 ++-- back/spec/policies/project_folders/folder_policy_spec.rb | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/back/spec/policies/admin_publication_policy_spec.rb b/back/spec/policies/admin_publication_policy_spec.rb index 84c618de5162..8f5b6d67b964 100644 --- a/back/spec/policies/admin_publication_policy_spec.rb +++ b/back/spec/policies/admin_publication_policy_spec.rb @@ -114,13 +114,13 @@ context 'when visitor' do let(:user) { nil } - it { is_expected.not_to permit(:show) } + it { is_expected.to permit(:show) } end context 'when regular user' do let(:user) { create(:user) } - it { is_expected.not_to permit(:show) } + it { is_expected.to permit(:show) } end context 'when admin' do diff --git a/back/spec/policies/project_folders/folder_policy_spec.rb b/back/spec/policies/project_folders/folder_policy_spec.rb index 3d030f7ca130..dd481592817e 100644 --- a/back/spec/policies/project_folders/folder_policy_spec.rb +++ b/back/spec/policies/project_folders/folder_policy_spec.rb @@ -187,13 +187,13 @@ context 'when visitor' do let(:user) { nil } - it { is_expected.not_to permit(:show) } + it { is_expected.to permit(:show) } end context 'when not member' do let(:user) { create(:user) } - it { is_expected.not_to permit(:show) } + it { is_expected.to permit(:show) } end context 'when member' do @@ -278,13 +278,13 @@ context 'when visitor' do let(:user) { nil } - it { is_expected.not_to permit(:show) } + it { is_expected.to permit(:show) } end context 'when regular user' do let(:user) { create(:user) } - it { is_expected.not_to permit(:show) } + it { is_expected.to permit(:show) } end context 'when admin' do From 9ce76245261d5371ef07a586a5a623048ba8cdf1 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 15:26:15 -0300 Subject: [PATCH 053/150] Change followed items icon --- .../containers/ContentBuilder/components/Toolbox/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx index 15d10a9f382b..20a1203eb74b 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx @@ -125,7 +125,7 @@ const HomepageBuilderToolbox = ({ titleMultiloc={toMultiloc(followedItemsMessages.defaultTitle)} /> } - icon="projects" + icon="notification" label={formatMessage(followedItemsTitle)} /> )} From 175b67d272e45d3e807a228eec0879561561a89e Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 15:28:12 -0300 Subject: [PATCH 054/150] Add new icon --- .../app/component-library/components/Icon/index.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/front/app/component-library/components/Icon/index.tsx b/front/app/component-library/components/Icon/index.tsx index e9c09fc191d0..8312bb57712e 100644 --- a/front/app/component-library/components/Icon/index.tsx +++ b/front/app/component-library/components/Icon/index.tsx @@ -3129,6 +3129,18 @@ export const icons = { ), + personRaisedHand: (props: IconPropsWithoutName) => ( + + + + ), } as const; const Icon = (props: IconProps) => { From ff8f4c4a819cbe0f566f6812bfad071f7a5e4a81 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 15:28:49 -0300 Subject: [PATCH 055/150] Use new icon for Open to participation --- .../containers/ContentBuilder/components/Toolbox/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx index 20a1203eb74b..7819b512806e 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx @@ -113,7 +113,7 @@ const HomepageBuilderToolbox = ({ titleMultiloc={toMultiloc(openToParticipationTitle)} /> } - icon="projects" + icon="personRaisedHand" label={formatMessage(openToParticipationTitle)} /> )} From ebe7933a953d359a8117898d9c87f903f7ef3575 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 15:34:06 -0300 Subject: [PATCH 056/150] Change order toolbox --- .../components/Toolbox/index.tsx | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx index 7819b512806e..cb1cf4d13c1f 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx @@ -84,27 +84,18 @@ const HomepageBuilderToolbox = ({
} - icon="calendar" - label={formatMessage(messages.eventsTitle)} - /> - } - icon="section-image-text" - label={formatMessage(messages.imageTextCards)} + id="e2e-draggable-homepage-banner" + component={ + + } + icon="rectangle" + label={formatMessage(homepageBannerTitle)} /> - {newHomepageWidgetsEnabled && ( - - } - icon="flash" - label={formatMessage(spotlightTitle)} - /> - )} {newHomepageWidgetsEnabled && ( )} - {newHomepageWidgetsEnabled && ( - } - icon="check-circle" - label={formatMessage(publishedTitle)} - /> - )} {newHomepageWidgetsEnabled && ( )} + {newHomepageWidgetsEnabled && ( + + } + icon="flash" + label={formatMessage(spotlightTitle)} + /> + )} {newHomepageWidgetsEnabled && ( )} + {newHomepageWidgetsEnabled && ( + } + icon="check-circle" + label={formatMessage(publishedTitle)} + /> + )} + } + icon="calendar" + label={formatMessage(messages.eventsTitle)} + /> + } + icon="section-image-text" + label={formatMessage(messages.imageTextCards)} + /> - - } - icon="rectangle" - label={formatMessage(homepageBannerTitle)} - /> Date: Tue, 10 Dec 2024 20:54:40 -0300 Subject: [PATCH 057/150] Rename Projects to ProjectsAndFoldersLegacy --- .../ContentBuilder/Widgets/Container/index.tsx | 2 +- .../ContentBuilder/components/Toolbox/index.tsx | 10 ++++++---- .../index.tsx | 8 ++++---- .../messages.ts | 0 .../ContentBuilder/components/Widgets/index.ts | 13 +++++++++---- 5 files changed, 20 insertions(+), 13 deletions(-) rename front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/{Projects => ProjectsAndFoldersLegacy}/index.tsx (93%) rename front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/{Projects => ProjectsAndFoldersLegacy}/messages.ts (100%) diff --git a/front/app/components/admin/ContentBuilder/Widgets/Container/index.tsx b/front/app/components/admin/ContentBuilder/Widgets/Container/index.tsx index eadce183c6e3..942b210295a1 100644 --- a/front/app/components/admin/ContentBuilder/Widgets/Container/index.tsx +++ b/front/app/components/admin/ContentBuilder/Widgets/Container/index.tsx @@ -4,7 +4,7 @@ import { Box } from '@citizenlab/cl2-component-library'; import { UserComponent } from '@craftjs/core'; import Events from 'containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Events'; -import Projects from 'containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Projects'; +import Projects from 'containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy'; const Container: UserComponent = ({ children }) => { return ( diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx index cb1cf4d13c1f..2811e21918c7 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx @@ -47,8 +47,10 @@ import { import OpenToParticipation, { openToParticipationTitle, } from '../Widgets/OpenToParticipation'; -import Projects, { projectsTitle } from '../Widgets/Projects'; -import projectsMessages from '../Widgets/Projects/messages'; +import ProjectsAndFoldersLegacy, { + projectsAndFoldersLegacyTitle, +} from '../Widgets/ProjectsAndFoldersLegacy'; +import projectsMessages from '../Widgets/ProjectsAndFoldersLegacy/messages'; import Published, { publishedTitle } from '../Widgets/Published'; import Selection, { selectionTitle } from '../Widgets/Selection'; import Spotlight, { @@ -189,14 +191,14 @@ const HomepageBuilderToolbox = ({ } icon="projects" - label={formatMessage(projectsTitle)} + label={formatMessage(projectsAndFoldersLegacyTitle)} />
diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Projects/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy/index.tsx similarity index 93% rename from front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Projects/index.tsx rename to front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy/index.tsx index cbd259cb2c20..d9edfa0c3e35 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Projects/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy/index.tsx @@ -27,7 +27,7 @@ const ProjectSection = styled.div` `} `; -const Projects = ({ +const ProjectsAndFoldersLegacy = ({ currentlyWorkingOnText, }: { currentlyWorkingOnText?: Multiloc; @@ -90,12 +90,12 @@ const ProjectsSettings = () => { ); }; -Projects.craft = { +ProjectsAndFoldersLegacy.craft = { related: { settings: ProjectsSettings, }, }; -export const projectsTitle = messages.projectsTitle; +export const projectsAndFoldersLegacyTitle = messages.projectsTitle; -export default Projects; +export default ProjectsAndFoldersLegacy; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Projects/messages.ts b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy/messages.ts similarity index 100% rename from front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Projects/messages.ts rename to front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy/messages.ts diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/index.ts b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/index.ts index adecb05c4d48..0016b8e55880 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/index.ts +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/index.ts @@ -35,7 +35,9 @@ import HomepageBanner, { homepageBannerTitle } from './HomepageBanner'; import OpenToParticipation, { openToParticipationTitle, } from './OpenToParticipation'; -import Projects, { projectsTitle } from './Projects'; +import ProjectsAndFoldersLegacy, { + projectsAndFoldersLegacyTitle, +} from './ProjectsAndFoldersLegacy'; import Published, { publishedTitle } from './Published'; import Selection, { selectionTitle } from './Selection'; import Spotlight, { spotlightTitle } from './Spotlight'; @@ -58,7 +60,7 @@ export const WIDGETS = { FinishedOrArchived, HomepageBanner, OpenToParticipation, - Projects, + ProjectsAndFoldersLegacy, Published, Selection, Spotlight, @@ -66,6 +68,7 @@ export const WIDGETS = { // RENAMED (TODO rename in migration) Highlight: CallToAction, + Projects: ProjectsAndFoldersLegacy, // DEPRECATED (TODO remove in migration) Proposals, @@ -90,7 +93,7 @@ export const WIDGET_TITLES: Record = { FinishedOrArchived: finishedOrArchivedTitle, HomepageBanner: homepageBannerTitle, OpenToParticipation: openToParticipationTitle, - Projects: projectsTitle, + ProjectsAndFoldersLegacy: projectsAndFoldersLegacyTitle, Published: publishedTitle, Selection: selectionTitle, Spotlight: spotlightTitle, @@ -98,6 +101,7 @@ export const WIDGET_TITLES: Record = { // RENAMED Highlight: callToActionTitle, + Projects: projectsAndFoldersLegacyTitle, // DEPRECATED Proposals: callToActionTitle, @@ -124,12 +128,13 @@ const WIDGETS_WITHOUT_POINTER_EVENTS = new Set([ 'FinishedOrArchived', 'HomepageBanner', 'OpenToParticipation', - 'Projects', + 'ProjectsAndFoldersLegacy', 'Published', 'Selection', 'Spotlight', // RENAMED + 'Projects', 'Highlight', ] satisfies WidgetName[]); From d7c2e2c2d6c523de9ce6f4ed352a66811c3e39a9 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 20:55:21 -0300 Subject: [PATCH 058/150] Rename Projects and folders legacy in toolbox --- .../components/Widgets/ProjectsAndFoldersLegacy/messages.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy/messages.ts b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy/messages.ts index cf1b23f07e8b..908be79cecc3 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy/messages.ts +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/ProjectsAndFoldersLegacy/messages.ts @@ -2,8 +2,8 @@ import { defineMessages } from 'react-intl'; export default defineMessages({ projectsTitle: { - id: 'app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle', - defaultMessage: 'Projects', + id: 'app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1', + defaultMessage: 'Projects and folders (legacy)', }, projectTitleLabel: { id: 'app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel', From d59ba97a1a5eb6388ae53bac69a351efd5611d2a Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 20:56:25 -0300 Subject: [PATCH 059/150] Rename selection in toolbox --- .../ContentBuilder/components/Widgets/Selection/messages.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Selection/messages.ts b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Selection/messages.ts index 2479109e8d07..aeab3445de45 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Selection/messages.ts +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Selection/messages.ts @@ -2,8 +2,8 @@ import { defineMessages } from 'react-intl'; export default defineMessages({ selectionTitle: { - id: 'front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2', - defaultMessage: 'Projects and folders', + id: 'front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3', + defaultMessage: 'Selected projects and folders', }, inThisWidget: { id: 'front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget', From 17ba63c160dc90d3c0e23db7488e9f0dc07585ee Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Tue, 10 Dec 2024 21:00:06 -0300 Subject: [PATCH 060/150] Remove reliance on weird custom attribute title stuff --- .../components/Toolbox/index.tsx | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx index 2811e21918c7..203035093465 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx @@ -11,10 +11,18 @@ import useFeatureFlag from 'hooks/useFeatureFlag'; import Container from 'components/admin/ContentBuilder/Toolbox/Container'; import DraggableElement from 'components/admin/ContentBuilder/Toolbox/DraggableElement'; import Section from 'components/admin/ContentBuilder/Toolbox/Section'; -import AccordionMultiloc from 'components/admin/ContentBuilder/Widgets/AccordionMultiloc'; -import ButtonMultiloc from 'components/admin/ContentBuilder/Widgets/ButtonMultiloc'; -import IframeMultiloc from 'components/admin/ContentBuilder/Widgets/IframeMultiloc'; -import ImageMultiloc from 'components/admin/ContentBuilder/Widgets/ImageMultiloc'; +import AccordionMultiloc, { + accordionMultilocTitle, +} from 'components/admin/ContentBuilder/Widgets/AccordionMultiloc'; +import ButtonMultiloc, { + buttonMultilocTitle, +} from 'components/admin/ContentBuilder/Widgets/ButtonMultiloc'; +import IframeMultiloc, { + iframeTitle, +} from 'components/admin/ContentBuilder/Widgets/IframeMultiloc'; +import ImageMultiloc, { + imageMultilocTitle, +} from 'components/admin/ContentBuilder/Widgets/ImageMultiloc'; import ImageTextCards from 'components/admin/ContentBuilder/Widgets/ImageTextCards'; import ThreeColumn, { threeColumnTitle, @@ -22,7 +30,9 @@ import ThreeColumn, { import TwoColumn, { twoColumnTitle, } from 'components/admin/ContentBuilder/Widgets/TwoColumn'; -import WhiteSpace from 'components/admin/ContentBuilder/Widgets/WhiteSpace'; +import WhiteSpace, { + whiteSpaceTitle, +} from 'components/admin/ContentBuilder/Widgets/WhiteSpace'; import { useIntl, @@ -57,7 +67,7 @@ import Spotlight, { spotlightTitle, buttonTextDefault, } from '../Widgets/Spotlight'; -import TextMultiloc from '../Widgets/TextMultiloc'; +import TextMultiloc, { textMultilocTitle } from '../Widgets/TextMultiloc'; type HomepageBuilderToolboxProps = { selectedLocale: SupportedLocale; @@ -206,13 +216,13 @@ const HomepageBuilderToolbox = ({ id="e2e-draggable-text-multiloc" component={} icon="text" - label={formatMessage(TextMultiloc.craft.custom.title)} + label={formatMessage(textMultilocTitle)} /> } icon="layout-white-space" - label={formatMessage(WhiteSpace.craft.custom.title)} + label={formatMessage(whiteSpaceTitle)} /> } icon="button" - label={formatMessage(ButtonMultiloc.craft.custom.title)} + label={formatMessage(buttonMultilocTitle)} /> } icon="image" - label={formatMessage(ImageMultiloc.craft.custom.title)} + label={formatMessage(imageMultilocTitle)} /> } icon="code" - label={formatMessage(IframeMultiloc.craft.custom.title)} + label={formatMessage(iframeTitle)} /> } icon="accordion" - label={formatMessage(AccordionMultiloc.craft.custom.title)} + label={formatMessage(accordionMultilocTitle)} /> Date: Tue, 10 Dec 2024 21:02:32 -0300 Subject: [PATCH 061/150] Slightly reduce spacing spotlight widget on mobile --- .../components/Widgets/Spotlight/Spotlight.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx index 9121cf1d6257..a8f341a9f539 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Spotlight/Spotlight.tsx @@ -17,6 +17,8 @@ import Skeleton from 'components/AvatarBubbles/Skeleton'; import Button from 'components/UI/Button'; import QuillEditedContent from 'components/UI/QuillEditedContent'; +import { DEFAULT_Y_PADDING } from '../constants'; + interface Props { title: string; imgSrc?: string; @@ -43,7 +45,8 @@ const Spotlight = ({ return ( Date: Wed, 11 Dec 2024 00:05:16 +0000 Subject: [PATCH 062/150] Translations updated by CI (extract-intl) --- front/app/translations/admin/ar-SA.json | 2 -- front/app/translations/admin/cy-GB.json | 2 -- front/app/translations/admin/da-DK.json | 2 -- front/app/translations/admin/de-DE.json | 2 -- front/app/translations/admin/en-CA.json | 2 -- front/app/translations/admin/en-GB.json | 2 -- front/app/translations/admin/en-IE.json | 2 -- front/app/translations/admin/en.json | 4 ++-- front/app/translations/admin/es-CL.json | 2 -- front/app/translations/admin/es-ES.json | 2 -- front/app/translations/admin/fi-FI.json | 2 -- front/app/translations/admin/fr-BE.json | 2 -- front/app/translations/admin/fr-FR.json | 2 -- front/app/translations/admin/hr-HR.json | 2 -- front/app/translations/admin/lt-LT.json | 2 -- front/app/translations/admin/lv-LV.json | 2 -- front/app/translations/admin/nb-NO.json | 2 -- front/app/translations/admin/nl-BE.json | 2 -- front/app/translations/admin/nl-NL.json | 2 -- front/app/translations/admin/pa-IN.json | 2 -- front/app/translations/admin/pl-PL.json | 2 -- front/app/translations/admin/pt-BR.json | 2 -- front/app/translations/admin/sr-Latn.json | 2 -- front/app/translations/admin/sr-SP.json | 2 -- front/app/translations/admin/sv-SE.json | 2 -- front/app/translations/admin/tr-TR.json | 2 -- front/app/translations/admin/ur-PK.json | 2 -- 27 files changed, 2 insertions(+), 54 deletions(-) diff --git a/front/app/translations/admin/ar-SA.json b/front/app/translations/admin/ar-SA.json index 092eb642d4c4..2f7b814c19f3 100644 --- a/front/app/translations/admin/ar-SA.json +++ b/front/app/translations/admin/ar-SA.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "سيعرض شريط التنقل فقط المشاريع التي يمكن للمستخدمين الوصول إليها.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "لا يوجد تاريخ انتهاء", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "اضغط على مفتاح \"Escape\" لتخطي الدوامة", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "المشاريع", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "عنوان المشاريع", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} قيد العمل حاليا", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "نص الزر", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "في هذه الأداة، يمكنك تحديد المشاريع والمجلدات التي تريدها.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "لم يتم تحديد أي مشاريع أو مجلدات", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "حدد المشاريع أو المجلدات", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "المشاريع والمجلدات", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} مشاريع", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "زيارة مركز الدعم التابع لنا", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/cy-GB.json b/front/app/translations/admin/cy-GB.json index 373b079b17f8..779b3f318464 100644 --- a/front/app/translations/admin/cy-GB.json +++ b/front/app/translations/admin/cy-GB.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Bydd y bar llywio yn dangos prosiectau y mae gan ddefnyddwyr fynediad iddynt yn unig.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Dim dyddiad gorffen", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pwyswch y dihangfa i hepgor y carwsél", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Prosiectau", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Teitl y prosiect", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "Mae {orgName} yn gweithio arno ar hyn o bryd", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Testun botwm", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Yn y teclyn hwn, gallwch ddewis pa bynnag brosiectau a ffolderi rydych chi eu heisiau.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Dim prosiectau neu ffolderi wedi'u dewis", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Dewiswch brosiectau neu ffolderi", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Prosiectau a ffolderi", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} prosiectau", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "ymweld â'n canolfan gymorth", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimenions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/da-DK.json b/front/app/translations/admin/da-DK.json index 82fa12be6ce3..ed72b187ef92 100644 --- a/front/app/translations/admin/da-DK.json +++ b/front/app/translations/admin/da-DK.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigationslinjen viser kun projekter, som brugerne har adgang til.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Ingen slutdato", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Tryk på escape for at springe karrusellen over", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projekter", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektets titel", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} arbejder i øjeblikket med", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Knaptekst", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "I denne widget kan du vælge, hvilke projekter og mapper du vil have.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Ingen projekter eller mapper valgt", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Vælg projekter eller mapper", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projekter og mapper", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekter", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "besøg vores supportcenter", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/de-DE.json b/front/app/translations/admin/de-DE.json index 3f1e52991526..70eb18dcf7e9 100644 --- a/front/app/translations/admin/de-DE.json +++ b/front/app/translations/admin/de-DE.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "In der Navigationsleiste werden nur Projekte angezeigt, auf die Nutzer*innen Zugriff haben.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Kein Enddatum", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Drücken Sie die Esc-Taste, um das Karussell zu überspringen", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projekte", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Titel der Projekte", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} arbeitet derzeit an", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Text des Buttons", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In diesem Widget können Sie alle Projekte und Ordner auswählen, die Sie möchten.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Keine Projekte oder Ordner ausgewählt", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Projekte oder Ordner auswählen", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projekte und Ordner", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} Projekte", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "unserer Wissensdatenbank", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/de/articles/1346397-welche-dimensionen-und-grossen-sind-fur-bilder-auf-der-plattform-empfohlen", diff --git a/front/app/translations/admin/en-CA.json b/front/app/translations/admin/en-CA.json index f5ab87d0943d..e5c3214982a7 100644 --- a/front/app/translations/admin/en-CA.json +++ b/front/app/translations/admin/en-CA.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projects", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projects title", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} is currently working on", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visit our support center", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/en-GB.json b/front/app/translations/admin/en-GB.json index 23a21b0405e8..bd63b4cc9cab 100644 --- a/front/app/translations/admin/en-GB.json +++ b/front/app/translations/admin/en-GB.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projects", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projects title", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} is currently working on", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visit our support center", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/en-IE.json b/front/app/translations/admin/en-IE.json index f5ab87d0943d..e5c3214982a7 100644 --- a/front/app/translations/admin/en-IE.json +++ b/front/app/translations/admin/en-IE.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projects", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projects title", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} is currently working on", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visit our support center", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/en.json b/front/app/translations/admin/en.json index f5ab87d0943d..fdff0eab7e53 100644 --- a/front/app/translations/admin/en.json +++ b/front/app/translations/admin/en.json @@ -809,7 +809,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projects", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projects and folders (legacy)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projects title", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} is currently working on", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2844,7 +2844,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projects and folders", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Selected projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visit our support center", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/es-CL.json b/front/app/translations/admin/es-CL.json index 4b1fc9f20a83..110e3122c1a9 100644 --- a/front/app/translations/admin/es-CL.json +++ b/front/app/translations/admin/es-CL.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "La barra de navegación sólo mostrará los proyectos a los que tengan acceso los usuarios.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Sin fecha de finalización", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pulsa escape para saltar el carrusel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Proyectos", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Título del proyecto", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} está trabajando actualmente en", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texto del botón", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "En este widget, puedes seleccionar los proyectos y carpetas que quieras.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No hay proyectos ni carpetas seleccionados", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecciona proyectos o carpetas", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Proyectos y carpetas", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} proyectos", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visite nuestra página de soporte", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/es/articles/1346397-cuales-son-las-dimensiones-y-tamanos-recomendados-para-las-imagenes-de-la-plataforma", diff --git a/front/app/translations/admin/es-ES.json b/front/app/translations/admin/es-ES.json index f1ecbf86c9f0..04c40e0fef4a 100644 --- a/front/app/translations/admin/es-ES.json +++ b/front/app/translations/admin/es-ES.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "La barra de navegación sólo mostrará los proyectos a los que tengan acceso los usuarios.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Sin fecha de finalización", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pulsa escape para saltar el carrusel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Proyectos", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Título del proyecto", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} está trabajando actualmente en", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texto del botón", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "En este widget, puedes seleccionar los proyectos y carpetas que quieras.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No hay proyectos ni carpetas seleccionados", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecciona proyectos o carpetas", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Proyectos y carpetas", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} proyectos", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visite nuestro centro de soporte", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/fi-FI.json b/front/app/translations/admin/fi-FI.json index d7e6c60a5deb..1416e91dd86e 100644 --- a/front/app/translations/admin/fi-FI.json +++ b/front/app/translations/admin/fi-FI.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigointipalkki näyttää vain projektit, joihin käyttäjillä on pääsy.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Ei lopetuspäivää", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Ohita karuselli painamalla Esc-näppäintä", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projektit", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektin otsikko", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} työskentelee parhaillaan", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Painikkeen teksti", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Tässä widgetissä voit valita haluamasi projektit ja kansiot.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Projekteja tai kansioita ei ole valittu", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Valitse projektit tai kansiot", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projektit ja kansiot", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekteja", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "vieraile tukikeskuksessamme", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/fr-BE.json b/front/app/translations/admin/fr-BE.json index a5dbd8d2798e..2de597d89574 100644 --- a/front/app/translations/admin/fr-BE.json +++ b/front/app/translations/admin/fr-BE.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Le projet sera affiché dans la barre de navigation uniquement si les utilisateurs y ont accès.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Pas de date de fin", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Appuyez sur Échap (Esc) pour passer le carrousel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projets", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Titre du projet", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} travaille actuellement sur", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texte du bouton", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Dans ce widget, vous pouvez sélectionner les projets et les dossiers de votre choix.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Aucun projet ou dossier sélectionné", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Sélectionnez des projets ou des dossiers", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projets et dossiers", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projets", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visitez notre centre d'assistance", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/fr-FR.json b/front/app/translations/admin/fr-FR.json index 4694bfd2203b..69e1d3982893 100644 --- a/front/app/translations/admin/fr-FR.json +++ b/front/app/translations/admin/fr-FR.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Le projet sera affiché dans la barre de navigation uniquement si les utilisateurs y ont accès.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Pas de date de fin", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Appuyez sur Échap (Esc) pour passer le carrousel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projets", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Titre du projet", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} travaille actuellement sur", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texte du bouton", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Dans ce widget, vous pouvez sélectionner les projets et les dossiers de votre choix.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Aucun projet ou dossier sélectionné", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Sélectionnez des projets ou des dossiers", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projets et dossiers", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projets", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visitez notre centre d'assistance", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/hr-HR.json b/front/app/translations/admin/hr-HR.json index 49b7faa31b27..833f5e6bfcdf 100644 --- a/front/app/translations/admin/hr-HR.json +++ b/front/app/translations/admin/hr-HR.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigacijska traka prikazuje samo projekte kojima korisnici imaju pristup.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Nema datuma završetka", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pritisnite Escape za preskakanje vrtuljka", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projekti", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Naziv projekta", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} trenutno se radi", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Tekst gumba", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "U ovom widgetu možete odabrati koje god projekte i mape želite.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nema odabranih projekata ni mapa", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Odaberite projekte ili mape", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projekti i mape", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekti", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "posjetite naš centar za podršku", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/lt-LT.json b/front/app/translations/admin/lt-LT.json index 25b5f2b882f8..d9fd37b5d880 100644 --- a/front/app/translations/admin/lt-LT.json +++ b/front/app/translations/admin/lt-LT.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Naršymo juostoje bus rodomi tik tie projektai, prie kurių prieigą turi naudotojai.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Galutinė data nenurodyta", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Paspauskite escape, jei norite praleisti karuselę", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projektai", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektų pavadinimas", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} šiuo metu dirba", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Mygtuko tekstas", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Šiame valdiklyje galite pasirinkti norimus projektus ir aplankus.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nėra pasirinktų projektų ar aplankų", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Pasirinkite projektus arba aplankus", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projektai ir aplankai", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projektai", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "apsilankykite mūsų pagalbos centre", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/lv-LV.json b/front/app/translations/admin/lv-LV.json index e8235e18e635..98ba3ab643de 100644 --- a/front/app/translations/admin/lv-LV.json +++ b/front/app/translations/admin/lv-LV.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigācijas joslā būs redzami tikai tie projekti, kuriem lietotājiem ir piekļuve.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Beigu datums nav norādīts", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Nospiediet escape, lai izlaistu karuseli", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projekti", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektu nosaukums", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} pašlaik strādā pie", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Pogas teksts", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Šajā logrīkā varat atlasīt vēlamos projektus un mapes.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nav atlasīti projekti vai mapes", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Atlasiet projektus vai mapes", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projekti un mapes", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekti", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "apmeklējiet mūsu atbalsta centru", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/nb-NO.json b/front/app/translations/admin/nb-NO.json index 3a37343d831f..b96c1a92ed17 100644 --- a/front/app/translations/admin/nb-NO.json +++ b/front/app/translations/admin/nb-NO.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigasjonsfeltet viser bare prosjekter som brukerne har tilgang til.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Ingen sluttdato", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Trykk escape for å hoppe over karusellen", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Prosjekter", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Prosjektets tittel", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} jobber for tiden med", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Knappenes tekst", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "I denne widgeten kan du velge hvilke prosjekter og mapper du vil ha.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Ingen prosjekter eller mapper valgt", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Velg prosjekter eller mapper", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Prosjekter og mapper", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} prosjekter", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "besøk supportsenteret vårt", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/nl-BE.json b/front/app/translations/admin/nl-BE.json index 8242e1b4b788..64bb891e6242 100644 --- a/front/app/translations/admin/nl-BE.json +++ b/front/app/translations/admin/nl-BE.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "De navigatiebalk toont alleen projecten waar gebruikers toegang tot hebben.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Geen einddatum", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Druk op escape om carrousel over te slaan", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projecten", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projectnaam", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} werkt momenteel aan", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Tekst knop", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In deze widget kun je de projecten en mappen selecteren die je wilt.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Geen projecten of mappen geselecteerd", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecteer projecten of mappen", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projecten en mappen", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projecten", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "bekijk onze supportpagina", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/nl-NL.json b/front/app/translations/admin/nl-NL.json index 4913fed80da1..25a7e871619b 100644 --- a/front/app/translations/admin/nl-NL.json +++ b/front/app/translations/admin/nl-NL.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "De navigatiebalk toont alleen projecten waar gebruikers toegang tot hebben.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Geen einddatum", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Druk op escape om carrousel over te slaan", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projecten", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projectnaam", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} werkt momenteel aan", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Tekst knop", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In deze widget kun je de projecten en mappen selecteren die je wilt.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Geen projecten of mappen geselecteerd", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecteer projecten of mappen", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projecten en mappen", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projecten", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "bekijk onze supportpagina", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/pa-IN.json b/front/app/translations/admin/pa-IN.json index cdce31b29757..aef99765a757 100644 --- a/front/app/translations/admin/pa-IN.json +++ b/front/app/translations/admin/pa-IN.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "ਨੈਵੀਗੇਸ਼ਨ ਪੱਟੀ ਸਿਰਫ਼ ਉਹਨਾਂ ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਦਿਖਾਏਗੀ ਜਿਨ੍ਹਾਂ ਤੱਕ ਉਪਭੋਗਤਾਵਾਂ ਦੀ ਪਹੁੰਚ ਹੈ।", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "ਕੋਈ ਸਮਾਪਤੀ ਮਿਤੀ ਨਹੀਂ", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "ਕੈਰੋਸੇਲ ਨੂੰ ਛੱਡਣ ਲਈ escape ਦਬਾਓ", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "ਪ੍ਰੋਜੈਕਟਸ", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "ਪ੍ਰੋਜੈਕਟ ਸਿਰਲੇਖ", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} ਵਰਤਮਾਨ ਵਿੱਚ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "ਬਟਨ ਟੈਕਸਟ", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "ਇਸ ਵਿਜੇਟ ਵਿੱਚ, ਤੁਸੀਂ ਜੋ ਵੀ ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਫੋਲਡਰ ਚਾਹੁੰਦੇ ਹੋ, ਚੁਣ ਸਕਦੇ ਹੋ।", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "ਕੋਈ ਪ੍ਰੋਜੈਕਟ ਜਾਂ ਫੋਲਡਰ ਨਹੀਂ ਚੁਣੇ ਗਏ", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "ਪ੍ਰੋਜੈਕਟ ਜਾਂ ਫੋਲਡਰ ਚੁਣੋ", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਫੋਲਡਰ", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} ਪ੍ਰੋਜੈਕਟ", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "ਸਾਡੇ ਸਹਾਇਤਾ ਕੇਂਦਰ 'ਤੇ ਜਾਓ", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/pl-PL.json b/front/app/translations/admin/pl-PL.json index fcd5f6ba6aa1..0377c897d79b 100644 --- a/front/app/translations/admin/pl-PL.json +++ b/front/app/translations/admin/pl-PL.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Na pasku nawigacyjnym wyświetlane będą tylko te projekty, do których użytkownicy mają dostęp.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Brak daty końcowej", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Naciśnij escape, aby pominąć karuzelę", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projekty", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Tytuł projektu", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} pracuje obecnie nad", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Tekst przycisku", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "W tym widżecie możesz wybrać dowolne projekty i foldery.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nie wybrano żadnych projektów ani folderów", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Wybierz projekty lub foldery", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projekty i foldery", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekty", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "odwiedź nasze centrum wsparcia", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/pt-BR.json b/front/app/translations/admin/pt-BR.json index a55e20a11c42..197355e8ecc5 100644 --- a/front/app/translations/admin/pt-BR.json +++ b/front/app/translations/admin/pt-BR.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "A barra de navegação mostrará apenas os projetos aos quais os usuários têm acesso.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Sem data de término", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pressione escape para pular o carrossel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projetos", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Título do projeto", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} está trabalhando atualmente em", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texto do botão", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Nesse widget, você pode selecionar os projetos e as pastas que desejar.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nenhum projeto ou pasta selecionado", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecionar projetos ou pastas", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projetos e pastas", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projetos", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visite o nosso centro de apoio", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/sr-Latn.json b/front/app/translations/admin/sr-Latn.json index 8c58c6cdf344..18551dc68d20 100644 --- a/front/app/translations/admin/sr-Latn.json +++ b/front/app/translations/admin/sr-Latn.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projects", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projects title", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} is currently working on", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "poseti naš centar za podršku", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/sr-SP.json b/front/app/translations/admin/sr-SP.json index 506f8441dd8a..4ee77a5d49ad 100644 --- a/front/app/translations/admin/sr-SP.json +++ b/front/app/translations/admin/sr-SP.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Пројекти", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Назив пројекта", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} тренутно ради на", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "посетите наш центар за подршку", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/sv-SE.json b/front/app/translations/admin/sv-SE.json index 17f227e39c71..ef0e24dd8d5b 100644 --- a/front/app/translations/admin/sv-SE.json +++ b/front/app/translations/admin/sv-SE.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "I navigeringsfältet visas endast projekt som användare har tillgång till.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Inget slutdatum", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Tryck på escape för att hoppa över karusellen", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projekt", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektets titel", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} arbetar för närvarande med", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Knapptext", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "I den här widgeten kan du välja vilka projekt och mappar du vill ha.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Inga projekt eller mappar valda", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Välj projekt eller mappar", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projekt och mappar", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekt", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "besök vårt supportcenter", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/tr-TR.json b/front/app/translations/admin/tr-TR.json index 7b16b9269a1d..5eb893f4777a 100644 --- a/front/app/translations/admin/tr-TR.json +++ b/front/app/translations/admin/tr-TR.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Gezinti çubuğu yalnızca kullanıcıların erişebildiği projeleri gösterecektir.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Bitiş tarihi yok", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Atlıkarıncayı atlamak için escape tuşuna basın", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "Projeler", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projeler başlığı", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} şu anda üzerinde çalışıyor", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Düğme metni", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Bu widget'ta istediğiniz proje ve klasörleri seçebilirsiniz.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Seçili proje veya klasör yok", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Projeleri veya klasörleri seçme", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "Projeler ve klasörler", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projeler", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "destek merkezimizi ziyaret edin", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", diff --git a/front/app/translations/admin/ur-PK.json b/front/app/translations/admin/ur-PK.json index 277b671d8247..eaaaad047db5 100644 --- a/front/app/translations/admin/ur-PK.json +++ b/front/app/translations/admin/ur-PK.json @@ -809,7 +809,6 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "نیویگیشن بار صرف وہ پروجیکٹ دکھائے گا جن تک صارفین کو رسائی حاصل ہے۔", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "کوئی اختتامی تاریخ نہیں۔", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "کیروسل کو چھوڑنے کے لیے escape دبائیں۔", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "پروجیکٹس", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "پروجیکٹس کا عنوان", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} فی الحال کام کر رہا ہے۔", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "بٹن کا متن", @@ -2844,7 +2843,6 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "اس ویجیٹ میں، آپ جو بھی پروجیکٹ اور فولڈر چاہیں منتخب کر سکتے ہیں۔", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "کوئی پروجیکٹ یا فولڈر منتخب نہیں کیا گیا۔", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "پروجیکٹس یا فولڈرز کو منتخب کریں۔", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "پروجیکٹس اور فولڈرز", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} پروجیکٹس", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "ہمارے سپورٹ سینٹر پر جائیں۔", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.cizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 5a234860d5479f10ef264c323a94887f53acd8c7 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Wed, 11 Dec 2024 08:50:10 +0100 Subject: [PATCH 063/150] Rename IdeaQueryParams and move to api folder --- front/app/api/ideas/types.ts | 15 +++++++++++++++ .../IdeasWithFiltersSidebar/ContentRight.tsx | 5 ++--- .../IdeaCards/IdeasWithFiltersSidebar/index.tsx | 5 ++--- front/app/containers/IdeasIndexPage/index.tsx | 17 ++--------------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/front/app/api/ideas/types.ts b/front/app/api/ideas/types.ts index 1be843c06056..aa2d48960cf0 100644 --- a/front/app/api/ideas/types.ts +++ b/front/app/api/ideas/types.ts @@ -1,5 +1,6 @@ import { ILinks, IRelationship, Multiloc } from 'typings'; +import { IdeaSortMethod } from 'api/phases/types'; import { PublicationStatus as ProjectPublicationStatus } from 'api/projects/types'; import { @@ -56,6 +57,20 @@ type ReactingIdeaActionDescriptor = cancelling_enabled: boolean; }; +export interface IdeaQueryParameters { + 'page[number]': number; + 'page[size]': number; + project_publication_status?: 'published'; + publication_status?: 'published'; + phase?: string; + + // filters + sort: IdeaSortMethod; + search?: string; + idea_status?: string; + topics?: string[]; +} + export interface IIdeaData { id: string; type: string; diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/ContentRight.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/ContentRight.tsx index 0de0b9451b76..35274d0e66ef 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/ContentRight.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/ContentRight.tsx @@ -3,11 +3,10 @@ import React, { useEffect, useState } from 'react'; import { Title } from '@citizenlab/cl2-component-library'; import styled from 'styled-components'; +import { IdeaQueryParameters } from 'api/ideas/types'; import { IIdeasFilterCounts } from 'api/ideas_filter_counts/types'; import { IdeaSortMethod } from 'api/phases/types'; -import { QueryParameters } from 'containers/IdeasIndexPage'; - import { ScreenReaderOnly } from 'utils/a11y'; import { FormattedMessage } from 'utils/cl-intl'; @@ -38,7 +37,7 @@ const Container = styled.div<{ `; interface Props { - ideaQueryParameters: QueryParameters; + ideaQueryParameters: IdeaQueryParameters; filterColumnWidth: number; filtersActive: boolean; ideasFilterCounts: IIdeasFilterCounts | undefined; diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx index 75100c53a074..87b5a4f4457d 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx @@ -15,14 +15,13 @@ import styled from 'styled-components'; import useIdeaCustomFieldsSchema from 'api/idea_json_form_schema/useIdeaJsonFormSchema'; import useIdeaMarkers from 'api/idea_markers/useIdeaMarkers'; +import { IdeaQueryParameters } from 'api/ideas/types'; import useInfiniteIdeas from 'api/ideas/useInfiniteIdeas'; import useIdeasFilterCounts from 'api/ideas_filter_counts/useIdeasFilterCounts'; import { PresentationMode, IdeaSortMethod, InputTerm } from 'api/phases/types'; import useLocale from 'hooks/useLocale'; -import { QueryParameters } from 'containers/IdeasIndexPage'; - import ViewButtons from 'components/PostCardsComponents/ViewButtons'; import { trackEventByName } from 'utils/analytics'; @@ -80,7 +79,7 @@ export interface QueryParametersUpdate { } export interface Props { - ideaQueryParameters: QueryParameters; + ideaQueryParameters: IdeaQueryParameters; onUpdateQuery: (newParams: QueryParametersUpdate) => void; showViewToggle?: boolean; defaultView?: PresentationMode; diff --git a/front/app/containers/IdeasIndexPage/index.tsx b/front/app/containers/IdeasIndexPage/index.tsx index 68bf00a807c1..5705da51f243 100644 --- a/front/app/containers/IdeasIndexPage/index.tsx +++ b/front/app/containers/IdeasIndexPage/index.tsx @@ -10,6 +10,7 @@ import { import { useSearchParams } from 'react-router-dom'; import styled from 'styled-components'; +import { IdeaQueryParameters } from 'api/ideas/types'; import { IdeaSortMethod } from 'api/phases/types'; import CityLogoSection from 'components/CityLogoSection'; @@ -75,20 +76,6 @@ const PageTitle = styled.h1` `} `; -export interface QueryParameters { - 'page[number]': number; - 'page[size]': number; - project_publication_status?: 'published'; - publication_status?: 'published'; - phase?: string; - - // filters - sort: IdeaSortMethod; - search?: string; - idea_status?: string; - topics?: string[]; -} - export default () => { const [searchParams] = useSearchParams(); const sortParam = searchParams.get('sort') as IdeaSortMethod | null; @@ -96,7 +83,7 @@ export default () => { const ideaStatusParam = searchParams.get('idea_status'); const topicsParam = searchParams.get('topics'); - const ideasQueryParameters = useMemo( + const ideasQueryParameters = useMemo( () => ({ 'page[number]': 1, 'page[size]': 12, From f670afbefa5b81d0da1343097cd6ce8942d486a4 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Wed, 11 Dec 2024 09:44:17 +0100 Subject: [PATCH 064/150] Code cleanup & reordering for clarity --- .../IdeasWithFiltersSidebar/index.tsx | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx index 87b5a4f4457d..914460480b8b 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx @@ -2,13 +2,13 @@ import React, { useCallback } from 'react'; import { media, - viewportWidths, defaultCardStyle, Spinner, useWindowSize, Box, Title, Text, + useBreakpoint, } from '@citizenlab/cl2-component-library'; import { useSearchParams } from 'react-router-dom'; import styled from 'styled-components'; @@ -101,22 +101,26 @@ const IdeasWithFiltersSidebar = ({ const { formatMessage } = useIntl(); const { windowWidth } = useWindowSize(); const [searchParams] = useSearchParams(); + const smallerThanPhone = useBreakpoint('phone'); + const biggerThanLargeTablet = !useBreakpoint('tablet'); + + // Get data from searchParams const selectedIdeaMarkerId = searchParams.get('idea_map_id'); + const selectedView = + (searchParams.get('view') as 'card' | 'map' | null) ?? + (selectedIdeaMarkerId ? 'map' : defaultView ?? 'card'); + + // Fetch ideas list & filter counts const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage } = useInfiniteIdeas(ideaQueryParameters); - const list = data?.pages.map((page) => page.data).flat(); const { data: ideasFilterCounts } = useIdeasFilterCounts(ideaQueryParameters); - const selectedView = - (searchParams.get('view') as 'card' | 'map' | null) ?? - (selectedIdeaMarkerId ? 'map' : defaultView ?? 'card'); - + // Determine if location field enabled for view buttons and idea markers const { data: ideaCustomFieldsSchemas } = useIdeaCustomFieldsSchema({ phaseId: ideaQueryParameters.phase, projectId, }); - const locationEnabled = !isNilOrError(ideaCustomFieldsSchemas) ? isFieldEnabled( 'location_description', @@ -124,14 +128,13 @@ const IdeasWithFiltersSidebar = ({ locale ) : false; - const showViewButtons = !!(locationEnabled && showViewToggle); + const loadIdeaMarkers = locationEnabled && selectedView === 'map'; const setSelectedView = useCallback((view: 'card' | 'map') => { updateSearchParams({ view }); }, []); - const loadIdeaMarkers = locationEnabled && selectedView === 'map'; const { data: ideaMarkers } = useIdeaMarkers( { projectIds: projectId ? [projectId] : null, @@ -196,14 +199,9 @@ const IdeasWithFiltersSidebar = ({ ideaQueryParameters.idea_status || ideaQueryParameters.topics ); - const biggerThanLargeTablet = !!( - windowWidth && windowWidth >= viewportWidths.tablet - ); - const smallerThanPhone = !!( - windowWidth && windowWidth <= viewportWidths.phone - ); - const showContentRight = biggerThanLargeTablet && selectedView === 'card'; + const showContentRight = biggerThanLargeTablet && selectedView === 'card'; + console.log(showContentRight); const ideasCount = ideasFilterCounts?.data.attributes.total || 0; return ( From 40480de01139ade66b2c09ea872b98b53b301e65 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Wed, 11 Dec 2024 09:46:56 +0100 Subject: [PATCH 065/150] Remove console log --- .../app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx index 914460480b8b..4885d32930c9 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx @@ -201,7 +201,7 @@ const IdeasWithFiltersSidebar = ({ ); const showContentRight = biggerThanLargeTablet && selectedView === 'card'; - console.log(showContentRight); + const ideasCount = ideasFilterCounts?.data.attributes.total || 0; return ( From 348852741db845597cdfb07043d7c5d5f101e58b Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Wed, 11 Dec 2024 09:55:43 +0100 Subject: [PATCH 066/150] Remove unnecessary code & cleanup --- .../IdeasWithFiltersSidebar/ContentRight.tsx | 8 ++----- .../IdeasWithFiltersSidebar/index.tsx | 23 ++++++++----------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/ContentRight.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/ContentRight.tsx index 35274d0e66ef..1b1c87de5a4c 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/ContentRight.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/ContentRight.tsx @@ -16,13 +16,12 @@ import InputFilters from './InputFilters'; import { gapWidth } from '.'; const Container = styled.div<{ - filterColumnWidth: number; top: number; maxHeightOffset: number; gapWidth: number; }>` - flex: 0 0 ${({ filterColumnWidth }) => filterColumnWidth}px; - width: ${({ filterColumnWidth }) => filterColumnWidth}px; + flex: 0 0 352px; + width: 352px; display: flex; flex-direction: column; justify-content: flex-start; @@ -38,7 +37,6 @@ const Container = styled.div<{ interface Props { ideaQueryParameters: IdeaQueryParameters; - filterColumnWidth: number; filtersActive: boolean; ideasFilterCounts: IIdeasFilterCounts | undefined; numberOfSearchResults: number; @@ -51,7 +49,6 @@ interface Props { const ContentRight = ({ ideaQueryParameters, - filterColumnWidth, filtersActive, ideasFilterCounts, numberOfSearchResults, @@ -80,7 +77,6 @@ const ContentRight = ({ return ( { const locale = useLocale(); const { formatMessage } = useIntl(); - const { windowWidth } = useWindowSize(); const [searchParams] = useSearchParams(); const smallerThanPhone = useBreakpoint('phone'); const biggerThanLargeTablet = !useBreakpoint('tablet'); @@ -115,8 +113,9 @@ const IdeasWithFiltersSidebar = ({ useInfiniteIdeas(ideaQueryParameters); const list = data?.pages.map((page) => page.data).flat(); const { data: ideasFilterCounts } = useIdeasFilterCounts(ideaQueryParameters); + const ideasCount = ideasFilterCounts?.data.attributes.total || 0; - // Determine if location field enabled for view buttons and idea markers + // Determine if location field enabled (for view button visibility and fetching idea markers) const { data: ideaCustomFieldsSchemas } = useIdeaCustomFieldsSchema({ phaseId: ideaQueryParameters.phase, projectId, @@ -130,11 +129,6 @@ const IdeasWithFiltersSidebar = ({ : false; const showViewButtons = !!(locationEnabled && showViewToggle); const loadIdeaMarkers = locationEnabled && selectedView === 'map'; - - const setSelectedView = useCallback((view: 'card' | 'map') => { - updateSearchParams({ view }); - }, []); - const { data: ideaMarkers } = useIdeaMarkers( { projectIds: projectId ? [projectId] : null, @@ -144,6 +138,10 @@ const IdeasWithFiltersSidebar = ({ loadIdeaMarkers ); + const setSelectedView = useCallback((view: 'card' | 'map') => { + updateSearchParams({ view }); + }, []); + const handleSearchOnChange = useCallback( (search: string | null) => { trackEventByName(tracks.searchFilterUsedIdeas); @@ -193,16 +191,14 @@ const IdeasWithFiltersSidebar = ({ }); }, [onUpdateQuery]); - const filterColumnWidth = windowWidth && windowWidth < 1400 ? 340 : 352; const filtersActive = !!( ideaQueryParameters.search || ideaQueryParameters.idea_status || ideaQueryParameters.topics ); - const showContentRight = biggerThanLargeTablet && selectedView === 'card'; - - const ideasCount = ideasFilterCounts?.data.attributes.total || 0; + const showInputFilterSidebar = + biggerThanLargeTablet && selectedView === 'card'; return ( @@ -294,10 +290,9 @@ const IdeasWithFiltersSidebar = ({ /> - {showContentRight && ( + {showInputFilterSidebar && ( Date: Wed, 11 Dec 2024 10:22:49 +0100 Subject: [PATCH 067/150] Update type --- .../app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx index 2a4ce6e165cd..6e338e693aa6 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx @@ -105,7 +105,7 @@ const IdeasWithFiltersSidebar = ({ // Get data from searchParams const selectedIdeaMarkerId = searchParams.get('idea_map_id'); const selectedView = - (searchParams.get('view') as 'card' | 'map' | null) ?? + (searchParams.get('view') as PresentationMode | null) ?? (selectedIdeaMarkerId ? 'map' : defaultView ?? 'card'); // Fetch ideas list & filter counts From 67ec3e2b6c6373ba3ad5085373f8fefc36001949 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Wed, 11 Dec 2024 10:24:51 +0100 Subject: [PATCH 068/150] Add better typing --- .../app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx index 6e338e693aa6..1c2518eb2315 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx @@ -138,7 +138,7 @@ const IdeasWithFiltersSidebar = ({ loadIdeaMarkers ); - const setSelectedView = useCallback((view: 'card' | 'map') => { + const setSelectedView = useCallback((view: PresentationMode) => { updateSearchParams({ view }); }, []); From 435f80622d816b4e61fc59830c36c65b9f95f2d5 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Wed, 11 Dec 2024 10:26:37 +0100 Subject: [PATCH 069/150] Use default view as card --- .../components/IdeaCards/IdeasWithFiltersSidebar/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx index 1c2518eb2315..1538a015b124 100644 --- a/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx +++ b/front/app/components/IdeaCards/IdeasWithFiltersSidebar/index.tsx @@ -91,7 +91,7 @@ const IdeasWithFiltersSidebar = ({ ideaQueryParameters, projectId, phaseId, - defaultView, + defaultView = 'card', onUpdateQuery, showViewToggle, inputTerm, @@ -106,7 +106,7 @@ const IdeasWithFiltersSidebar = ({ const selectedIdeaMarkerId = searchParams.get('idea_map_id'); const selectedView = (searchParams.get('view') as PresentationMode | null) ?? - (selectedIdeaMarkerId ? 'map' : defaultView ?? 'card'); + (selectedIdeaMarkerId ? 'map' : defaultView); // Fetch ideas list & filter counts const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage } = From 1d4f23bdf28e0bba10bb3618682ecfe90c5f6753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hoorens?= Date: Wed, 11 Dec 2024 10:43:04 +0100 Subject: [PATCH 070/150] use new db image for e2e specs + linux/x86_64 no longer needed --- docker-compose.yml | 1 - e2e/docker-compose.yml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index fee6aa5c1aea..5bdd955bd4af 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,6 @@ services: # `psql` versions stay in sync with the PostgreSQL version, reducing the risk of # incompatibilities. image: "citizenlabdotco/postgis-pgvector:latest" - platform: linux/x86_64 # From https://www.postgresql.org/docs/current/non-durability.html command: postgres -c fsync=off -c synchronous_commit=off -c full_page_writes=off environment: diff --git a/e2e/docker-compose.yml b/e2e/docker-compose.yml index 4951e5138592..ba9e1fc50007 100644 --- a/e2e/docker-compose.yml +++ b/e2e/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.8" services: postgres: container_name: e2e-postgres - image: "postgis/postgis:16-3.4" + image: "citizenlabdotco/postgis-pgvector:latest"" environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres From 20bd856d8da074be0fbe6808dbb593798865c1f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hoorens?= Date: Wed, 11 Dec 2024 10:45:09 +0100 Subject: [PATCH 071/150] test commit --- back/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/README.md b/back/README.md index 5f91605950cc..937dd2797852 100644 --- a/back/README.md +++ b/back/README.md @@ -1,4 +1,4 @@ -# cl2-back +# cl2_back ## Getting started From abcbc29a35d6de8282a5ba96c5792b17e8ea7c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hoorens?= Date: Wed, 11 Dec 2024 10:45:28 +0100 Subject: [PATCH 072/150] seems to work fine --- back/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/README.md b/back/README.md index 937dd2797852..5f91605950cc 100644 --- a/back/README.md +++ b/back/README.md @@ -1,4 +1,4 @@ -# cl2_back +# cl2-back ## Getting started From 04d69889776129ff8843314366f3b5e1a88bd6a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hoorens?= Date: Wed, 11 Dec 2024 11:31:51 +0100 Subject: [PATCH 073/150] fix syntax error e2e docker-compose --- e2e/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/docker-compose.yml b/e2e/docker-compose.yml index ba9e1fc50007..d72b03a6e4ab 100644 --- a/e2e/docker-compose.yml +++ b/e2e/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.8" services: postgres: container_name: e2e-postgres - image: "citizenlabdotco/postgis-pgvector:latest"" + image: "citizenlabdotco/postgis-pgvector:latest" environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres From f04624a583e534c20f7597c0baa96f8282bfcb46 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Wed, 11 Dec 2024 12:10:10 +0100 Subject: [PATCH 074/150] Fix up types --- .../ProjectsShowPage/timeline/Ideas.tsx | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx index cd088b5b142d..58a2f04f12bd 100644 --- a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx +++ b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx @@ -1,10 +1,9 @@ import React, { useMemo } from 'react'; import { Box } from '@citizenlab/cl2-component-library'; -import { MessageDescriptor } from 'react-intl'; import { useSearchParams } from 'react-router-dom'; -import { IdeaSortMethod, IPhaseData, PresentationMode } from 'api/phases/types'; +import { IdeaSortMethod, IPhaseData } from 'api/phases/types'; import usePhase from 'api/phases/usePhase'; import { IdeaSortMethodFallback } from 'api/phases/utils'; @@ -14,22 +13,11 @@ import { IdeaCardsWithFiltersSidebar, IdeaCardsWithoutFiltersSidebar, } from 'components/IdeaCards'; +import { Props as WithFiltersProps } from 'components/IdeaCards/IdeasWithFiltersSidebar'; import IdeaListScrollAnchor from 'components/IdeaListScrollAnchor'; import { updateSearchParams } from 'utils/cl-router/updateSearchParams'; import { getMethodConfig } from 'utils/configs/participationMethodConfig'; - -type SharedProps = { - className: string; - ideaQueryParameters: QueryParameters; - onUpdateQuery: (queryParameters: QueryParameters) => void; - projectId: string; - phaseId: string; - showViewToggle: boolean; - invisbleTitleMessage: MessageDescriptor; - defaultView: PresentationMode; -}; - interface InnerProps { projectId: string; phase: IPhaseData; @@ -84,14 +72,12 @@ const IdeasContainer = ({ projectId, phase, className }: InnerProps) => { const inputTerm = phase.attributes.input_term; - const sharedProps: SharedProps = { - className: participationMethod, + const sharedProps: WithFiltersProps = { ideaQueryParameters, onUpdateQuery: updateSearchParams, projectId, phaseId: phase.id, showViewToggle: true, - invisbleTitleMessage: messages.a11y_titleInputsPhase, defaultView: phase.attributes.presentation_mode, }; @@ -103,6 +89,7 @@ const IdeasContainer = ({ projectId, phase, className }: InnerProps) => { {isVotingContext ? ( Date: Wed, 11 Dec 2024 12:17:10 +0100 Subject: [PATCH 075/150] Removed wrapper for IdeasWithFilters component --- front/app/components/IdeaCards/index.tsx | 15 --------------- front/app/containers/IdeasIndexPage/index.tsx | 9 +++++---- .../ProjectsShowPage/timeline/Ideas.tsx | 13 +++++++------ 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/front/app/components/IdeaCards/index.tsx b/front/app/components/IdeaCards/index.tsx index 7e0898448911..13f9958bd7fe 100644 --- a/front/app/components/IdeaCards/index.tsx +++ b/front/app/components/IdeaCards/index.tsx @@ -1,6 +1,5 @@ import React, { lazy, Suspense } from 'react'; -const IdeasWithFiltersSidebar = lazy(() => import('./IdeasWithFiltersSidebar')); const IdeasWithoutFiltersSidebar = lazy( () => import('./IdeasWithoutFiltersSidebar') ); @@ -10,7 +9,6 @@ import styled from 'styled-components'; import { ScreenReaderOnly } from 'utils/a11y'; import { FormattedMessage } from 'utils/cl-intl'; -import { Props as WithSidebarProps } from './IdeasWithFiltersSidebar'; import { Props as WithoutSidebarProps } from './IdeasWithoutFiltersSidebar'; const Container = styled.div` @@ -38,19 +36,6 @@ const Wrapper = ({ ); -type IdeaCardsWithFiltersSidebarProps = Omit & - WithSidebarProps; - -export const IdeaCardsWithFiltersSidebar = ({ - className, - invisibleTitleMessage, - ...ideaCardsProps -}: IdeaCardsWithFiltersSidebarProps) => ( - - - -); - type IdeaCardsWithoutFiltersSidebarProps = Omit & WithoutSidebarProps; diff --git a/front/app/containers/IdeasIndexPage/index.tsx b/front/app/containers/IdeasIndexPage/index.tsx index 18a12fdc6f3a..6b1e25de96e9 100644 --- a/front/app/containers/IdeasIndexPage/index.tsx +++ b/front/app/containers/IdeasIndexPage/index.tsx @@ -1,4 +1,4 @@ -import React, { useMemo } from 'react'; +import React, { lazy, useMemo } from 'react'; import { media, @@ -14,7 +14,9 @@ import { IdeaSortMethod } from 'api/phases/types'; import CityLogoSection from 'components/CityLogoSection'; import ContentContainer from 'components/ContentContainer'; -import { IdeaCardsWithFiltersSidebar } from 'components/IdeaCards'; +const IdeasWithFiltersSidebar = lazy( + () => import('components/IdeaCards/IdeasWithFiltersSidebar') +); import IdeaListScrollAnchor from 'components/IdeaListScrollAnchor'; import { FormattedMessage } from 'utils/cl-intl'; @@ -111,8 +113,7 @@ export default () => { when fitlers are changed in the IdeaCardsWithFiltersSidebar component and scrollToTopIdeasList util. */} - diff --git a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx index 58a2f04f12bd..3fd2817e05f6 100644 --- a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx +++ b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx @@ -1,4 +1,4 @@ -import React, { useMemo } from 'react'; +import React, { lazy, useMemo } from 'react'; import { Box } from '@citizenlab/cl2-component-library'; import { useSearchParams } from 'react-router-dom'; @@ -9,10 +9,11 @@ import { IdeaSortMethodFallback } from 'api/phases/utils'; import messages from 'containers/ProjectsShowPage/messages'; -import { - IdeaCardsWithFiltersSidebar, - IdeaCardsWithoutFiltersSidebar, -} from 'components/IdeaCards'; +const IdeasWithFiltersSidebar = lazy( + () => import('components/IdeaCards/IdeasWithFiltersSidebar') +); + +import { IdeaCardsWithoutFiltersSidebar } from 'components/IdeaCards'; import { Props as WithFiltersProps } from 'components/IdeaCards/IdeasWithFiltersSidebar'; import IdeaListScrollAnchor from 'components/IdeaListScrollAnchor'; @@ -97,7 +98,7 @@ const IdeasContainer = ({ projectId, phase, className }: InnerProps) => { ) : ( <> - + )} From 719a9f4c873a0482e003dad7c23ad50a54f34251 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Wed, 11 Dec 2024 12:10:50 +0000 Subject: [PATCH 076/150] Remove survey delete code --- .../patches/side_fx_idea_service.rb | 2 +- .../services/side_fx_idea_service_spec.rb | 52 +++++++++---------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/back/engines/commercial/idea_assignment/app/services/idea_assignment/patches/side_fx_idea_service.rb b/back/engines/commercial/idea_assignment/app/services/idea_assignment/patches/side_fx_idea_service.rb index 2ddb15458428..d5bf486d10d0 100644 --- a/back/engines/commercial/idea_assignment/app/services/idea_assignment/patches/side_fx_idea_service.rb +++ b/back/engines/commercial/idea_assignment/app/services/idea_assignment/patches/side_fx_idea_service.rb @@ -12,7 +12,7 @@ def before_update(idea, user) def after_update(idea, user) super - remove_duplicate_survey_responses_on_publish(idea) + # remove_duplicate_survey_responses_on_publish(idea) return unless idea.assignee_id_previously_changed? initiating_user = user_for_activity_on_anonymizable_item(idea, @automatic_assignment ? nil : user) diff --git a/back/spec/services/side_fx_idea_service_spec.rb b/back/spec/services/side_fx_idea_service_spec.rb index c39dd0f5d518..42ef3d27dc3e 100644 --- a/back/spec/services/side_fx_idea_service_spec.rb +++ b/back/spec/services/side_fx_idea_service_spec.rb @@ -353,32 +353,32 @@ .with(idea) end - context 'native survey responses' do - before { create(:idea_status_proposed) } - - let(:idea) { create(:native_survey_response, publication_status: 'draft') } - - it 'deletes other draft responses by the same user when the survey response is submitted (published)' do - create(:native_survey_response, publication_status: 'draft', project: idea.project, creation_phase: idea.creation_phase, author: idea.author) - idea.update!(publication_status: 'published') - expect { service.after_update(idea, user) } - .to change { Idea.all.count }.from(2).to(1) - end - - it 'does not deletes draft responses by different users when the survey response is submitted (published)' do - create(:native_survey_response, publication_status: 'draft', project: idea.project, creation_phase: idea.creation_phase) - idea.update!(publication_status: 'published') - service.after_update(idea, user) - expect(Idea.all.count).to eq 2 - end - - it 'does not deletes draft responses when the survey response is still in draft' do - create(:native_survey_response, publication_status: 'draft', project: idea.project, creation_phase: idea.creation_phase) - idea.update!(custom_field_values: {}) - service.after_update(idea, user) - expect(Idea.all.count).to eq 2 - end - end + # context 'native survey responses' do + # before { create(:idea_status_proposed) } + # + # let(:idea) { create(:native_survey_response, publication_status: 'draft') } + # + # it 'deletes other draft responses by the same user when the survey response is submitted (published)' do + # create(:native_survey_response, publication_status: 'draft', project: idea.project, creation_phase: idea.creation_phase, author: idea.author) + # idea.update!(publication_status: 'published') + # expect { service.after_update(idea, user) } + # .to change { Idea.all.count }.from(2).to(1) + # end + # + # it 'does not deletes draft responses by different users when the survey response is submitted (published)' do + # create(:native_survey_response, publication_status: 'draft', project: idea.project, creation_phase: idea.creation_phase) + # idea.update!(publication_status: 'published') + # service.after_update(idea, user) + # expect(Idea.all.count).to eq 2 + # end + # + # it 'does not deletes draft responses when the survey response is still in draft' do + # create(:native_survey_response, publication_status: 'draft', project: idea.project, creation_phase: idea.creation_phase) + # idea.update!(custom_field_values: {}) + # service.after_update(idea, user) + # expect(Idea.all.count).to eq 2 + # end + # end end describe 'after_destroy' do From 6f3f1f31af661967318c2727a5ad17c2d248ecbf Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Wed, 11 Dec 2024 14:11:43 +0100 Subject: [PATCH 077/150] New translations en.json (French) --- front/app/translations/admin/fr-FR.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/app/translations/admin/fr-FR.json b/front/app/translations/admin/fr-FR.json index 4694bfd2203b..ee71b23fb52e 100644 --- a/front/app/translations/admin/fr-FR.json +++ b/front/app/translations/admin/fr-FR.json @@ -2463,7 +2463,7 @@ "app.containers.AdminPage.projects.project.analysis.invalidShapefile": "Le fichier de formes téléchargé est invalide et ne peut pas être affiché.", "app.containers.AdminPage.projects.project.analysis.limit": "Limite", "app.containers.AdminPage.projects.project.analysis.mainQuestion": "Question principale", - "app.containers.AdminPage.projects.project.analysis.manageInput": "Gérer les entrées", + "app.containers.AdminPage.projects.project.analysis.manageInput": "Gérer les contributions", "app.containers.AdminPage.projects.project.analysis.noAnswer": "Pas de réponse", "app.containers.AdminPage.projects.project.analysis.noAnswerProvided2": "Aucune réponse n'a été fournie.", "app.containers.AdminPage.projects.project.analysis.noFileUploaded": "Aucun fichier de formes n'a été téléchargé.", @@ -2838,7 +2838,7 @@ "containers.Admin.reporting.components.ReportBuilder.Widgets.SurveyQuestionResultWidget.Settings.registrationField": "Champ du profil utilisateur", "containers.Admin.reporting.components.ReportBuilder.Widgets.SurveyQuestionResultWidget.Settings.surveyPhase": "Phase d'enquête", "containers.Admin.reporting.components.ReportBuilder.Widgets.SurveyQuestionResultWidget.Settings.surveyQuestion": "Question d'enquête", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Published.noData": "Aucun projet ou dossier publié n'est disponible", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Published.noData": "Aucun projet ou dossier publié disponible", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Published.publishedTitle": "Projets et dossiers publiés", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Published.thisWidgetWillShow": "Ce widget affiche les projets et les dossiers qui sont actuellement publiés, en respectant l'ordre défini sur la page des projets. Ce comportement est le même que celui de l'onglet \"actif\" de l'ancien widget \"projets\".", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Dans ce widget, vous pouvez sélectionner les projets et les dossiers de votre choix.", From ef4167428e1068235d718f0cbcddaf6cf249631e Mon Sep 17 00:00:00 2001 From: Adrien Dessy Date: Wed, 11 Dec 2024 14:40:10 +0100 Subject: [PATCH 078/150] Fix idea deletion on production platforms --- back/app/services/participants_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/app/services/participants_service.rb b/back/app/services/participants_service.rb index 7857bfb50dd2..3bf5db33fa50 100644 --- a/back/app/services/participants_service.rb +++ b/back/app/services/participants_service.rb @@ -211,6 +211,6 @@ def destroy_participation_data(project) # (Ideas in voting phases are considered part of the project setup.) voting_phases = project.phases.where(participation_method: 'voting') ideas_in_voting_phases = IdeasPhase.where(phase: voting_phases).select(:idea_id) - Idea.where.not(id: ideas_in_voting_phases).destroy_all + Idea.where(project: project).where.not(id: ideas_in_voting_phases).destroy_all end end From b00505123acd28bd42ebcc352edbf06252b45413 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Wed, 11 Dec 2024 11:20:43 -0300 Subject: [PATCH 079/150] Add title instead of shimmer for projects carrousel --- .../Widgets/FinishedOrArchived/index.tsx | 5 ++-- .../Widgets/FollowedItems/index.tsx | 5 ++-- .../Widgets/OpenToParticipation/index.tsx | 5 ++-- .../Skeleton/Skeleton.stories.tsx | 6 ++++- .../ProjectCarrousel/Skeleton/index.tsx | 24 ++++++++++--------- 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FinishedOrArchived/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FinishedOrArchived/index.tsx index aa6aaa2a4eb2..5344f793f692 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FinishedOrArchived/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/FinishedOrArchived/index.tsx @@ -29,9 +29,10 @@ const FinishedOrArchived = ({ titleMultiloc, filterBy }: Props) => { }); const projects = data?.pages.map((page) => page.data).flat(); + const title = localize(titleMultiloc); if (isInitialLoading) { - return ; + return ; } if (!projects) return null; if (projects.length === 0) { @@ -42,7 +43,7 @@ const FinishedOrArchived = ({ titleMultiloc, filterBy }: Props) => { return ( { endpoint: 'for_followed_item', }); const projects = data?.pages.map((page) => page.data).flat(); + const title = localize(titleMultiloc); if (isInitialLoading && !!authUser?.data) { - return ; + return ; } if (!projects) return null; @@ -41,7 +42,7 @@ const FollowedItems = ({ titleMultiloc }: Props) => { return ( { endpoint: 'with_active_participatory_phase', }); const projects = data?.pages.map((page) => page.data).flat(); + const title = localize(titleMultiloc); if (isInitialLoading) { - return ; + return ; } if (!projects) return null; @@ -38,7 +39,7 @@ const OpenToParticipation = ({ titleMultiloc }: Props) => { return ( ; -export const Primary: Story = {}; +export const Primary: Story = { + args: { + title: 'Title', + }, +}; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx index 5d8b752d038e..353063d3ac25 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/index.tsx @@ -1,7 +1,6 @@ import React from 'react'; -import { useBreakpoint, Box, Shimmer } from '@citizenlab/cl2-component-library'; -import { useTheme } from 'styled-components'; +import { useBreakpoint, Box, Title } from '@citizenlab/cl2-component-library'; import { DEFAULT_PADDING } from 'components/admin/ContentBuilder/constants'; @@ -10,20 +9,23 @@ import { CarrouselContainer } from '../../BaseCarrousel/Containers'; import CardSkeleton from './CardSkeleton'; -const Skeleton = () => { +interface Props { + title: string; +} + +const Skeleton = ({ title }: Props) => { const isSmallerThanPhone = useBreakpoint('phone'); - const theme = useTheme(); return ( - + color="tenantText" + > + {title} + Date: Wed, 11 Dec 2024 11:22:59 -0300 Subject: [PATCH 080/150] Change story title --- .../_shared/ProjectCarrousel/Skeleton/Skeleton.stories.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/Skeleton.stories.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/Skeleton.stories.tsx index cb01ff15868c..cc6cda9c4615 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/Skeleton.stories.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/ProjectCarrousel/Skeleton/Skeleton.stories.tsx @@ -15,6 +15,6 @@ type Story = StoryObj; export const Primary: Story = { args: { - title: 'Title', + title: 'Open to participation', }, }; From 643107d9abd2085bd9015519125a6a7be419db7f Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Wed, 11 Dec 2024 11:30:16 -0300 Subject: [PATCH 081/150] Also do for admin pubs carrousel --- .../components/Widgets/Published/index.tsx | 5 ++-- .../components/Widgets/Selection/index.tsx | 6 +++-- .../Skeleton/Skeleton.stories.tsx | 6 ++++- .../Skeleton/index.tsx | 24 ++++++++++--------- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx index 3462921ef8e7..2521efa93251 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/Published/index.tsx @@ -30,9 +30,10 @@ const Published = ({ titleMultiloc }: Props) => { }); const adminPublications = data?.pages.map((page) => page.data).flat(); + const title = localize(titleMultiloc); if (isInitialLoading) { - return ; + return ; } if (!adminPublications) return null; @@ -44,7 +45,7 @@ const Published = ({ titleMultiloc }: Props) => { return ( { ); } + const title = localize(titleMultiloc); + if (isInitialLoading) { - return ; + return ; } if (!adminPublications) return null; return ( ; -export const Primary: Story = {}; +export const Primary: Story = { + args: { + title: 'AdminPublicationsCarrousel', + }, +}; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx index 854826de4978..ddf977d23a89 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Widgets/_shared/AdminPublicationsCarrousel/Skeleton/index.tsx @@ -1,7 +1,6 @@ import React from 'react'; -import { useBreakpoint, Shimmer, Box } from '@citizenlab/cl2-component-library'; -import { useTheme } from 'styled-components'; +import { useBreakpoint, Title, Box } from '@citizenlab/cl2-component-library'; import { DEFAULT_PADDING } from 'components/admin/ContentBuilder/constants'; @@ -10,20 +9,23 @@ import { CarrouselContainer } from '../../BaseCarrousel/Containers'; import CardSkeleton from './CardSkeleton'; -const Skeleton = () => { +interface Props { + title: string; +} + +const Skeleton = ({ title }: Props) => { const isSmallerThanPhone = useBreakpoint('phone'); - const theme = useTheme(); return ( - + color="tenantText" + > + {title} + Date: Wed, 11 Dec 2024 16:23:23 +0100 Subject: [PATCH 082/150] New translations en.json (Dutch) --- front/app/translations/nl-NL.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/translations/nl-NL.json b/front/app/translations/nl-NL.json index 12806b8b17d6..990874c9358d 100644 --- a/front/app/translations/nl-NL.json +++ b/front/app/translations/nl-NL.json @@ -1339,7 +1339,7 @@ "app.containers.IdeasShow.MetaInformation.currentStatus": "Huidige status", "app.containers.IdeasShow.MetaInformation.location": "Locatie", "app.containers.IdeasShow.MetaInformation.postedBy": "Geplaatst door", - "app.containers.IdeasShow.MetaInformation.similar": "Vergelijkbare inputs", + "app.containers.IdeasShow.MetaInformation.similar": "Vergelijkbare bijdragen", "app.containers.IdeasShow.MetaInformation.topics": "Tags", "app.containers.IdeasShow.commentCTA": "Voeg een reactie toe", "app.containers.IdeasShow.contributionEmailSharingBody": "Deze bijdrage '{postTitle}' op {postUrl} steunen!", From 6e595dc0d78df25947ceeec7515b68b8ef97e437 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:25:06 +0100 Subject: [PATCH 083/150] New translations en.json (Dutch, Belgium) --- front/app/translations/nl-BE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/translations/nl-BE.json b/front/app/translations/nl-BE.json index 9732b57a4bfe..95f593ecc111 100644 --- a/front/app/translations/nl-BE.json +++ b/front/app/translations/nl-BE.json @@ -1339,7 +1339,7 @@ "app.containers.IdeasShow.MetaInformation.currentStatus": "Huidige status", "app.containers.IdeasShow.MetaInformation.location": "Locatie", "app.containers.IdeasShow.MetaInformation.postedBy": "Geplaatst door", - "app.containers.IdeasShow.MetaInformation.similar": "Vergelijkbare inputs", + "app.containers.IdeasShow.MetaInformation.similar": "Vergelijkbare bijdragen", "app.containers.IdeasShow.MetaInformation.topics": "Tags", "app.containers.IdeasShow.commentCTA": "Voeg een reactie toe", "app.containers.IdeasShow.contributionEmailSharingBody": "Dit onderwerp '{postTitle}' op {postUrl} steunen!", From 91fc9f0ad3095f82dce57cc8bb0c52e9f7884bcb Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:25:19 +0100 Subject: [PATCH 084/150] New translations en.json (French, Belgium) --- front/app/translations/admin/fr-BE.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/app/translations/admin/fr-BE.json b/front/app/translations/admin/fr-BE.json index a5dbd8d2798e..da9503cb0c24 100644 --- a/front/app/translations/admin/fr-BE.json +++ b/front/app/translations/admin/fr-BE.json @@ -2463,7 +2463,7 @@ "app.containers.AdminPage.projects.project.analysis.invalidShapefile": "Le fichier de formes téléchargé est invalide et ne peut pas être affiché.", "app.containers.AdminPage.projects.project.analysis.limit": "Limite", "app.containers.AdminPage.projects.project.analysis.mainQuestion": "Question principale", - "app.containers.AdminPage.projects.project.analysis.manageInput": "Gérer les entrées", + "app.containers.AdminPage.projects.project.analysis.manageInput": "Gérer les contributions", "app.containers.AdminPage.projects.project.analysis.noAnswer": "Pas de réponse", "app.containers.AdminPage.projects.project.analysis.noAnswerProvided2": "Aucune réponse n'a été fournie.", "app.containers.AdminPage.projects.project.analysis.noFileUploaded": "Aucun fichier de formes n'a été téléchargé.", @@ -2838,7 +2838,7 @@ "containers.Admin.reporting.components.ReportBuilder.Widgets.SurveyQuestionResultWidget.Settings.registrationField": "Champ du profil utilisateur", "containers.Admin.reporting.components.ReportBuilder.Widgets.SurveyQuestionResultWidget.Settings.surveyPhase": "Phase d'enquête", "containers.Admin.reporting.components.ReportBuilder.Widgets.SurveyQuestionResultWidget.Settings.surveyQuestion": "Question d'enquête", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Published.noData": "Aucun projet ou dossier publié n'est disponible", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Published.noData": "Aucun projet ou dossier publié disponible", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Published.publishedTitle": "Projets et dossiers publiés", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Published.thisWidgetWillShow": "Ce widget affiche les projets et les dossiers qui sont actuellement publiés, en respectant l'ordre défini sur la page des projets. Ce comportement est le même que celui de l'onglet \"actif\" de l'ancien widget \"projets\".", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Dans ce widget, vous pouvez sélectionner les projets et les dossiers de votre choix.", From 6454638da6720f81bdead11a840a79ec3a892888 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Wed, 11 Dec 2024 13:30:55 -0300 Subject: [PATCH 085/150] Use styled-components keyframes utility --- .../components/Shimmer/index.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/front/app/component-library/components/Shimmer/index.tsx b/front/app/component-library/components/Shimmer/index.tsx index 51aab13a4b49..d9c41f6c426e 100644 --- a/front/app/component-library/components/Shimmer/index.tsx +++ b/front/app/component-library/components/Shimmer/index.tsx @@ -1,11 +1,17 @@ import React from 'react'; import { lighten } from 'polished'; -import styled from 'styled-components'; +import styled, { keyframes } from 'styled-components'; import { colors } from '../../utils/styleUtils'; import Box, { BoxProps } from '../Box'; +const shimmerAnimation = keyframes` + to { + background-position-x: 0%; + } +`; + const ShimmerBox = styled(Box)<{ $bgColor: string }>` ${({ $bgColor }) => { return `background: linear-gradient( @@ -17,13 +23,7 @@ const ShimmerBox = styled(Box)<{ $bgColor: string }>` }} background-size: 300%; background-position-x: 100%; - animation: shimmer 2s infinite; - - @keyframes shimmer { - to { - background-position-x: 0%; - } - } + animation: ${shimmerAnimation} 2s infinite; `; const Shimmer = ({ bgColor = colors.black, ...props }: BoxProps) => { From bdada52d0eca924447586540684187a25d0471f1 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Wed, 11 Dec 2024 13:31:52 -0300 Subject: [PATCH 086/150] Add aria-hidden attribute --- front/app/component-library/components/Shimmer/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/component-library/components/Shimmer/index.tsx b/front/app/component-library/components/Shimmer/index.tsx index d9c41f6c426e..0016209467be 100644 --- a/front/app/component-library/components/Shimmer/index.tsx +++ b/front/app/component-library/components/Shimmer/index.tsx @@ -27,7 +27,7 @@ const ShimmerBox = styled(Box)<{ $bgColor: string }>` `; const Shimmer = ({ bgColor = colors.black, ...props }: BoxProps) => { - return ; + return ; }; export default Shimmer; From f149cde0f95baa19e8f67f5dd4858ff25becc532 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Wed, 11 Dec 2024 17:47:13 +0100 Subject: [PATCH 087/150] Add suspense --- front/app/containers/IdeasIndexPage/index.tsx | 12 +++++++----- .../containers/ProjectsShowPage/timeline/Ideas.tsx | 6 ++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/front/app/containers/IdeasIndexPage/index.tsx b/front/app/containers/IdeasIndexPage/index.tsx index 6b1e25de96e9..97ffe8e938c9 100644 --- a/front/app/containers/IdeasIndexPage/index.tsx +++ b/front/app/containers/IdeasIndexPage/index.tsx @@ -1,4 +1,4 @@ -import React, { lazy, useMemo } from 'react'; +import React, { lazy, Suspense, useMemo } from 'react'; import { media, @@ -113,10 +113,12 @@ export default () => { when fitlers are changed in the IdeaCardsWithFiltersSidebar component and scrollToTopIdeasList util. */} - + + + diff --git a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx index 3fd2817e05f6..f445fb3212c8 100644 --- a/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx +++ b/front/app/containers/ProjectsShowPage/timeline/Ideas.tsx @@ -1,4 +1,4 @@ -import React, { lazy, useMemo } from 'react'; +import React, { lazy, Suspense, useMemo } from 'react'; import { Box } from '@citizenlab/cl2-component-library'; import { useSearchParams } from 'react-router-dom'; @@ -98,7 +98,9 @@ const IdeasContainer = ({ projectId, phase, className }: InnerProps) => { ) : ( <> - + + + )} From 60e737b1b999d179034787a8b26a1c5df0b5d83f Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Wed, 11 Dec 2024 17:52:21 +0100 Subject: [PATCH 088/150] Add in suspense --- front/app/containers/IdeasIndexPage/index.tsx | 3 ++- front/app/containers/ProjectsShowPage/timeline/Ideas.tsx | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/front/app/containers/IdeasIndexPage/index.tsx b/front/app/containers/IdeasIndexPage/index.tsx index 97ffe8e938c9..f67f26754dab 100644 --- a/front/app/containers/IdeasIndexPage/index.tsx +++ b/front/app/containers/IdeasIndexPage/index.tsx @@ -5,6 +5,7 @@ import { fontSizes, colors, isRtl, + Spinner, } from '@citizenlab/cl2-component-library'; import { useSearchParams } from 'react-router-dom'; import styled from 'styled-components'; @@ -113,7 +114,7 @@ export default () => { when fitlers are changed in the IdeaCardsWithFiltersSidebar component and scrollToTopIdeasList util. */} - + }> { ) : ( <> - + }> From 01cda19895bbd4de2cdc17637677aa39bf7be0d9 Mon Sep 17 00:00:00 2001 From: Luuc van der Zee Date: Wed, 11 Dec 2024 14:25:22 -0300 Subject: [PATCH 089/150] Remove feature flag --- back/config/schemas/settings.schema.json.erb | 12 -- .../multi_tenancy/db/seeds/tenants.rb | 4 - front/app/api/app_configuration/types.ts | 1 - .../components/Toolbox/index.tsx | 135 ++++++++---------- 4 files changed, 61 insertions(+), 91 deletions(-) diff --git a/back/config/schemas/settings.schema.json.erb b/back/config/schemas/settings.schema.json.erb index 4deeee41c4a7..d8209cd57cb8 100644 --- a/back/config/schemas/settings.schema.json.erb +++ b/back/config/schemas/settings.schema.json.erb @@ -1397,18 +1397,6 @@ } }, - "new_homepage_widgets": { - "type": "object", - "title": "New homepage widgets", - "description": "New homepage widgets (sticky homepages tandem). Feature flagged until pricing plan stuff decided.", - "additionalProperties": false, - "required": ["allowed", "enabled"], - "properties": { - "allowed": { "type": "boolean", "default": false }, - "enabled": { "type": "boolean", "default": false } - } - }, - "project_review": { "type": "object", "title": "Project review", diff --git a/back/engines/commercial/multi_tenancy/db/seeds/tenants.rb b/back/engines/commercial/multi_tenancy/db/seeds/tenants.rb index 3067e92fbb9a..8a0e25d4f918 100644 --- a/back/engines/commercial/multi_tenancy/db/seeds/tenants.rb +++ b/back/engines/commercial/multi_tenancy/db/seeds/tenants.rb @@ -487,10 +487,6 @@ def create_localhost_tenant allowed: true, issuer: '' # Change this value to 'https://fake-sso.onrender.com' to test with the deployed version of the Fake SSO }, - new_homepage_widgets: { - enabled: true, - allowed: true - }, project_review: { enabled: true, allowed: true diff --git a/front/app/api/app_configuration/types.ts b/front/app/api/app_configuration/types.ts index 83067c8d0ee4..7decb6fc621d 100644 --- a/front/app/api/app_configuration/types.ts +++ b/front/app/api/app_configuration/types.ts @@ -255,7 +255,6 @@ export interface IAppConfigurationSettings { prescreening?: AppConfigurationFeature; prescreening_ideation?: AppConfigurationFeature; input_cosponsorship?: AppConfigurationFeature; - new_homepage_widgets?: AppConfigurationFeature; project_review?: AppConfigurationFeature; similar_inputs?: AppConfigurationFeature & { admins_only: boolean; diff --git a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx index 203035093465..20ed5f0bab19 100644 --- a/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx +++ b/front/app/containers/Admin/pagesAndMenu/containers/ContentBuilder/components/Toolbox/index.tsx @@ -6,7 +6,6 @@ import { SupportedLocale } from 'typings'; import useAppConfigurationLocales, { createMultiloc, } from 'hooks/useAppConfigurationLocales'; -import useFeatureFlag from 'hooks/useFeatureFlag'; import Container from 'components/admin/ContentBuilder/Toolbox/Container'; import DraggableElement from 'components/admin/ContentBuilder/Toolbox/DraggableElement'; @@ -80,9 +79,6 @@ const HomepageBuilderToolbox = ({ const { formatMessage } = useIntl(); const formatMessageWithLocale = useFormatMessageWithLocale(); const appConfigurationLocales = useAppConfigurationLocales(); - const newHomepageWidgetsEnabled = useFeatureFlag({ - name: 'new_homepage_widgets', - }); if (!appConfigurationLocales) return null; @@ -108,76 +104,67 @@ const HomepageBuilderToolbox = ({ icon="rectangle" label={formatMessage(homepageBannerTitle)} /> - {newHomepageWidgetsEnabled && ( - - } - icon="personRaisedHand" - label={formatMessage(openToParticipationTitle)} - /> - )} - {newHomepageWidgetsEnabled && ( - - } - icon="notification" - label={formatMessage(followedItemsTitle)} - /> - )} - {newHomepageWidgetsEnabled && ( - - } - icon="sportsScore" - label={formatMessage(finishedOrArchivedTitle)} - /> - )} - {newHomepageWidgetsEnabled && ( - - } - icon="flash" - label={formatMessage(spotlightTitle)} - /> - )} - {newHomepageWidgetsEnabled && ( - - } - icon="folder-outline" - label={formatMessage(selectionTitle)} - /> - )} - {newHomepageWidgetsEnabled && ( - } - icon="check-circle" - label={formatMessage(publishedTitle)} - /> - )} + + } + icon="personRaisedHand" + label={formatMessage(openToParticipationTitle)} + /> + + } + icon="notification" + label={formatMessage(followedItemsTitle)} + /> + + } + icon="sportsScore" + label={formatMessage(finishedOrArchivedTitle)} + /> + + + } + icon="flash" + label={formatMessage(spotlightTitle)} + /> + + + } + icon="folder-outline" + label={formatMessage(selectionTitle)} + /> + + } + icon="check-circle" + label={formatMessage(publishedTitle)} + /> } From 0424e798711fdfabcba6e0069e03f4b2fb34a3ed Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:25 +0100 Subject: [PATCH 090/150] New translations en.json (French) --- front/app/translations/admin/fr-FR.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/fr-FR.json b/front/app/translations/admin/fr-FR.json index 23e0af18c464..85f1db8b6bae 100644 --- a/front/app/translations/admin/fr-FR.json +++ b/front/app/translations/admin/fr-FR.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Brouillon", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Tous les utilisateurs", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Groupes", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Votants hors ligne", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participant} other {{participantsCount} participants}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Les participants aux événements", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Les utilisateurs interagissant avec les méthodes intégrées (par exemple, enquêtes externes)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Les followers d'un projet", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Remarque : L'activation de la participation anonyme ou sans compte utilisateur peut permettre aux utilisateurs de participer plusieurs fois, ce qui pourrait conduire des résultats trompeurs ou non représentatifs.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Les participants n'incluent pas :", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Les participants incluent :", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Utilisateurs interagissant avec les méthodes natives de Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Paramètres du projet", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Le projet sera affiché dans la barre de navigation uniquement si les utilisateurs y ont accès.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Pas de date de fin", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Appuyez sur Échap (Esc) pour passer le carrousel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projets et dossiers (héritage)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Titre du projet", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} travaille actuellement sur", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texte du bouton", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Dans ce widget, vous pouvez sélectionner les projets et les dossiers de votre choix.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Aucun projet ou dossier sélectionné", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Sélectionnez des projets ou des dossiers", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Projets et dossiers sélectionnés", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projets", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visitez notre centre d'assistance", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 8bb62dedc36051b04d04ff48e9aa3fbe3c986ac3 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:26 +0100 Subject: [PATCH 091/150] New translations en.json (French) --- front/app/translations/fr-FR.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/fr-FR.json b/front/app/translations/fr-FR.json index 7f909fe2c475..1ca8ce4a571f 100644 --- a/front/app/translations/fr-FR.json +++ b/front/app/translations/fr-FR.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Aucun événement passé à afficher", "app.containers.Projects.noPhaseSelected": "Pas de phase sélectionnée", "app.containers.Projects.noUpcomingOrOngoingEvents": "Aucun événement à venir ou en cours n'est actuellement prévu.", + "app.containers.Projects.offlineVotersTooltip": "Ce nombre ne prend pas en compte les votes hors ligne.", "app.containers.Projects.options": "Options", "app.containers.Projects.participants": "Participants", "app.containers.Projects.participantsTooltip4": "Ce chiffre inclut également les réponses anonymes à l'enquête. Les réponses anonymes sont possibles si l'enquête est ouverte à tous (voir l'onglet {accessRightsLink} de ce projet).", From cc72f4c3eb977efef185f573217e4edc33d35d14 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:29 +0100 Subject: [PATCH 092/150] New translations en.json (Spanish) --- front/app/translations/admin/es-ES.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/es-ES.json b/front/app/translations/admin/es-ES.json index 1328d8a7ec76..e3e5c41283f3 100644 --- a/front/app/translations/admin/es-ES.json +++ b/front/app/translations/admin/es-ES.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Borrador", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Todo el mundo", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grupos", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Votantes offline", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participante} other {{participantsCount} participantes}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Asistentes al acto", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participantes en métodos integrados (por ejemplo, encuestas externas)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Seguidores de un proyecto", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Nota: Activar los permisos de participación anónima o abierta puede permitir que los usuarios participen varias veces, lo que daría lugar a datos de usuario engañosos o incompletos.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Los participantes no incluyen:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Entre los participantes figuran:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Usuarios interactuando con los métodos de Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Ajustes del proyecto", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "La barra de navegación sólo mostrará los proyectos a los que tengan acceso los usuarios.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Sin fecha de finalización", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pulsa escape para saltar el carrusel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Proyectos y carpetas (legado)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Título del proyecto", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} está trabajando actualmente en", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texto del botón", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "En este widget, puedes seleccionar los proyectos y carpetas que quieras.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No hay proyectos ni carpetas seleccionados", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecciona proyectos o carpetas", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Proyectos y carpetas seleccionados", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} proyectos", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visite nuestro centro de soporte", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 7a8081432d08081cd47d9a60f399b7e7139a0e9e Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:30 +0100 Subject: [PATCH 093/150] New translations en.json (Spanish) --- front/app/translations/es-ES.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/es-ES.json b/front/app/translations/es-ES.json index cf2d6460128b..64808a90d463 100644 --- a/front/app/translations/es-ES.json +++ b/front/app/translations/es-ES.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "No eventos anteriores que mostrar", "app.containers.Projects.noPhaseSelected": "Ninguna fase seleccionada", "app.containers.Projects.noUpcomingOrOngoingEvents": "Actualmente no hay eventos próximos o en curso.", + "app.containers.Projects.offlineVotersTooltip": "Esta cifra no refleja ningún recuento de votantes offline.", "app.containers.Projects.options": "Opciones", "app.containers.Projects.participants": "Participantes", "app.containers.Projects.participantsTooltip4": "Esta cifra también refleja los envíos anónimos de encuestas. Los envíos anónimos de encuestas son posibles si las encuestas están abiertas a todo el mundo (consulta la pestaña {accessRightsLink} de este proyecto).", From 6d50456d65d9d0cde3f90b36bf5bae007fbc38bd Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:33 +0100 Subject: [PATCH 094/150] New translations en.json (Arabic) --- front/app/translations/admin/ar-SA.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/ar-SA.json b/front/app/translations/admin/ar-SA.json index dd09528e89c0..eefe005e97ab 100644 --- a/front/app/translations/admin/ar-SA.json +++ b/front/app/translations/admin/ar-SA.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "مسودة", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "الجميع", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "مجموعات", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "الناخبون غير المتصلين بالإنترنت", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 مشارك} other {{participantsCount} مشاركون}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "الحضور في الحدث", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "المشاركون في الأساليب المضمنة (على سبيل المثال، الاستطلاعات الخارجية)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "متابعين للمشروع", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "ملاحظة: قد يؤدي تمكين أذونات المشاركة المجهولة أو المفتوحة إلى السماح للمستخدمين بالمشاركة عدة مرات، مما يؤدي إلى بيانات مستخدم مضللة أو غير كاملة.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "المشاركون لا يشملون:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "يشمل المشاركون:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "المستخدمون يتفاعلون مع أساليب Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "إعدادات المشروع", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "سيعرض شريط التنقل فقط المشاريع التي يمكن للمستخدمين الوصول إليها.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "لا يوجد تاريخ انتهاء", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "اضغط على مفتاح \"Escape\" لتخطي الدوامة", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "المشاريع والمجلدات (القديمة)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "عنوان المشاريع", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} قيد العمل حاليا", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "نص الزر", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "في هذه الأداة، يمكنك تحديد المشاريع والمجلدات التي تريدها.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "لم يتم تحديد أي مشاريع أو مجلدات", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "حدد المشاريع أو المجلدات", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "المشاريع والمجلدات المختارة", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} مشاريع", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "زيارة مركز الدعم التابع لنا", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 4a0ea53a6f9240578d41b0b4282f43959b6248e4 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:34 +0100 Subject: [PATCH 095/150] New translations en.json (Arabic) --- front/app/translations/ar-SA.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/ar-SA.json b/front/app/translations/ar-SA.json index a85d85232615..7d4ab4a2f083 100644 --- a/front/app/translations/ar-SA.json +++ b/front/app/translations/ar-SA.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "لا توجد أي أحداث سابقة لعرضها", "app.containers.Projects.noPhaseSelected": "لم يتم تحديد مرحلة", "app.containers.Projects.noUpcomingOrOngoingEvents": "لم تتم جدولة أي أحداث قادمة أو جارية حاليًا.", + "app.containers.Projects.offlineVotersTooltip": "لا يعكس هذا الرقم أي أعداد للناخبين غير المتصلين بالإنترنت.", "app.containers.Projects.options": "الخيارات", "app.containers.Projects.participants": "مشاركون", "app.containers.Projects.participantsTooltip4": "يعكس هذا الرقم أيضًا عمليات إرسال الاستطلاع المجهولة. من الممكن إرسال استطلاعات مجهولة المصدر إذا كانت الاستطلاعات مفتوحة للجميع (راجع علامة التبويب {accessRightsLink} لهذا المشروع).", From 73bc44cb14152c9af248076816f7e0f24e1fa8b6 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:36 +0100 Subject: [PATCH 096/150] New translations en.json (Catalan) --- front/app/translations/ca-ES.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/ca-ES.json b/front/app/translations/ca-ES.json index fdcbd40ea958..234c339e80fc 100644 --- a/front/app/translations/ca-ES.json +++ b/front/app/translations/ca-ES.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "No hi ha esdeveniments passats per mostrar", "app.containers.Projects.noPhaseSelected": "No s'ha seleccionat cap fase", "app.containers.Projects.noUpcomingOrOngoingEvents": "Actualment no hi ha esdeveniments propers o en curs programats.", + "app.containers.Projects.offlineVotersTooltip": "Aquest número no reflecteix cap recompte de votants fora de línia.", "app.containers.Projects.options": "Opcions", "app.containers.Projects.participants": "Participants", "app.containers.Projects.participantsTooltip4": "Aquest nombre també reflecteix enviaments anònims d'enquestes. Les enquestes anònimes són possibles si les enquestes estan obertes a tothom (vegeu la pestanya {accessRightsLink} d'aquest projecte).", From 0594ce29f83921c1dc1ff22bedc5f746b7d1950e Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:39 +0100 Subject: [PATCH 097/150] New translations en.json (Danish) --- front/app/translations/admin/da-DK.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/da-DK.json b/front/app/translations/admin/da-DK.json index 68c692db5cd9..1d161101cd5f 100644 --- a/front/app/translations/admin/da-DK.json +++ b/front/app/translations/admin/da-DK.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Udkast", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Alle", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grupper", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline stemmer", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 deltager} other {{participantsCount} deltagere}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Deltagere i arrangementet", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deltagere i indlejrede metoder (f.eks. eksterne undersøgelser)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Følgere af et projekt", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Bemærk: Aktivering af anonyme eller åbne deltagelsestilladelser kan gøre det muligt for brugere at deltage flere gange, hvilket fører til misvisende eller ufuldstændige brugerdata.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Deltagere er ikke inkluderet:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Deltagerne omfatter:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Brugere, der interagerer med Go Vocal metoder", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projektindstillinger", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigationslinjen viser kun projekter, som brugerne har adgang til.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Ingen slutdato", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Tryk på escape for at springe karrusellen over", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projekter og mapper (ældre)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektets titel", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} arbejder i øjeblikket med", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Knaptekst", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "I denne widget kan du vælge, hvilke projekter og mapper du vil have.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Ingen projekter eller mapper valgt", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Vælg projekter eller mapper", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Udvalgte projekter og mapper", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekter", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "besøg vores supportcenter", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From a0998c7689ee5bf7dd89797c40256e9891198f90 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:40 +0100 Subject: [PATCH 098/150] New translations en.json (Danish) --- front/app/translations/da-DK.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/da-DK.json b/front/app/translations/da-DK.json index 1ce695858008..ff41dcb5f8f0 100644 --- a/front/app/translations/da-DK.json +++ b/front/app/translations/da-DK.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Ingen tidligere begivenheder at vise", "app.containers.Projects.noPhaseSelected": "Ingen fase valgt", "app.containers.Projects.noUpcomingOrOngoingEvents": "Der er ingen kommende eller igangværende begivenheder planlagt i øjeblikket.", + "app.containers.Projects.offlineVotersTooltip": "Dette tal afspejler ikke eventuelle offline stemme optællinger.", "app.containers.Projects.options": "Muligheder", "app.containers.Projects.participants": "Deltagere", "app.containers.Projects.participantsTooltip4": "Dette tal afspejler også anonyme indsendelser af spørgeskemaer. Anonyme besvarelser er mulige, hvis undersøgelserne er åbne for alle (se {accessRightsLink} fanen for dette projekt).", From 30f01d62f546f62c0b9035f6236ddf306c3c48d2 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:43 +0100 Subject: [PATCH 099/150] New translations en.json (German) --- front/app/translations/admin/de-DE.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/de-DE.json b/front/app/translations/admin/de-DE.json index 8c6f57b19c8f..c70e52fa1ac7 100644 --- a/front/app/translations/admin/de-DE.json +++ b/front/app/translations/admin/de-DE.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Entwurf", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Jede Person", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Gruppen", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Analoge Wähler*innen", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 Teilnehmer*in} other {{participantsCount} Teilnehmende}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Veranstaltungsteilnehmende", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Teilnehmende eingebetteter Methoden (z.B. externe Umfragen)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Projektfollower*innen", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Hinweis: Wenn Sie anonyme oder offene Teilnahmerechte aktivieren, können Nutzende mehrfach teilnehmen, was zu irreführenden oder unvollständigen Nutzerdaten führen kann.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Teilnehmende sind nicht enthalten:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Zu den Teilnehmenden gehören:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Nutzende, die mit Go Vocal-Methoden interagieren", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projekt-Einstellungen", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "In der Navigationsleiste werden nur Projekte angezeigt, auf die Nutzer*innen Zugriff haben.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Kein Enddatum", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Drücken Sie die Esc-Taste, um das Karussell zu überspringen", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projekte und Ordner (Alt)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Titel der Projekte", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} arbeitet derzeit an", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Text des Buttons", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In diesem Widget können Sie alle Projekte und Ordner auswählen, die Sie möchten.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Keine Projekte oder Ordner ausgewählt", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Projekte oder Ordner auswählen", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Ausgewählte Projekte und Ordner", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} Projekte", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "unserer Wissensdatenbank", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/de/articles/1346397-welche-dimensionen-und-grossen-sind-fur-bilder-auf-der-plattform-empfohlen", From f7c7bd0530e050f0ec27ff0d253e890cb5573b3e Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:44 +0100 Subject: [PATCH 100/150] New translations en.json (German) --- front/app/translations/de-DE.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/de-DE.json b/front/app/translations/de-DE.json index 7afff73ef01d..ff7a4b2f001a 100644 --- a/front/app/translations/de-DE.json +++ b/front/app/translations/de-DE.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Keine vergangenen Veranstaltungen zum Anzeigen", "app.containers.Projects.noPhaseSelected": "Keine Phase ausgewählt", "app.containers.Projects.noUpcomingOrOngoingEvents": "Zurzeit sind keine Veranstaltungen geplant.", + "app.containers.Projects.offlineVotersTooltip": "Diese Zahl spiegelt keine analogen Wähler*innen wider.", "app.containers.Projects.options": "Optionen", "app.containers.Projects.participants": "Teilnehmende", "app.containers.Projects.participantsTooltip4": "Diese Zahl spiegelt auch anonyme Umfragen wider. Anonyme Umfragen sind möglich, wenn die Umfragen für alle zugänglich sind (siehe {accessRightsLink} für dieses Projekt).", From f69c545f5afc11836ba9c75a6c51f304813cc149 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:54 +0100 Subject: [PATCH 101/150] New translations en.json (Greek) --- front/app/translations/el-GR.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/el-GR.json b/front/app/translations/el-GR.json index 04d1d558c20b..b8deec688970 100644 --- a/front/app/translations/el-GR.json +++ b/front/app/translations/el-GR.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Δεν υπάρχουν προηγούμενες εκδηλώσεις για εμφάνιση", "app.containers.Projects.noPhaseSelected": "Δεν έχει επιλεγεί φάση", "app.containers.Projects.noUpcomingOrOngoingEvents": "Προς το παρόν δεν έχουν προγραμματιστεί επερχόμενες ή τρέχουσες εκδηλώσεις.", + "app.containers.Projects.offlineVotersTooltip": "Ο αριθμός αυτός δεν αντικατοπτρίζει τις μετρήσεις των ψηφοφόρων εκτός σύνδεσης.", "app.containers.Projects.options": "Επιλογές", "app.containers.Projects.participants": "Συμμετέχοντες", "app.containers.Projects.participantsTooltip4": "Ο αριθμός αυτός αντικατοπτρίζει επίσης τις ανώνυμες υποβολές της έρευνας. Οι ανώνυμες υποβολές ερωτήσεων είναι δυνατές εάν οι έρευνες είναι ανοικτές σε όλους (βλ. την καρτέλα {accessRightsLink} για αυτό το έργο).", From da792b89e01f7a2e33c7e9f47f569c07e275ebe9 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:56 +0100 Subject: [PATCH 102/150] New translations en.json (Finnish) --- front/app/translations/admin/fi-FI.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/fi-FI.json b/front/app/translations/admin/fi-FI.json index b226f2bf6246..7758718b2c3a 100644 --- a/front/app/translations/admin/fi-FI.json +++ b/front/app/translations/admin/fi-FI.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Luonnos", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Kaikki", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Ryhmät", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline-äänestäjät", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 osallistuja} other {{participantsCount} osallistujaa}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Tapahtuman osallistujat", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Osallistujat sulautettuihin menetelmiin (esim. ulkoisiin tutkimuksiin)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Projektin seuraajia", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Huomautus: Anonyymien tai avointen osallistumisoikeuksien salliminen voi antaa käyttäjille mahdollisuuden osallistua useita kertoja, mikä johtaa harhaanjohtaviin tai epätäydellisiin käyttäjätietoihin.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Osallistujat eivät sisällä:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Osallistujia ovat:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Käyttäjät, jotka ovat vuorovaikutuksessa Go Vocal -menetelmien kanssa", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projektin asetukset", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigointipalkki näyttää vain projektit, joihin käyttäjillä on pääsy.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Ei lopetuspäivää", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Ohita karuselli painamalla Esc-näppäintä", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projektit ja kansiot (vanhat)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektin otsikko", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} työskentelee parhaillaan", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Painikkeen teksti", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Tässä widgetissä voit valita haluamasi projektit ja kansiot.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Projekteja tai kansioita ei ole valittu", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Valitse projektit tai kansiot", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Valitut projektit ja kansiot", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekteja", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "vieraile tukikeskuksessamme", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 2f784b7a3baa0755bd2e0eea50ef0631c4c788ef Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:40:58 +0100 Subject: [PATCH 103/150] New translations en.json (Finnish) --- front/app/translations/fi-FI.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/fi-FI.json b/front/app/translations/fi-FI.json index 6000bed3f884..e0eb8c301440 100644 --- a/front/app/translations/fi-FI.json +++ b/front/app/translations/fi-FI.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Ei näytettäviä menneitä tapahtumia", "app.containers.Projects.noPhaseSelected": "Vaihetta ei ole valittu", "app.containers.Projects.noUpcomingOrOngoingEvents": "Mitään tulevia tai meneillään olevia tapahtumia ei ole tällä hetkellä suunniteltu.", + "app.containers.Projects.offlineVotersTooltip": "Tämä luku ei heijasta offline-äänestysten määrää.", "app.containers.Projects.options": "Vaihtoehdot", "app.containers.Projects.participants": "Osallistujat", "app.containers.Projects.participantsTooltip4": "Tämä luku heijastaa myös anonyymejä kyselyjä. Anonyymit kyselyn lähettäminen on mahdollista, jos kyselyt ovat avoimia kaikille (katso tämän projektin välilehti {accessRightsLink} ).", From 002fd30a3d1a658069e161b7f955e035b2419591 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:00 +0100 Subject: [PATCH 104/150] New translations en.json (Hungarian) --- front/app/translations/hu-HU.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/hu-HU.json b/front/app/translations/hu-HU.json index d131008f2461..0ff1be1bb214 100644 --- a/front/app/translations/hu-HU.json +++ b/front/app/translations/hu-HU.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Nincsenek megjeleníthető múltbeli események", "app.containers.Projects.noPhaseSelected": "Nincs kiválasztva fázis", "app.containers.Projects.noUpcomingOrOngoingEvents": "Jelenleg nincsenek betervezve közelgő vagy folyamatban lévő események.", + "app.containers.Projects.offlineVotersTooltip": "Ez a szám nem tükrözi az offline szavazók számát.", "app.containers.Projects.options": "Opciók", "app.containers.Projects.participants": "Résztvevők", "app.containers.Projects.participantsTooltip4": "Ez a szám az anonim felméréseket is tükrözi. Anonim felmérések beküldése akkor lehetséges, ha a felmérések mindenki számára nyitottak (lásd a projekt {accessRightsLink} lapját).", From e1ba07cb0c906af6c2fd3bcfc318cf4dde11540a Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:03 +0100 Subject: [PATCH 105/150] New translations en.json (Italian) --- front/app/translations/it-IT.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/it-IT.json b/front/app/translations/it-IT.json index 00ea3a213567..348eed5cb5a8 100644 --- a/front/app/translations/it-IT.json +++ b/front/app/translations/it-IT.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Nessun evento passato da visualizzare", "app.containers.Projects.noPhaseSelected": "Nessuna fase selezionata", "app.containers.Projects.noUpcomingOrOngoingEvents": "Al momento non sono programmati eventi imminenti o in corso.", + "app.containers.Projects.offlineVotersTooltip": "Questo numero non riflette alcun conteggio di elettori offline.", "app.containers.Projects.options": "Opzioni", "app.containers.Projects.participants": "Partecipanti", "app.containers.Projects.participantsTooltip4": "Questo numero riflette anche i sondaggi anonimi inviati. L'invio di sondaggi anonimi è possibile se i sondaggi sono aperti a tutti (vedi la scheda {accessRightsLink} per questo progetto).", From c4b5d537caee231d1aaecc2897eb5134c5990b93 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:06 +0100 Subject: [PATCH 106/150] New translations en.json (Lithuanian) --- front/app/translations/admin/lt-LT.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/lt-LT.json b/front/app/translations/admin/lt-LT.json index 187037542890..0f1121e44925 100644 --- a/front/app/translations/admin/lt-LT.json +++ b/front/app/translations/admin/lt-LT.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Projektas", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Visi", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grupės", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Neprisijungę rinkėjai", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 dalyvis} other {{participantsCount} dalyviai}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Renginio dalyviai", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Įterptųjų metodų (pvz., išorinių apklausų) dalyviai", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Projekto sekėjai", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Pastaba: Įjungus anoniminio arba atviro dalyvavimo leidimus, naudotojai gali dalyvauti kelis kartus, todėl naudotojų duomenys gali būti klaidinantys arba neišsamūs.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Dalyviai neįtraukiami:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Dalyvauja:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Naudotojai, sąveikaujantys su \"Go Vocal\" metodais", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projekto nustatymai", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Naršymo juostoje bus rodomi tik tie projektai, prie kurių prieigą turi naudotojai.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Galutinė data nenurodyta", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Paspauskite escape, jei norite praleisti karuselę", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projektai ir aplankai (paveldėti)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektų pavadinimas", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} šiuo metu dirba", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Mygtuko tekstas", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Šiame valdiklyje galite pasirinkti norimus projektus ir aplankus.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nėra pasirinktų projektų ar aplankų", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Pasirinkite projektus arba aplankus", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Pasirinkti projektai ir aplankai", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projektai", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "apsilankykite mūsų pagalbos centre", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From a19d65266c2bbac8953357028f5dc9906a6a354d Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:07 +0100 Subject: [PATCH 107/150] New translations en.json (Lithuanian) --- front/app/translations/lt-LT.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/lt-LT.json b/front/app/translations/lt-LT.json index 58c6a1d3d3e3..163d94eaa0f6 100644 --- a/front/app/translations/lt-LT.json +++ b/front/app/translations/lt-LT.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Nėra rodomų praeities įvykių", "app.containers.Projects.noPhaseSelected": "Fazė nepasirinkta", "app.containers.Projects.noUpcomingOrOngoingEvents": "Šiuo metu neplanuojama jokių būsimų ar vykstančių renginių.", + "app.containers.Projects.offlineVotersTooltip": "Šiame skaičiuje neatsispindi jokie balsavusiųjų ne internetu skaičiavimai.", "app.containers.Projects.options": "Parinktys", "app.containers.Projects.participants": "Dalyviai", "app.containers.Projects.participantsTooltip4": "Šiame skaičiuje taip pat atsispindi anoniminės apklausos duomenys. Anoniminių apklausų pateikimas galimas, jei apklausos yra atviros visiems (žr. šio projekto skirtuką {accessRightsLink}).", From 3479e26b48f81b180e08070694880b717abc0555 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:10 +0100 Subject: [PATCH 108/150] New translations en.json (Dutch) --- front/app/translations/admin/nl-NL.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/nl-NL.json b/front/app/translations/admin/nl-NL.json index 1bb8ce06abf6..82f390f5013c 100644 --- a/front/app/translations/admin/nl-NL.json +++ b/front/app/translations/admin/nl-NL.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Concept", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Iedereen", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Groepen", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline stemmers", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 deelnemer} other {{participantsCount} deelnemers}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Deelnemers", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deelnemers aan ingesloten methoden (bijv. externe onderzoeken)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Volgers van een project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Opmerking: Als je anonieme of open deelnamemogelijkheden inschakelt, kunnen gebruikers meerdere keren deelnemen, wat kan leiden tot misleidende of onvolledige gebruikersgegevens.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Deelnemers zijn niet:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Deelnemers zijn onder andere:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Gebruikers in interactie met Go Vocal-methoden", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projectinstellingen", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "De navigatiebalk toont alleen projecten waar gebruikers toegang tot hebben.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Geen einddatum", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Druk op escape om carrousel over te slaan", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projecten en mappen (legacy)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projectnaam", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} werkt momenteel aan", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Tekst knop", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In deze widget kun je de projecten en mappen selecteren die je wilt.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Geen projecten of mappen geselecteerd", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecteer projecten of mappen", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Geselecteerde projecten en mappen", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projecten", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "bekijk onze supportpagina", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 99a8a3ef4fc3b97dba27c53220fbac6a774cafb0 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:11 +0100 Subject: [PATCH 109/150] New translations en.json (Dutch) --- front/app/translations/nl-NL.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/nl-NL.json b/front/app/translations/nl-NL.json index 990874c9358d..397f5fee35c4 100644 --- a/front/app/translations/nl-NL.json +++ b/front/app/translations/nl-NL.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Geen afgelopen activiteiten om te tonen", "app.containers.Projects.noPhaseSelected": "Geen fase geselecteerd", "app.containers.Projects.noUpcomingOrOngoingEvents": "Er zijn momenteel geen aankomende of gestarte activiteiten.", + "app.containers.Projects.offlineVotersTooltip": "Onder dit aantal worden offline stemmen niet meegerekend.", "app.containers.Projects.options": "Opties", "app.containers.Projects.participants": "Deelnemers", "app.containers.Projects.participantsTooltip4": "Dit aantal weerspiegelt ook anoniem ingevulde enquêtes. Anoniem ingevulde enquêtes zijn mogelijk als enquêtes voor iedereen toegankelijk zijn (zie het tabblad {accessRightsLink} van dit project).", From 79b4494453745ec5d7140039f6ef46d915a3ec40 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:22 +0100 Subject: [PATCH 110/150] New translations en.json (Punjabi) --- front/app/translations/admin/pa-IN.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/pa-IN.json b/front/app/translations/admin/pa-IN.json index 681d06bf88cb..fa18d60732f6 100644 --- a/front/app/translations/admin/pa-IN.json +++ b/front/app/translations/admin/pa-IN.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "ਡਰਾਫਟ", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "ਹਰ ਕੋਈ", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "ਸਮੂਹ", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "ਔਫਲਾਈਨ ਵੋਟਰ", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 ਭਾਗੀਦਾਰ} other {{participantsCount} ਭਾਗੀਦਾਰ}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "ਸਮਾਗਮ ਦੇ ਹਾਜ਼ਰੀਨ", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "ਏਮਬੇਡ ਕੀਤੇ ਤਰੀਕਿਆਂ ਵਿੱਚ ਭਾਗੀਦਾਰ (ਉਦਾਹਰਨ ਲਈ, ਬਾਹਰੀ ਸਰਵੇਖਣ)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਦੇ ਪੈਰੋਕਾਰ", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "ਨੋਟ: ਅਗਿਆਤ ਜਾਂ ਖੁੱਲੀ ਭਾਗੀਦਾਰੀ ਅਨੁਮਤੀਆਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਕਈ ਵਾਰ ਹਿੱਸਾ ਲੈਣ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਉਪਭੋਗਤਾ ਡੇਟਾ ਨੂੰ ਗੁੰਮਰਾਹਕੁੰਨ ਜਾਂ ਅਧੂਰਾ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "ਭਾਗੀਦਾਰਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹੁੰਦੇ ਹਨ:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "ਭਾਗੀਦਾਰਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "ਗੋ ਵੋਕਲ ਵਿਧੀਆਂ ਨਾਲ ਗੱਲਬਾਤ ਕਰਨ ਵਾਲੇ ਉਪਭੋਗਤਾ", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "ਪ੍ਰੋਜੈਕਟ ਸੈਟਿੰਗਾਂ", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "ਨੈਵੀਗੇਸ਼ਨ ਪੱਟੀ ਸਿਰਫ਼ ਉਹਨਾਂ ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਦਿਖਾਏਗੀ ਜਿਨ੍ਹਾਂ ਤੱਕ ਉਪਭੋਗਤਾਵਾਂ ਦੀ ਪਹੁੰਚ ਹੈ।", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "ਕੋਈ ਸਮਾਪਤੀ ਮਿਤੀ ਨਹੀਂ", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "ਕੈਰੋਸੇਲ ਨੂੰ ਛੱਡਣ ਲਈ escape ਦਬਾਓ", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਫੋਲਡਰ (ਪੁਰਾਣੇ)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "ਪ੍ਰੋਜੈਕਟ ਸਿਰਲੇਖ", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} ਵਰਤਮਾਨ ਵਿੱਚ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "ਬਟਨ ਟੈਕਸਟ", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "ਇਸ ਵਿਜੇਟ ਵਿੱਚ, ਤੁਸੀਂ ਜੋ ਵੀ ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਫੋਲਡਰ ਚਾਹੁੰਦੇ ਹੋ, ਚੁਣ ਸਕਦੇ ਹੋ।", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "ਕੋਈ ਪ੍ਰੋਜੈਕਟ ਜਾਂ ਫੋਲਡਰ ਨਹੀਂ ਚੁਣੇ ਗਏ", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "ਪ੍ਰੋਜੈਕਟ ਜਾਂ ਫੋਲਡਰ ਚੁਣੋ", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "ਚੁਣੇ ਗਏ ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਫੋਲਡਰ", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} ਪ੍ਰੋਜੈਕਟ", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "ਸਾਡੇ ਸਹਾਇਤਾ ਕੇਂਦਰ 'ਤੇ ਜਾਓ", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 1e731826b5466e58216992f6016cbbb65b96d1b5 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:23 +0100 Subject: [PATCH 111/150] New translations en.json (Punjabi) --- front/app/translations/pa-IN.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/pa-IN.json b/front/app/translations/pa-IN.json index e72ba01f241a..06c60c378e5f 100644 --- a/front/app/translations/pa-IN.json +++ b/front/app/translations/pa-IN.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਕੋਈ ਪਿਛਲੀਆਂ ਘਟਨਾਵਾਂ ਨਹੀਂ ਹਨ", "app.containers.Projects.noPhaseSelected": "ਕੋਈ ਪੜਾਅ ਨਹੀਂ ਚੁਣਿਆ ਗਿਆ", "app.containers.Projects.noUpcomingOrOngoingEvents": "ਵਰਤਮਾਨ ਵਿੱਚ ਕੋਈ ਆਗਾਮੀ ਜਾਂ ਚੱਲ ਰਹੇ ਸਮਾਗਮਾਂ ਦਾ ਸਮਾਂ ਨਿਯਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ।", + "app.containers.Projects.offlineVotersTooltip": "ਇਹ ਨੰਬਰ ਕਿਸੇ ਵੀ ਔਫਲਾਈਨ ਵੋਟਰ ਗਿਣਤੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਨਹੀਂ ਹੈ।", "app.containers.Projects.options": "ਵਿਕਲਪ", "app.containers.Projects.participants": "ਭਾਗ ਲੈਣ ਵਾਲੇ", "app.containers.Projects.participantsTooltip4": "ਇਹ ਸੰਖਿਆ ਅਗਿਆਤ ਸਰਵੇਖਣ ਬੇਨਤੀਆਂ ਨੂੰ ਵੀ ਦਰਸਾਉਂਦੀ ਹੈ। ਅਗਿਆਤ ਸਰਵੇਖਣ ਸਬਮਿਸ਼ਨ ਸੰਭਵ ਹਨ ਜੇਕਰ ਸਰਵੇਖਣ ਹਰ ਕਿਸੇ ਲਈ ਖੁੱਲ੍ਹੇ ਹਨ (ਇਸ ਪ੍ਰੋਜੈਕਟ ਲਈ {accessRightsLink} ਟੈਬ ਦੇਖੋ)।", From d248282310f34f271ae401d6e3cc561300dad36b Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:26 +0100 Subject: [PATCH 112/150] New translations en.json (Polish) --- front/app/translations/admin/pl-PL.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/pl-PL.json b/front/app/translations/admin/pl-PL.json index 8833acfea709..8a30368769a8 100644 --- a/front/app/translations/admin/pl-PL.json +++ b/front/app/translations/admin/pl-PL.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Wersja robocza", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Wszyscy", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grupy", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Wyborcy offline", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 uczestnik} other {{participantsCount} uczestnicy}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Uczestnicy wydarzenia", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Uczestnicy metod wbudowanych (np. ankiet zewnętrznych)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Obserwujący projekt", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Uwaga: Włączenie uprawnień do anonimowego lub otwartego uczestnictwa może pozwolić użytkownikom na wielokrotne uczestnictwo, prowadząc do mylących lub niekompletnych danych użytkownika.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Uczestnicy nie obejmują:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Wśród uczestników są:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Użytkownicy korzystający z metod Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Ustawienia projektu", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Na pasku nawigacyjnym wyświetlane będą tylko te projekty, do których użytkownicy mają dostęp.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Brak daty końcowej", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Naciśnij escape, aby pominąć karuzelę", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projekty i foldery (starsze wersje)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Tytuł projektu", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} pracuje obecnie nad", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Tekst przycisku", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "W tym widżecie możesz wybrać dowolne projekty i foldery.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nie wybrano żadnych projektów ani folderów", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Wybierz projekty lub foldery", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Wybrane projekty i foldery", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekty", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "odwiedź nasze centrum wsparcia", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From d0b1d3f5376933fe76aade0d03417401d4295377 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:27 +0100 Subject: [PATCH 113/150] New translations en.json (Polish) --- front/app/translations/pl-PL.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/pl-PL.json b/front/app/translations/pl-PL.json index 557292253a7b..e3f101722dbf 100644 --- a/front/app/translations/pl-PL.json +++ b/front/app/translations/pl-PL.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Brak minionych wydarzeń do wyświetlenia", "app.containers.Projects.noPhaseSelected": "Nie wybrano żadnego etapu", "app.containers.Projects.noUpcomingOrOngoingEvents": "W chwili obecnej nie są planowane żadne nadchodzące lub trwające wydarzenia.", + "app.containers.Projects.offlineVotersTooltip": "Liczba ta nie odzwierciedla liczby wyborców offline.", "app.containers.Projects.options": "Opcje", "app.containers.Projects.participants": "Uczestnicy", "app.containers.Projects.participantsTooltip4": "Liczba ta odzwierciedla również anonimowe ankiety. Anonimowe przesyłanie ankiet jest możliwe, jeśli ankiety są otwarte dla wszystkich (zobacz zakładkę {accessRightsLink} dla tego projektu).", From 2101139fafede30194521cbf3b14198b3752a242 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:30 +0100 Subject: [PATCH 114/150] New translations en.json (Serbian (Cyrillic)) --- front/app/translations/admin/sr-SP.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/sr-SP.json b/front/app/translations/admin/sr-SP.json index 38e17e793dd4..bc9e84824806 100644 --- a/front/app/translations/admin/sr-SP.json +++ b/front/app/translations/admin/sr-SP.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Нацрт", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Сви", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Групе", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline voters", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 учесник} other {{participantsCount} учесници}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Event attendees", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Подешавања пројекта", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projects and folders (legacy)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Назив пројекта", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} тренутно ради на", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Selected projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "посетите наш центар за подршку", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 4d28791e8a5901078feaeea0db7af0b4f6218ac5 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:31 +0100 Subject: [PATCH 115/150] New translations en.json (Serbian (Cyrillic)) --- front/app/translations/sr-SP.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/sr-SP.json b/front/app/translations/sr-SP.json index 8e192f10dde7..7cc832229827 100644 --- a/front/app/translations/sr-SP.json +++ b/front/app/translations/sr-SP.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Нема прошлих догађаја за приказ", "app.containers.Projects.noPhaseSelected": "Ниједна фаза није изабрана", "app.containers.Projects.noUpcomingOrOngoingEvents": "Тренутно нису заказани предстојећи или текући догађаји.", + "app.containers.Projects.offlineVotersTooltip": "This number does not reflect any offline voter counts.", "app.containers.Projects.options": "Опције", "app.containers.Projects.participants": "Учесници", "app.containers.Projects.participantsTooltip4": "Овај број такође одражава анонимно подношење анкете. Анонимно подношење анкета је могуће ако су анкете отворене за све (погледајте картицу {accessRightsLink} за овај пројекат).", From 69c069b007222c4da2c3ccd89475dd56d3760dfa Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:34 +0100 Subject: [PATCH 116/150] New translations en.json (Swedish) --- front/app/translations/admin/sv-SE.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/sv-SE.json b/front/app/translations/admin/sv-SE.json index b33647dbeb6b..2e14274157da 100644 --- a/front/app/translations/admin/sv-SE.json +++ b/front/app/translations/admin/sv-SE.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Utkast", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Alla", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grupper", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline väljare", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 deltagare} other {{participantsCount} deltagare}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Deltagare i evenemang", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deltagare i inbäddade metoder (t.ex. externa enkäter)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Följare av ett projekt", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Obs: Om du aktiverar anonym eller öppen deltagarbehörighet kan användare delta flera gånger, vilket kan leda till missvisande eller ofullständiga användardata.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Deltagare ingår inte:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Bland deltagarna finns:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Användare som interagerar med Go Vocal-metoder", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Inställningar för projektet", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "I navigeringsfältet visas endast projekt som användare har tillgång till.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Inget slutdatum", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Tryck på escape för att hoppa över karusellen", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projekt och mappar (äldre)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektets titel", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} arbetar för närvarande med", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Knapptext", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "I den här widgeten kan du välja vilka projekt och mappar du vill ha.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Inga projekt eller mappar valda", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Välj projekt eller mappar", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Valda projekt och mappar", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekt", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "besök vårt supportcenter", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From e29f3ff3bbd473af65c4d65c84e1e1a3180df398 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:35 +0100 Subject: [PATCH 117/150] New translations en.json (Swedish) --- front/app/translations/sv-SE.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/sv-SE.json b/front/app/translations/sv-SE.json index 74a45ffd5dec..256de4883438 100644 --- a/front/app/translations/sv-SE.json +++ b/front/app/translations/sv-SE.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Inga tidigare evenemang att visa", "app.containers.Projects.noPhaseSelected": "Ingen fas har valts", "app.containers.Projects.noUpcomingOrOngoingEvents": "Inga kommande eller pågående evenemang är för närvarande schemalagda.", + "app.containers.Projects.offlineVotersTooltip": "Denna siffra återspeglar inte några offline rösträkningar.", "app.containers.Projects.options": "Alternativ", "app.containers.Projects.participants": "Deltagare", "app.containers.Projects.participantsTooltip4": "Denna siffra återspeglar även anonyma enkätsvar. Anonyma enkätsvar är möjliga om enkäterna är öppna för alla (se fliken {accessRightsLink} för detta projekt).", From e5ce7513d794157581e7b263bb699e9ea1fa1d59 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:37 +0100 Subject: [PATCH 118/150] New translations en.json (Turkish) --- front/app/translations/admin/tr-TR.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/tr-TR.json b/front/app/translations/admin/tr-TR.json index b5468eaad41d..f2948bada39c 100644 --- a/front/app/translations/admin/tr-TR.json +++ b/front/app/translations/admin/tr-TR.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Taslak", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Herkes", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Gruplar", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Çevrimdışı seçmenler", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 katılımcı} other {{participantsCount} katılımcılar}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Etkinlik katılımcıları", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Yerleşik yöntemlere katılanlar (örn. harici anketler)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Bir projenin takipçileri", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Not: Anonim veya açık katılım izinlerinin etkinleştirilmesi, kullanıcıların birden fazla kez katılmasına izin vererek yanıltıcı veya eksik kullanıcı verilerine yol açabilir.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Katılımcılar dahil değildir:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Katılımcılar arasında", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Go Vocal yöntemleriyle etkileşime giren kullanıcılar", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Proje ayarları", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Gezinti çubuğu yalnızca kullanıcıların erişebildiği projeleri gösterecektir.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Bitiş tarihi yok", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Atlıkarıncayı atlamak için escape tuşuna basın", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projeler ve klasörler (eski)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projeler başlığı", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} şu anda üzerinde çalışıyor", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Düğme metni", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Bu widget'ta istediğiniz proje ve klasörleri seçebilirsiniz.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Seçili proje veya klasör yok", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Projeleri veya klasörleri seçme", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Seçilen projeler ve klasörler", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projeler", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "destek merkezimizi ziyaret edin", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From e008f6a39d48dc8faabf340460caea8c5dddc282 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:39 +0100 Subject: [PATCH 119/150] New translations en.json (Turkish) --- front/app/translations/tr-TR.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/tr-TR.json b/front/app/translations/tr-TR.json index a03bb090acb0..275515ee9a6c 100644 --- a/front/app/translations/tr-TR.json +++ b/front/app/translations/tr-TR.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Görüntülenecek geçmiş etkinlik yok", "app.containers.Projects.noPhaseSelected": "Aşama seçilmedi", "app.containers.Projects.noUpcomingOrOngoingEvents": "Şu an için, planlanmış yaklaşan veya devam eden bir etkinlik yok.", + "app.containers.Projects.offlineVotersTooltip": "Bu sayı, herhangi bir çevrimdışı seçmen sayımını yansıtmamaktadır.", "app.containers.Projects.options": "Seçenekler", "app.containers.Projects.participants": "Katılımcılar", "app.containers.Projects.participantsTooltip4": "Bu sayı aynı zamanda anonim anket gönderimlerini de yansıtmaktadır. Anketler herkese açıksa anonim anket gönderimleri mümkündür (bu proje için {accessRightsLink} sekmesine bakın).", From 6f263894a934a1f0502f14624fe638a6fe210575 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:41 +0100 Subject: [PATCH 120/150] New translations en.json (Urdu (Pakistan)) --- front/app/translations/admin/ur-PK.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/ur-PK.json b/front/app/translations/admin/ur-PK.json index 3c3d586c13ad..1b0410bc0581 100644 --- a/front/app/translations/admin/ur-PK.json +++ b/front/app/translations/admin/ur-PK.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "مسودہ", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "ہر کوئی", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "گروپس", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "آف لائن ووٹرز", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 شریک} other {{participantsCount} شرکاء}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "تقریب کے شرکاء", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "سرایت شدہ طریقوں میں حصہ لینے والے (مثال کے طور پر، بیرونی سروے)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "کسی پروجیکٹ کے پیروکار", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "نوٹ: گمنام یا کھلی شرکت کی اجازتوں کو فعال کرنے سے صارفین کو متعدد بار شرکت کرنے کی اجازت مل سکتی ہے، جس سے صارف کا ڈیٹا گمراہ کن یا نامکمل ہو سکتا ہے۔", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "شرکاء شامل نہیں ہیں:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "شرکاء میں شامل ہیں:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "گو ووکل طریقوں کے ساتھ تعامل کرنے والے صارفین", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "پروجیکٹ کی ترتیبات", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "نیویگیشن بار صرف وہ پروجیکٹ دکھائے گا جن تک صارفین کو رسائی حاصل ہے۔", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "کوئی اختتامی تاریخ نہیں۔", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "کیروسل کو چھوڑنے کے لیے escape دبائیں۔", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "پروجیکٹس اور فولڈرز (وراثت)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "پروجیکٹس کا عنوان", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} فی الحال کام کر رہا ہے۔", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "بٹن کا متن", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "اس ویجیٹ میں، آپ جو بھی پروجیکٹ اور فولڈر چاہیں منتخب کر سکتے ہیں۔", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "کوئی پروجیکٹ یا فولڈر منتخب نہیں کیا گیا۔", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "پروجیکٹس یا فولڈرز کو منتخب کریں۔", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "منتخب کردہ پراجیکٹس اور فولڈرز", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} پروجیکٹس", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "ہمارے سپورٹ سینٹر پر جائیں۔", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.cizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 674468ca66aadcba379c8110c6375c2618cf4b9c Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:43 +0100 Subject: [PATCH 121/150] New translations en.json (Urdu (Pakistan)) --- front/app/translations/ur-PK.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/ur-PK.json b/front/app/translations/ur-PK.json index e7b0ee2db2d4..762991ab67ca 100644 --- a/front/app/translations/ur-PK.json +++ b/front/app/translations/ur-PK.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "ظاہر کرنے کے لیے کوئی ماضی کے واقعات نہیں ہیں۔", "app.containers.Projects.noPhaseSelected": "کوئی مرحلہ منتخب نہیں کیا گیا۔", "app.containers.Projects.noUpcomingOrOngoingEvents": "کوئی آنے والا یا جاری ایونٹ فی الحال شیڈول نہیں ہے۔", + "app.containers.Projects.offlineVotersTooltip": "یہ نمبر کسی بھی آف لائن ووٹر کی گنتی کی عکاسی نہیں کرتا ہے۔", "app.containers.Projects.options": "اختیارات", "app.containers.Projects.participants": "شرکاء", "app.containers.Projects.participantsTooltip4": "یہ نمبر گمنام سروے کی گذارشات کی بھی عکاسی کرتا ہے۔ اگر سروے ہر کسی کے لیے کھلے ہیں تو گمنام سروے کی گذارشات ممکن ہیں (اس پروجیکٹ کے لیے {accessRightsLink} ٹیب دیکھیں)۔", From 0227f5a95cd432eced52a1bbecb75cdf23a13eb4 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:45 +0100 Subject: [PATCH 122/150] New translations en.json (Portuguese, Brazilian) --- front/app/translations/admin/pt-BR.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/pt-BR.json b/front/app/translations/admin/pt-BR.json index a2d46d9b4762..faa459f0d8b6 100644 --- a/front/app/translations/admin/pt-BR.json +++ b/front/app/translations/admin/pt-BR.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Rascunho", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Todos", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grupos", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Eleitores off-line", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participante} other {{participantsCount} participantes}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Participantes do evento", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participantes de métodos incorporados (por exemplo, pesquisas externas)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Seguidores de um projeto", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Observação: a ativação de permissões de participação anônima ou aberta pode permitir que os usuários participem várias vezes, levando a dados de usuário enganosos ou incompletos.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Os participantes não incluem:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Os participantes incluem:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Usuários interagindo com os métodos da Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Configurações do projeto", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "A barra de navegação mostrará apenas os projetos aos quais os usuários têm acesso.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Sem data de término", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pressione escape para pular o carrossel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projetos e pastas (legado)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Título do projeto", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} está trabalhando atualmente em", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texto do botão", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Nesse widget, você pode selecionar os projetos e as pastas que desejar.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nenhum projeto ou pasta selecionado", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecionar projetos ou pastas", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Projetos e pastas selecionados", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projetos", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visite o nosso centro de apoio", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 9c2e4cb25fabae448c4e1d1a99ade32110616e05 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:47 +0100 Subject: [PATCH 123/150] New translations en.json (Portuguese, Brazilian) --- front/app/translations/pt-BR.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/pt-BR.json b/front/app/translations/pt-BR.json index 1dfdc376d0e8..d55cdd7d6602 100644 --- a/front/app/translations/pt-BR.json +++ b/front/app/translations/pt-BR.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Nenhum evento passado a exibir", "app.containers.Projects.noPhaseSelected": "Nenhuma fase selecionada", "app.containers.Projects.noUpcomingOrOngoingEvents": "Nenhum evento futuro está agendado no momento.", + "app.containers.Projects.offlineVotersTooltip": "Esse número não reflete nenhuma contagem de eleitores off-line.", "app.containers.Projects.options": "Opções", "app.containers.Projects.participants": "Participantes", "app.containers.Projects.participantsTooltip4": "Esse número também reflete os envios anônimos de pesquisas. Os envios anônimos de pesquisas são possíveis se as pesquisas forem abertas a todos (consulte a guia {accessRightsLink} para este projeto).", From 17e05cdc67ee61c69ce9ac63b147fd8716e048a4 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:55 +0100 Subject: [PATCH 124/150] New translations en.json (Spanish, Chile) --- front/app/translations/admin/es-CL.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/es-CL.json b/front/app/translations/admin/es-CL.json index 6dfbb6bc9602..7be7a29c23ea 100644 --- a/front/app/translations/admin/es-CL.json +++ b/front/app/translations/admin/es-CL.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Borrador", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Todo el mundo", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grupos", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Votantes offline", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participante} other {{participantsCount} participantes}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Asistentes al acto", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participantes en métodos integrados (por ejemplo, encuestas externas)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Seguidores de un proyecto", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Nota: Activar los permisos de participación anónima o abierta puede permitir que los usuarios participen varias veces, lo que daría lugar a datos de usuario engañosos o incompletos.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Los participantes no incluyen:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Entre los participantes figuran:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Usuarios interactuando con los métodos de Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Ajustes del proyecto", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "La barra de navegación sólo mostrará los proyectos a los que tengan acceso los usuarios.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Sin fecha de finalización", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pulsa escape para saltar el carrusel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Proyectos y carpetas (legado)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Título del proyecto", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} está trabajando actualmente en", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texto del botón", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "En este widget, puedes seleccionar los proyectos y carpetas que quieras.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No hay proyectos ni carpetas seleccionados", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecciona proyectos o carpetas", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Proyectos y carpetas seleccionados", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} proyectos", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visite nuestra página de soporte", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/es/articles/1346397-cuales-son-las-dimensiones-y-tamanos-recomendados-para-las-imagenes-de-la-plataforma", From 52066ed0963e47138d4deb097169b2d550f6b20d Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:57 +0100 Subject: [PATCH 125/150] New translations en.json (Spanish, Chile) --- front/app/translations/es-CL.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/es-CL.json b/front/app/translations/es-CL.json index 80116af6f27e..1636a9eaef58 100644 --- a/front/app/translations/es-CL.json +++ b/front/app/translations/es-CL.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "No eventos anteriores que mostrar", "app.containers.Projects.noPhaseSelected": "Ninguna fase seleccionada", "app.containers.Projects.noUpcomingOrOngoingEvents": "Actualmente no hay eventos próximos o en curso.", + "app.containers.Projects.offlineVotersTooltip": "Esta cifra no refleja ningún recuento de votantes offline.", "app.containers.Projects.options": "Opciones", "app.containers.Projects.participants": "Participantes", "app.containers.Projects.participantsTooltip4": "Esta cifra también refleja los envíos anónimos de encuestas. Los envíos anónimos de encuestas son posibles si las encuestas están abiertas a todo el mundo (consulta la pestaña {accessRightsLink} de este proyecto).", From 529ace40f6a7f2cf1d91ff5ce48d1153723d1ed7 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:41:59 +0100 Subject: [PATCH 126/150] New translations en.json (Croatian) --- front/app/translations/admin/hr-HR.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/hr-HR.json b/front/app/translations/admin/hr-HR.json index 0f2d30071017..89d1f04e390e 100644 --- a/front/app/translations/admin/hr-HR.json +++ b/front/app/translations/admin/hr-HR.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Nacrt", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Svatko", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "grupe", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline birači", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 sudionik} other {{participantsCount} sudionici}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Sudionici događaja", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Sudionici u ugrađenim metodama (npr. vanjske ankete)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Sljedbenici projekta", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Napomena: Omogućavanje dozvola za anonimno ili otvoreno sudjelovanje može omogućiti korisnicima višestruko sudjelovanje, što dovodi do pogrešnih ili nepotpunih korisničkih podataka.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Sudionici ne uključuju:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Sudionici uključuju:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Korisnici u interakciji s Go Vocal metodama", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Postavke projekta", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigacijska traka prikazuje samo projekte kojima korisnici imaju pristup.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Nema datuma završetka", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pritisnite Escape za preskakanje vrtuljka", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projekti i mape (nasljeđe)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Naziv projekta", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} trenutno se radi", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Tekst gumba", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "U ovom widgetu možete odabrati koje god projekte i mape želite.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nema odabranih projekata ni mapa", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Odaberite projekte ili mape", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Odabrani projekti i mape", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekti", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "posjetite naš centar za podršku", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 72ff52da16377025566c268addfd6467be2c19de Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:00 +0100 Subject: [PATCH 127/150] New translations en.json (Croatian) --- front/app/translations/hr-HR.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/hr-HR.json b/front/app/translations/hr-HR.json index 3f2ed7e9577c..ebac2484fda0 100644 --- a/front/app/translations/hr-HR.json +++ b/front/app/translations/hr-HR.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Nema prošlih događaja za prikaz", "app.containers.Projects.noPhaseSelected": "Nije odabrana nijedna faza", "app.containers.Projects.noUpcomingOrOngoingEvents": "Trenutno nema zakazanih predstojećih događaja ili događaja u tijeku.", + "app.containers.Projects.offlineVotersTooltip": "Ovaj broj ne odražava brojanje glasača izvan mreže.", "app.containers.Projects.options": "Opcije", "app.containers.Projects.participants": "Sudionici", "app.containers.Projects.participantsTooltip4": "Ovaj broj također odražava anonimne ankete. Anonimno slanje anketa moguće je ako su ankete otvorene za sve (pogledajte karticu {accessRightsLink} za ovaj projekt).", From 65ac3b036f5d9726a5b103d121a29524ed138c8b Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:03 +0100 Subject: [PATCH 128/150] New translations en.json (Latvian) --- front/app/translations/admin/lv-LV.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/lv-LV.json b/front/app/translations/admin/lv-LV.json index 84766b9dc559..499173e08bd8 100644 --- a/front/app/translations/admin/lv-LV.json +++ b/front/app/translations/admin/lv-LV.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Projekts", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Ikviens", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grupas", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Bezsaistes balsotāji", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 dalībnieks} other {{participantsCount} dalībnieki}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Pasākuma apmeklētāji", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Iegulto metožu (piemēram, ārējo aptauju) dalībnieki.", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Projekta sekotāji", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Piezīme: Ieslēdzot anonīmas vai atklātas dalības atļaujas, lietotāji var piedalīties vairākas reizes, tādējādi iegūstot maldinošus vai nepilnīgus lietotāju datus.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Dalībnieku vidū nav:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Piedalās:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Lietotāju mijiedarbība ar Go Vocal metodēm", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projekta iestatījumi", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigācijas joslā būs redzami tikai tie projekti, kuriem lietotājiem ir piekļuve.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Beigu datums nav norādīts", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Nospiediet escape, lai izlaistu karuseli", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projekti un mapes (mantotie)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projektu nosaukums", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} pašlaik strādā pie", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Pogas teksts", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Šajā logrīkā varat atlasīt vēlamos projektus un mapes.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Nav atlasīti projekti vai mapes", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Atlasiet projektus vai mapes", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Atlasītie projekti un mapes", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projekti", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "apmeklējiet mūsu atbalsta centru", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From c2ec49344b743752cf483f2cec806e8ca9370c59 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:05 +0100 Subject: [PATCH 129/150] New translations en.json (Latvian) --- front/app/translations/lv-LV.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/lv-LV.json b/front/app/translations/lv-LV.json index 4bae03c6c762..222af83d18ef 100644 --- a/front/app/translations/lv-LV.json +++ b/front/app/translations/lv-LV.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Nav attēlojamu pagātnes notikumu", "app.containers.Projects.noPhaseSelected": "Nav izvēlēts neviens posms", "app.containers.Projects.noUpcomingOrOngoingEvents": "Šobrīd grafikā nav iekļauti gaidāmie vai aktuālie notikumi.", + "app.containers.Projects.offlineVotersTooltip": "Šis skaitlis neatspoguļo nekādus bezsaistes balsotāju skaitījumus.", "app.containers.Projects.options": "Iespējas", "app.containers.Projects.participants": "Dalībnieki", "app.containers.Projects.participantsTooltip4": "Šis skaitlis atspoguļo arī anonīmās aptaujas iesniegumus. Anonīmi aptauju iesniegšana ir iespējama, ja aptaujas ir pieejamas ikvienam (skatīt šā projekta cilni {accessRightsLink}).", From 0a04562136aa324d684783d822bae5f41373c876 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:08 +0100 Subject: [PATCH 130/150] New translations en.json (English, Canada) --- front/app/translations/admin/en-CA.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/en-CA.json b/front/app/translations/admin/en-CA.json index 41d555e74425..d4417f3f8642 100644 --- a/front/app/translations/admin/en-CA.json +++ b/front/app/translations/admin/en-CA.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Draft", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Everyone", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Groups", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline voters", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participant} other {{participantsCount} participants}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Event attendees", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Project settings", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projects and folders (legacy)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projects title", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} is currently working on", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Selected projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visit our support center", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 95bf28baee070ec885c3013ff7b836702ee44a9d Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:09 +0100 Subject: [PATCH 131/150] New translations en.json (English, Canada) --- front/app/translations/en-CA.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/en-CA.json b/front/app/translations/en-CA.json index 71c2ee668cf6..720af7488ad0 100644 --- a/front/app/translations/en-CA.json +++ b/front/app/translations/en-CA.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "No past events to display", "app.containers.Projects.noPhaseSelected": "No phase selected", "app.containers.Projects.noUpcomingOrOngoingEvents": "No upcoming or ongoing events are currently scheduled.", + "app.containers.Projects.offlineVotersTooltip": "This number does not reflect any offline voter counts.", "app.containers.Projects.options": "Options", "app.containers.Projects.participants": "Participants", "app.containers.Projects.participantsTooltip4": "This number also reflects anonymous survey submissions. Anonymous survey submissions are possible if surveys are open to everyone (see the {accessRightsLink} tab for this project).", From 77387c9ad47faeaab7577696458a7f88cc1c54b4 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:12 +0100 Subject: [PATCH 132/150] New translations en.json (English, United Kingdom) --- front/app/translations/admin/en-GB.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/en-GB.json b/front/app/translations/admin/en-GB.json index 05b30293eb3c..b4cc97886be4 100644 --- a/front/app/translations/admin/en-GB.json +++ b/front/app/translations/admin/en-GB.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Draft", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Everyone", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Groups", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline voters", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participant} other {{participantsCount} participants}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Event attendees", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Project settings", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projects and folders (legacy)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projects title", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} is currently working on", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Selected projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visit our support center", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 879fb3494ae5e5ad92f6e53db47a41859164196b Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:13 +0100 Subject: [PATCH 133/150] New translations en.json (English, United Kingdom) --- front/app/translations/en-GB.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/en-GB.json b/front/app/translations/en-GB.json index 635679868d0a..4eb3142aea23 100644 --- a/front/app/translations/en-GB.json +++ b/front/app/translations/en-GB.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "No past events to display", "app.containers.Projects.noPhaseSelected": "No phase selected", "app.containers.Projects.noUpcomingOrOngoingEvents": "No upcoming or ongoing events are currently scheduled.", + "app.containers.Projects.offlineVotersTooltip": "This number does not reflect any offline voter counts.", "app.containers.Projects.options": "Options", "app.containers.Projects.participants": "Participants", "app.containers.Projects.participantsTooltip4": "This number also reflects anonymous survey submissions. Anonymous survey submissions are possible if surveys are open to everyone (see the {accessRightsLink} tab for this project).", From 9a950c5d34b7e7b34be1fc0f2f0592df5698e1d9 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:16 +0100 Subject: [PATCH 134/150] New translations en.json (Welsh) --- front/app/translations/admin/cy-GB.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/cy-GB.json b/front/app/translations/admin/cy-GB.json index 944d3bb88661..80679a8185f2 100644 --- a/front/app/translations/admin/cy-GB.json +++ b/front/app/translations/admin/cy-GB.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Drafft", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Pawb", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grwpiau", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Pleidleiswyr all-lein", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 cyfranogwr} other {{participantsCount} cyfranogwyr}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Mynychwyr y digwyddiad", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Cyfranogwyr mewn dulliau sydd wedi'u gwreiddio (ee arolygon allanol)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Dilynwyr prosiect", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Nodyn: Gall galluogi caniatâd cyfranogiad dienw neu agored ganiatáu i ddefnyddwyr gymryd rhan sawl gwaith, gan arwain at ddata defnyddwyr camarweiniol neu anghyflawn.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Nid yw cyfranogwyr yn cynnwys:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Mae cyfranogwyr yn cynnwys:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Defnyddwyr yn rhyngweithio â dulliau Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Gosodiadau prosiect", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Bydd y bar llywio yn dangos prosiectau y mae gan ddefnyddwyr fynediad iddynt yn unig.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Dim dyddiad gorffen", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Pwyswch y dihangfa i hepgor y carwsél", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Prosiectau a ffolderi (etifeddiaeth)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Teitl y prosiect", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "Mae {orgName} yn gweithio arno ar hyn o bryd", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Testun botwm", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Yn y teclyn hwn, gallwch ddewis pa bynnag brosiectau a ffolderi rydych chi eu heisiau.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Dim prosiectau neu ffolderi wedi'u dewis", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Dewiswch brosiectau neu ffolderi", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Prosiectau a ffolderi dethol", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} prosiectau", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "ymweld â'n canolfan gymorth", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimenions-and-sizes-of-the-platform-images", From 95621634d8b8f328ad4deedd0c3344dba7943b80 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:18 +0100 Subject: [PATCH 135/150] New translations en.json (Welsh) --- front/app/translations/cy-GB.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/cy-GB.json b/front/app/translations/cy-GB.json index 962f300bab22..9b0705697d75 100644 --- a/front/app/translations/cy-GB.json +++ b/front/app/translations/cy-GB.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Dim digwyddiadau o'r gorffennol i'w harddangos", "app.containers.Projects.noPhaseSelected": "Dim cam wedi'i ddewis", "app.containers.Projects.noUpcomingOrOngoingEvents": "Nid oes unrhyw ddigwyddiadau ar y gweill neu barhaus wedi'u hamserlennu ar hyn o bryd.", + "app.containers.Projects.offlineVotersTooltip": "Nid yw'r rhif hwn yn adlewyrchu unrhyw gyfrif pleidleiswyr all-lein.", "app.containers.Projects.options": "Opsiynau", "app.containers.Projects.participants": "Cyfranogwyr", "app.containers.Projects.participantsTooltip4": "Mae'r rhif hwn hefyd yn adlewyrchu cyflwyniadau arolwg dienw. Mae cyflwyniadau arolwg dienw yn bosibl os yw arolygon yn agored i bawb (gweler y tab {accessRightsLink} ar gyfer y prosiect hwn).", From 6855d9af5e87af362ea09b24f2f41ead92f55d27 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:26 +0100 Subject: [PATCH 136/150] New translations en.json (Luxembourgish) --- front/app/translations/lb-LU.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/lb-LU.json b/front/app/translations/lb-LU.json index a5696078e774..6f9468176ee7 100644 --- a/front/app/translations/lb-LU.json +++ b/front/app/translations/lb-LU.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Keng vergaangen Evenementer fir unzeweisen", "app.containers.Projects.noPhaseSelected": "Keng Phas ausgewielt", "app.containers.Projects.noUpcomingOrOngoingEvents": "Aktuell si keng bevirstoend oder lafend Evenementer geplangt.", + "app.containers.Projects.offlineVotersTooltip": "Dës Zuel reflektéiert keng offline Wielerzuelen.", "app.containers.Projects.options": "Optiounen", "app.containers.Projects.participants": "Participanten", "app.containers.Projects.participantsTooltip4": "Dës Zuel reflektéiert och anonym Ëmfro Soumissioun. Anonym Ëmfroe sinn méiglech wann Ëmfroe fir jiddereen op sinn (kuckt den Tab {accessRightsLink} fir dëse Projet).", From 5e072498adac4b1314c1ee5aaa7c8b1c7ccf4007 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:29 +0100 Subject: [PATCH 137/150] New translations en.json (Norwegian Bokmal) --- front/app/translations/admin/nb-NO.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/nb-NO.json b/front/app/translations/admin/nb-NO.json index 4778b9ac9455..c7fe2c4e2bd2 100644 --- a/front/app/translations/admin/nb-NO.json +++ b/front/app/translations/admin/nb-NO.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Utkast", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Alle", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Grupper", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Frakoblede velgere", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 deltaker} other {{participantsCount} deltakere}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Deltakere på arrangementet", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deltakere i innebygde metoder (f.eks. eksterne spørreundersøkelser)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Følgere av et prosjekt", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Merk: Hvis du aktiverer anonyme eller åpne deltakelsestillatelser, kan det hende at brukere kan delta flere ganger, noe som kan føre til misvisende eller ufullstendige brukerdata.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Deltakerne er ikke inkludert:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Deltakerne inkluderer:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Brukere som samhandler med Go Vocal-metoder", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Prosjektinnstillinger", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Navigasjonsfeltet viser bare prosjekter som brukerne har tilgang til.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Ingen sluttdato", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Trykk escape for å hoppe over karusellen", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Prosjekter og mapper (eldre)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Prosjektets tittel", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} jobber for tiden med", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Knappenes tekst", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "I denne widgeten kan du velge hvilke prosjekter og mapper du vil ha.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Ingen prosjekter eller mapper valgt", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Velg prosjekter eller mapper", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Utvalgte prosjekter og mapper", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} prosjekter", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "besøk supportsenteret vårt", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From d119cc08717da9ebd46b34db7094f0e9a1e11221 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:30 +0100 Subject: [PATCH 138/150] New translations en.json (Norwegian Bokmal) --- front/app/translations/nb-NO.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/nb-NO.json b/front/app/translations/nb-NO.json index f23b80bfa528..650e0be42da5 100644 --- a/front/app/translations/nb-NO.json +++ b/front/app/translations/nb-NO.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Ingen tidligere arrangementer å vise", "app.containers.Projects.noPhaseSelected": "Ingen fase valgt", "app.containers.Projects.noUpcomingOrOngoingEvents": "Ingen kommende eller pågående arrangementer er for øyeblikket planlagt.", + "app.containers.Projects.offlineVotersTooltip": "Dette tallet gjenspeiler ikke eventuelle offline-velgertellinger.", "app.containers.Projects.options": "Alternativer", "app.containers.Projects.participants": "Deltakere", "app.containers.Projects.participantsTooltip4": "Dette tallet gjenspeiler også anonyme besvarelser. Anonyme besvarelser er mulig hvis undersøkelsene er åpne for alle (se {accessRightsLink} under fanen for dette prosjektet).", From 56ebff8c1b5794c42dda67c7510c02bbaeb97579 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:33 +0100 Subject: [PATCH 139/150] New translations en.json (Serbian (Latin)) --- front/app/translations/admin/sr-Latn.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/sr-Latn.json b/front/app/translations/admin/sr-Latn.json index 39d75d64ff48..25d8c5d4152b 100644 --- a/front/app/translations/admin/sr-Latn.json +++ b/front/app/translations/admin/sr-Latn.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Draft", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Everyone", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Groups", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline voters", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participant} other {{participantsCount} participants}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Event attendees", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Project settings", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projects and folders (legacy)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projects title", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} is currently working on", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Selected projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "poseti naš centar za podršku", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 93ec0333407a713701542b98e34ab8b69279fea2 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:34 +0100 Subject: [PATCH 140/150] New translations en.json (Serbian (Latin)) --- front/app/translations/sr-Latn.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/sr-Latn.json b/front/app/translations/sr-Latn.json index e360b8f3889f..dec75ddeaa13 100644 --- a/front/app/translations/sr-Latn.json +++ b/front/app/translations/sr-Latn.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Nema prošlih događaja za prikaz", "app.containers.Projects.noPhaseSelected": "Nije izabrana nijedna faza", "app.containers.Projects.noUpcomingOrOngoingEvents": "Trenutno nema zakazanih predstojećih i tekućih događaja.", + "app.containers.Projects.offlineVotersTooltip": "This number does not reflect any offline voter counts.", "app.containers.Projects.options": "Solucije", "app.containers.Projects.participants": "Učesnici", "app.containers.Projects.participantsTooltip4": "This number also reflects anonymous survey submissions. Anonymous survey submissions are possible if surveys are open to everyone (see the {accessRightsLink} tab for this project).", From bedc7493d33e86f655c99dcd6a552dd4cab5f943 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:37 +0100 Subject: [PATCH 141/150] New translations en.json (Dutch, Belgium) --- front/app/translations/admin/nl-BE.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/nl-BE.json b/front/app/translations/admin/nl-BE.json index aab6707c1c38..3648ade94a30 100644 --- a/front/app/translations/admin/nl-BE.json +++ b/front/app/translations/admin/nl-BE.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Concept", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Iedereen", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Groepen", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline stemmers", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 deelnemer} other {{participantsCount} deelnemers}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Deelnemers", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Deelnemers aan ingesloten methoden (bijv. externe onderzoeken)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Volgers van een project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Opmerking: Als je anonieme of open deelnamemogelijkheden inschakelt, kunnen gebruikers meerdere keren deelnemen, wat kan leiden tot misleidende of onvolledige gebruikersgegevens.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Deelnemers zijn niet:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Deelnemers zijn onder andere:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Gebruikers in interactie met Go Vocal-methoden", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Projectinstellingen", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "De navigatiebalk toont alleen projecten waar gebruikers toegang tot hebben.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Geen einddatum", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Druk op escape om carrousel over te slaan", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projecten en mappen (legacy)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projectnaam", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} werkt momenteel aan", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Tekst knop", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In deze widget kun je de projecten en mappen selecteren die je wilt.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Geen projecten of mappen geselecteerd", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Selecteer projecten of mappen", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Geselecteerde projecten en mappen", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projecten", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "bekijk onze supportpagina", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 44a3f876f32708217735aed8f7e6bb68d63cacdf Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:39 +0100 Subject: [PATCH 142/150] New translations en.json (Dutch, Belgium) --- front/app/translations/nl-BE.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/nl-BE.json b/front/app/translations/nl-BE.json index 95f593ecc111..02d27695d48e 100644 --- a/front/app/translations/nl-BE.json +++ b/front/app/translations/nl-BE.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Geen afgelopen activiteiten om te tonen", "app.containers.Projects.noPhaseSelected": "Geen fase geselecteerd", "app.containers.Projects.noUpcomingOrOngoingEvents": "Er zijn momenteel geen aankomende of gestarte activiteiten.", + "app.containers.Projects.offlineVotersTooltip": "Onder dit aantal worden offline stemmen niet meegerekend.", "app.containers.Projects.options": "Opties", "app.containers.Projects.participants": "Deelnemers", "app.containers.Projects.participantsTooltip4": "Dit aantal weerspiegelt ook anoniem ingevulde enquêtes. Anoniem ingevulde enquêtes zijn mogelijk als enquêtes voor iedereen toegankelijk zijn (zie het tabblad {accessRightsLink} van dit project).", From 9699529cb364273bae55ce6b3f902a6c9fd71f58 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:41 +0100 Subject: [PATCH 143/150] New translations en.json (English, Ireland) --- front/app/translations/admin/en-IE.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/en-IE.json b/front/app/translations/admin/en-IE.json index 41d555e74425..d4417f3f8642 100644 --- a/front/app/translations/admin/en-IE.json +++ b/front/app/translations/admin/en-IE.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Draft", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Everyone", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Groups", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Offline voters", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participant} other {{participantsCount} participants}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Event attendees", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Participants in embedded methods (e.g., external surveys)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Followers of a project", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Note: Enabling anonymous or open participation permissions may allow users to participate multiple times, leading to misleading or incomplete user data.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Participants do not include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Participants include:", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Users interacting with Go Vocal methods", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Project settings", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "The navigation bar will only show projects to which users have access.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "No end date", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Press escape to skip carrousel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projects and folders (legacy)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Projects title", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} is currently working on", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Button text", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "In this widget, you can select whichever projects and folders you want.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "No projects or folders selected", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Select projects or folders", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Selected projects and folders", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projects", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visit our support center", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From b2ea4f7cb279eb2fa44d8b25c15dbe0421ee32f1 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:43 +0100 Subject: [PATCH 144/150] New translations en.json (English, Ireland) --- front/app/translations/en-IE.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/en-IE.json b/front/app/translations/en-IE.json index cabedd0c5c98..7d98aa98817f 100644 --- a/front/app/translations/en-IE.json +++ b/front/app/translations/en-IE.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "No past events to display", "app.containers.Projects.noPhaseSelected": "No phase selected", "app.containers.Projects.noUpcomingOrOngoingEvents": "No upcoming or ongoing events are currently scheduled.", + "app.containers.Projects.offlineVotersTooltip": "This number does not reflect any offline voter counts.", "app.containers.Projects.options": "Options", "app.containers.Projects.participants": "Participants", "app.containers.Projects.participantsTooltip4": "This number also reflects anonymous survey submissions. Anonymous survey submissions are possible if surveys are open to everyone (see the {accessRightsLink} tab for this project).", From f66e7023b582f69cf7bdbe908794b04fba7897cf Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:46 +0100 Subject: [PATCH 145/150] New translations en.json (French, Belgium) --- front/app/translations/admin/fr-BE.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/front/app/translations/admin/fr-BE.json b/front/app/translations/admin/fr-BE.json index f20a39086adb..f6ce8a85dbde 100644 --- a/front/app/translations/admin/fr-BE.json +++ b/front/app/translations/admin/fr-BE.json @@ -375,11 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "Brouillon", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "Tous les utilisateurs", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "Groupes", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "Votants hors ligne", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "{participantsCount, plural, one {1 participant} other {{participantsCount} participants}}", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "Les participants aux événements", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "Les utilisateurs interagissant avec les méthodes intégrées (par exemple, enquêtes externes)", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "Les followers d'un projet", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "Remarque : L'activation de la participation anonyme ou sans compte utilisateur peut permettre aux utilisateurs de participer plusieurs fois, ce qui pourrait conduire des résultats trompeurs ou non représentatifs.", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "Les participants n'incluent pas :", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "Les participants incluent :", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "Utilisateurs interagissant avec les méthodes natives de Go Vocal", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "Paramètres du projet", @@ -808,6 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "Le projet sera affiché dans la barre de navigation uniquement si les utilisateurs y ont accès.", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "Pas de date de fin", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "Appuyez sur Échap (Esc) pour passer le carrousel", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "Projets et dossiers (héritage)", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "Titre du projet", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "{orgName} travaille actuellement sur", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "Texte du bouton", @@ -2842,6 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "Dans ce widget, vous pouvez sélectionner les projets et les dossiers de votre choix.", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "Aucun projet ou dossier sélectionné", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "Sélectionnez des projets ou des dossiers", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "Projets et dossiers sélectionnés", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "{numberOfProjects} projets", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "visitez notre centre d'assistance", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", From 35425f45f3b0a0eb05570327d5d534bf35d94d99 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:47 +0100 Subject: [PATCH 146/150] New translations en.json (French, Belgium) --- front/app/translations/fr-BE.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/fr-BE.json b/front/app/translations/fr-BE.json index fff892dbccb9..df6098b31a44 100644 --- a/front/app/translations/fr-BE.json +++ b/front/app/translations/fr-BE.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "Aucun événement passé à afficher", "app.containers.Projects.noPhaseSelected": "Pas de phase sélectionnée", "app.containers.Projects.noUpcomingOrOngoingEvents": "Aucun événement à venir ou en cours n'est actuellement prévu.", + "app.containers.Projects.offlineVotersTooltip": "Ce nombre ne prend pas en compte les votes hors ligne.", "app.containers.Projects.options": "Questions", "app.containers.Projects.participants": "Participants", "app.containers.Projects.participantsTooltip4": "Ce chiffre inclut également les réponses anonymes à l'enquête. Les réponses anonymes sont possibles si l'enquête est ouverte à tous (voir l'onglet {accessRightsLink} de ce projet).", From 65f2da673ad359affee5385bc4a207c71c461eaf Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:53 +0100 Subject: [PATCH 147/150] New translations en.json (Moroccan Arabic) --- front/app/translations/ar-MA.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/ar-MA.json b/front/app/translations/ar-MA.json index adc0bc64d2f9..7b2ed482362b 100644 --- a/front/app/translations/ar-MA.json +++ b/front/app/translations/ar-MA.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "لا توجد أي أحداث سابقة لعرضها", "app.containers.Projects.noPhaseSelected": "لم يتم تحديد مرحلة", "app.containers.Projects.noUpcomingOrOngoingEvents": "لم تتم جدولة أي أحداث قادمة أو جارية حاليًا.", + "app.containers.Projects.offlineVotersTooltip": "لا يعكس هذا الرقم أي أعداد للناخبين غير المتصلين بالإنترنت.", "app.containers.Projects.options": "الخيارات", "app.containers.Projects.participants": "مشاركون", "app.containers.Projects.participantsTooltip4": "يعكس هذا الرقم أيضًا عمليات إرسال الاستطلاع المجهولة. من الممكن إرسال استطلاعات مجهولة المصدر إذا كانت الاستطلاعات مفتوحة للجميع (راجع علامة التبويب {accessRightsLink} لهذا المشروع).", From 8790c3f4da0b17a4439a169e9ccc60ef91a21cae Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:55 +0100 Subject: [PATCH 148/150] New translations en.json (Acholi) --- front/app/translations/admin/ach-UG.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/front/app/translations/admin/ach-UG.json b/front/app/translations/admin/ach-UG.json index 4107e7b8cbff..5f721b74c497 100644 --- a/front/app/translations/admin/ach-UG.json +++ b/front/app/translations/admin/ach-UG.json @@ -375,12 +375,13 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.draft": "crwdns1442964:0crwdne1442964:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.everyone": "crwdns1442966:0crwdne1442966:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.groups": "crwdns1442968:0crwdne1442968:0", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.offlineVoters": "crwdns3763169:0crwdne3763169:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participants": "crwdns1442970:0participantsCount={participantsCount}crwdnd1442970:0participantsCount={participantsCount}crwdne1442970:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.attendees": "crwdns3263231:0crwdne3263231:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.embeddedMethods": "crwdns3263233:0crwdne3263233:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.followers": "crwdns3263235:0crwdne3263235:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.note": "crwdns3263237:0crwdne3263237:0", - "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle": "crwdns3263239:0crwdne3263239:0", + "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsExclusionTitle2": "crwdns3763171:0crwdne3763171:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.participantsInfoTitle": "crwdns3263241:0crwdne3263241:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.participantsInfo.users": "crwdns3263243:0crwdne3263243:0", "app.components.app.containers.AdminPage.ProjectEdit.projectHeader.projectSettings": "crwdns1442972:0crwdne1442972:0", @@ -809,7 +810,7 @@ "app.containers.Admin.pagesAndMenu.containers.AddProjectModal.warning": "crwdns2654423:0crwdne2654423:0", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.noEndDate": "crwdns3477983:0crwdne3477983:0", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.OpenToParticipation.ProjectCarrousel.skipCarrousel": "crwdns3477985:0crwdne3477985:0", - "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle": "crwdns1336698:0crwdne1336698:0", + "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitle1": "crwdns3763163:0crwdne3763163:0", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitleLabel": "crwdns1336700:0crwdne1336700:0", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.Projects.projectsTitlePlaceholder": "crwdns1336702:0{orgName}crwdne1336702:0", "app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.CraftComponents.SpotlightProject.buttonText": "crwdns3373809:0crwdne3373809:0", @@ -2844,7 +2845,7 @@ "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.inThisWidget": "crwdns3645035:0crwdne3645035:0", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.noData": "crwdns3645037:0crwdne3645037:0", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectProjectsOrFolders": "crwdns3645039:0crwdne3645039:0", - "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle2": "crwdns3645041:0crwdne3645041:0", + "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets.Selection.selectionTitle3": "crwdns3763165:0crwdne3763165:0", "front.app.containers.Admin.pagesAndMenu.containers.ContentBuilder.components.Widgets._shared.AdminPubsCarrousel.AdminPubCard.projects": "crwdns3645043:0{numberOfProjects}crwdne3645043:0", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageText": "crwdns212796:0crwdne212796:0", "pagesAndMenu.GenericHeroBannerForm.BannerImageFields.imageSupportPageURL": "crwdns212798:0crwdne212798:0", From 0feb778e2121752d6c9df905bcbf520cce9a5769 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:42:57 +0100 Subject: [PATCH 149/150] New translations en.json (Acholi) --- front/app/translations/ach-UG.json | 1 + 1 file changed, 1 insertion(+) diff --git a/front/app/translations/ach-UG.json b/front/app/translations/ach-UG.json index ef97049cdfd2..076b8a75387c 100644 --- a/front/app/translations/ach-UG.json +++ b/front/app/translations/ach-UG.json @@ -1595,6 +1595,7 @@ "app.containers.Projects.noPastEvents": "crwdns215202:0crwdne215202:0", "app.containers.Projects.noPhaseSelected": "crwdns215204:0crwdne215204:0", "app.containers.Projects.noUpcomingOrOngoingEvents": "crwdns215206:0crwdne215206:0", + "app.containers.Projects.offlineVotersTooltip": "crwdns3763167:0crwdne3763167:0", "app.containers.Projects.options": "crwdns215210:0crwdne215210:0", "app.containers.Projects.participants": "crwdns3166357:0crwdne3166357:0", "app.containers.Projects.participantsTooltip4": "crwdns1294760:0{accessRightsLink}crwdne1294760:0", From a01ca245219a1e65872e8e5f0cd9c3f10701bfb3 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Thu, 12 Dec 2024 08:45:43 +0100 Subject: [PATCH 150/150] Remove lazy loading from ideas index page --- front/app/containers/IdeasIndexPage/index.tsx | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/front/app/containers/IdeasIndexPage/index.tsx b/front/app/containers/IdeasIndexPage/index.tsx index f67f26754dab..a1c418919548 100644 --- a/front/app/containers/IdeasIndexPage/index.tsx +++ b/front/app/containers/IdeasIndexPage/index.tsx @@ -1,11 +1,10 @@ -import React, { lazy, Suspense, useMemo } from 'react'; +import React, { useMemo } from 'react'; import { media, fontSizes, colors, isRtl, - Spinner, } from '@citizenlab/cl2-component-library'; import { useSearchParams } from 'react-router-dom'; import styled from 'styled-components'; @@ -15,9 +14,7 @@ import { IdeaSortMethod } from 'api/phases/types'; import CityLogoSection from 'components/CityLogoSection'; import ContentContainer from 'components/ContentContainer'; -const IdeasWithFiltersSidebar = lazy( - () => import('components/IdeaCards/IdeasWithFiltersSidebar') -); +import IdeasWithFiltersSidebar from 'components/IdeaCards/IdeasWithFiltersSidebar'; import IdeaListScrollAnchor from 'components/IdeaListScrollAnchor'; import { FormattedMessage } from 'utils/cl-intl'; @@ -114,12 +111,10 @@ export default () => { when fitlers are changed in the IdeaCardsWithFiltersSidebar component and scrollToTopIdeasList util. */} - }> - - +