diff --git a/src/components/Process/Header.tsx b/src/components/Process/Header.tsx
index 41e8de8..5f09261 100644
--- a/src/components/Process/Header.tsx
+++ b/src/components/Process/Header.tsx
@@ -60,7 +60,7 @@ const ProcessHeader = () => {
h1: ,
}}
/>
- {!voted && Tria individualment els candidats que vols votar, o bé, vota en blanc.}
+ {!voted && {t('process.helper_candidates')}}
diff --git a/src/components/Process/View.tsx b/src/components/Process/View.tsx
index 9374b54..c3656c8 100644
--- a/src/components/Process/View.tsx
+++ b/src/components/Process/View.tsx
@@ -1,16 +1,24 @@
-import { Box, Link, Text } from '@chakra-ui/react'
+import { Box, Link, Modal, ModalBody, ModalContent, ModalOverlay, Spinner, Text, VStack } from '@chakra-ui/react'
import { Wallet } from '@ethersproject/wallet'
import { QuestionsFormProvider } from '@vocdoni/chakra-components'
import { useClient, useElection } from '@vocdoni/react-providers'
import { ArchivedElection, VocdoniSDKClient } from '@vocdoni/sdk'
import { useEffect } from 'react'
+import { Trans, useTranslation } from 'react-i18next'
import { ConfirmVoteModal } from './ConfirmVoteModal'
import Header from './Header'
import { Questions } from './Questions'
import { SuccessVoteModal } from './SuccessVoteModal'
export const ProcessView = () => {
- const { connected, election, client: electionClient, setClient: setElectionClient, voted } = useElection()
+ const {
+ connected,
+ election,
+ client: electionClient,
+ setClient: setElectionClient,
+ voted,
+ loading: { voting },
+ } = useElection()
const { env, setClient, client, setSigner } = useClient()
const shouldRender = !(election instanceof ArchivedElection)
@@ -65,21 +73,46 @@ export const ProcessView = () => {
{voted && (
- Ajuda'ns a conèixer-te millor!{' '}
-
- respon aquestes preguntes
-
+ ,
+ }}
+ />
- Inscriu-te a l'Assemblea General de Valls{' '}
-
- aquí
-
+ ,
+ }}
+ />
)}
+
>
)
}
+const VotingVoteModal = () => {
+ const { t } = useTranslation()
+ const {
+ loading: { voting },
+ } = useElection()
+
+ return (
+ {}}>
+
+
+
+
+
+
+ {t('process.voting')}
+
+
+
+ )
+}
diff --git a/src/i18n/locales/ca.json b/src/i18n/locales/ca.json
index 5f43969..2972aed 100644
--- a/src/i18n/locales/ca.json
+++ b/src/i18n/locales/ca.json
@@ -76,7 +76,7 @@
"confirm": "Confirma les teves seleccions:",
"sign": "Signa abans de votar",
"voted_description": "Per verificar el teu vot, pots utilitzar aquesta identificació única: {{ id }}",
- "voted_title": "El teu vot ha estat registrat correctament. Els resultats electorals es coneixeran el 28 de juny durant l’Assemblea General a Valls."
+ "voted_title": "Els resultats electorals es coneixeran el 28 de juny durant l’Assemblea General a Valls."
}
},
"copy": {
@@ -107,8 +107,7 @@
},
"menu": {
"burger_aria_label": "menú d'usuari",
- "connect": "Connectar",
- "logout": "Tancar sessió"
+ "connect": "Connectar"
},
"process": {
"census_strategies": {
@@ -136,21 +135,24 @@
"one_of_them": "(Almenys un d'ells)"
},
"helper": "Un cop completat, recordeu prémer el botó “Finalitzar la votació” que es troba al final d’aquesta pàgina i confirmeu l’elecció.",
+ "helper_candidates": "Tria individualment els candidats que vols votar, o bé, vota en blanc.",
"helper_error_one": "Has de contestar totes les votacions per poder finalitzar el procés. N'has respost {{ count }} de {{ count2 }}",
"helper_error_many": "Has de contestar totes les votacions per poder finalitzar el procés. N'has respost {{ count }} de {{ count2 }}",
"helper_error_other": "Has de contestar totes les votacions per poder finalitzar el procés. N'has respost {{ count }} de {{ count2 }}",
"is_invalid": "Aquest procés té dades no vàlides i per tant no pot carregar-se",
+ "mark_all": "Votar tota la llista Òmnium 2026",
+ "omnium_link": {
+ "assembly": "Inscriu-te a l'Assemblea General de Valls aquí",
+ "you_know": "Ajuda'ns a conèixer-te millor! respon aquestes preguntes"
+ },
"share_title": "Comparteix a {{ network }}",
"spreadsheet": {
"confirm": {
"abstain_count_one": "",
"abstain_count_many": "",
"abstain_count_other": "",
- "blank_vote": "",
- "header": "Confirma el teu vot",
"description": "Estas a un pas de finalitzar la teva votació. Aquestes són les opcions que has triat:",
- "option": "Opció: {{ answer }}",
- "options": "Selecció: {{ answers }}",
+ "header": "Confirma el teu vot",
"question": "{{ question }}: {{ answer }}"
}
},
@@ -162,11 +164,11 @@
"upcoming": "Previst"
},
"success_modal": {
- "btn": "Finalitzar",
"text": "
El teu vot ha estat registrat correctament
Ajuda'ns a conèixer-te millor!
",
"title": "Vot emès correctament!"
},
- "voters": "Votants"
+ "voters": "Votants",
+ "voting": "Estem processant el teu vot. Aquest procés trigarà uns segons. Si us plau, no actualitzis aquesta pàgina."
},
"process_actions": {
"cancel": "Cancel·la",
diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json
index ad86a61..9942553 100644
--- a/src/i18n/locales/es.json
+++ b/src/i18n/locales/es.json
@@ -107,8 +107,7 @@
},
"menu": {
"burger_aria_label": "menú de usuario",
- "connect": "Conectar",
- "logout": "Cerrar sesión"
+ "connect": "Conectar"
},
"process": {
"census_strategies": {
@@ -136,20 +135,24 @@
"one_of_them": "(Al menos uno de ellos)"
},
"helper": "Una vez completado, recuerden presionar el botón 'Finalizar la votación' que se encuentra al final de esta página y confirmar la elección.",
+ "helper_candidates": "",
"helper_error_one": "Has de contestar todas las votaciones para poder finalizar el proceso. Has respondido {{count}} de {{count2}}.",
"helper_error_many": "Has de contestar todas las votaciones para poder finalizar el proceso. Has respondido {{count}} de {{count2}}.",
"helper_error_other": "Has de contestar todas las votaciones para poder finalizar el proceso. Has respondido {{count}} de {{count2}}.",
"is_invalid": "Este proceso tiene datos no válidos y no se puede cargar",
+ "mark_all": "Votar tota la llista Òmnium 2026",
+ "omnium_link": {
+ "assembly": "",
+ "you_know": ""
+ },
"share_title": "Compartir en {{ network }}",
"spreadsheet": {
"confirm": {
"abstain_count_one": "",
"abstain_count_many": "",
"abstain_count_other": "",
- "blank_vote": "",
"description": "Confrima tu voto",
- "option": "Opción {{ number }}: {{ answer }}",
- "options": "Selección: {{ answers }}",
+ "header": "",
"question": "Pregunta {{ number }}: {{ answer }}"
}
},
@@ -161,11 +164,11 @@
"upcoming": "Próximo"
},
"success_modal": {
- "btn": "Finalizar",
"text": "
Gracias por tu voto. Vuelve a la página principal para seguir y consultar los resultados finales cuando estén disponibles.