Skip to content

Commit 3433d89

Browse files
authored
Merge pull request #144 from kleros/feat/enterprise-ui
feat: enterprise-ui
2 parents 9435500 + 70c5212 commit 3433d89

File tree

30 files changed

+2284
-377
lines changed

30 files changed

+2284
-377
lines changed

messages/ar.json

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
"subtitle": "أدخل رقم القضية لعرض تفاصيلها.",
55
"button": "بحث"
66
},
7+
"navbar": {
8+
"faq": "التعليمات"
9+
},
10+
"footer": {
11+
"title": "كليروس - العدالة اللامركزية",
12+
"subtitle": "حل النزاعات بطريقة شفافة وعادلة باستخدام تقنية البلوك تشين"
13+
},
714
"loading": {
815
"title": "تحميل"
916
},
@@ -17,24 +24,53 @@
1724
"question": {
1825
"title": "السؤال",
1926
"policy": "سياسة القرار",
20-
"winner": "الفائز"
27+
"winner": "القرار النهائي"
2128
},
2229
"period": {
23-
"title": "الفترة",
24-
"evidence": "الأدلة",
25-
"voting": "التصويت",
26-
"executed": "تم التنفيذ"
30+
"title": "مراحل",
31+
"time": {
32+
"start": "يبدأ: {time}",
33+
"resolved": "تم الحل: {time}",
34+
"duration": "المدة الإجمالية: {day, plural, =0 {} =1 {# يوم} other {# أيام}} {hour, plural, =0 {} =1 {# ساعة} other {# ساعات}}"
35+
},
36+
"presentation": {
37+
"title": "العرض الأولي",
38+
"tooltip": "مرحلة تقديم الأطراف لحججهم ووثائقهم. بعد إغلاق الجلسة، لا يُمكن تحميل أي معلومات إضافية."
39+
},
40+
"vote": {
41+
"title": "تصويت",
42+
"tooltip": "المرحلة التي يقوم فيها أعضاء هيئة المحلفين بتحليل الوثائق وإدلاء أصواتهم."
43+
},
44+
"resolved": {
45+
"title": "تم الحل",
46+
"tooltip": "انتهى التصويت وتم حل القضية."
47+
}
2748
},
2849
"evidence": {
29-
"title": "الأدلة",
30-
"from": "من: {user}",
31-
"attachment": "المرفق"
50+
"title": "توثيق القضية",
51+
"from": "من:",
52+
"see": "يرى"
53+
},
54+
"policy": {
55+
"title": "سياسة الحل",
56+
"see": "انظر السياسة",
57+
"tooltip": "يحتوي على القواعد التي توجه هيئات المحلفين في اتخاذ القرار في القضية."
58+
},
59+
"result": {
60+
"title": "نتيجة",
61+
"votes": "{number} الأصوات لصالح \"{answer}\""
3262
},
3363
"justifications": {
3464
"title": "التبريرات",
35-
"different": "{count, plural, =1 {تم اختيار عضو محلف واحد} other {تم اختيار # من الأعضاء المحلفين المختلفين}} لهذه المنازعة.",
3665
"voted": "صوّت:",
37-
"weight": "الوزن: {count, plural, =1 {صوت واحد} other {# أصوات}}"
66+
"juror": "محلف",
67+
"weight": "{count, plural, =1 {صوت واحد} other {# أصوات}}",
68+
"tooltip": "يتم اختيار هيئات المحلفين عشوائيًا من بين جميع المحلفين المتاحين. في بعض الأحيان، قد يتم اختيار المحلف نفسه أكثر من مرة لنفس القضية، وفي هذه الحالة، يحصل على أكثر من صوت واحد. تزيد هذه الآلية من احتمالية مشاركة المحلفين الأكثر نشاطًا والتزامًا، وتعزز الحماية من القرارات التعسفية.",
69+
"button": {
70+
"hide": "إخفاء التبرير",
71+
"open": "انظر التبرير"
72+
},
73+
"copy": "تم نسخ العنوان إلى الحافظة"
3874
}
3975
}
4076
}

messages/en.json

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
"subtitle": "Enter the case number to view its details.",
55
"button": "Search"
66
},
7+
"navbar": {
8+
"faq": "FAQ"
9+
},
10+
"footer": {
11+
"title": "Kleros - Decentralized Justice",
12+
"subtitle": "Transparent and fair dispute resolution using blockchain technology"
13+
},
714
"loading": {
815
"title": "LOADING"
916
},
@@ -17,24 +24,53 @@
1724
"question": {
1825
"title": "QUESTION",
1926
"policy": "Resolution Policy",
20-
"winner": "Winner"
27+
"winner": "Final Decision"
2128
},
2229
"period": {
23-
"title": "PERIOD",
24-
"evidence": "Evidence",
25-
"voting": "Voting",
26-
"executed": "Executed"
30+
"title": "STAGES",
31+
"time": {
32+
"start": "Start: {time}",
33+
"resolved": "Resolved: {time}",
34+
"duration": "Total duration: {day, plural, =0 {} =1 {# day} other {# days}} {hour, plural, =0 {} =1 {# hour} other {# hours}}"
35+
},
36+
"presentation": {
37+
"title": "Initial presentation",
38+
"tooltip": "Stage in which the parties present their arguments and documentation. Once closed, additional information cannot be uploaded."
39+
},
40+
"vote": {
41+
"title": "Vote",
42+
"tooltip": "Stage in which the jurors analyze the documentation and cast their vote."
43+
},
44+
"resolved": {
45+
"title": "Resolved",
46+
"tooltip": "The vote concluded and the case was resolved."
47+
}
2748
},
2849
"evidence": {
29-
"title": "EVIDENCE",
30-
"from": "From: {user}",
31-
"attachment": "Attachment"
50+
"title": "CASE DOCUMENTATION",
51+
"from": "From:",
52+
"see": "See"
53+
},
54+
"policy": {
55+
"title": "RESOLUTION POLICY",
56+
"see": "See policy",
57+
"tooltip": "Contains the rules that guide juries in making a decision in the case."
58+
},
59+
"result": {
60+
"title": "RESULT",
61+
"votes": "{number} votes for \"{answer}\""
3262
},
3363
"justifications": {
3464
"title": "JUSTIFICATIONS",
35-
"different": "{count, plural, =1 {# juror was} other {# different jurors were}} selected for this dispute.",
3665
"voted": "Voted:",
37-
"weight": "Weight: {count, plural, =1 {# vote} other {# votes}}"
66+
"juror": "Juror",
67+
"weight": "{count, plural, =1 {# vote} other {# votes}}",
68+
"tooltip": "Juries are randomly selected from all available jurors. Sometimes, the same juror may be selected more than once for the same case, and in that case, they receive more than one vote. This mechanism increases the likelihood that the most active and committed jurors will participate and strengthens the protection against arbitrary decisions.",
69+
"button": {
70+
"hide": "Hide justification",
71+
"open": "See justification"
72+
},
73+
"copy": "Address copied to clipboard"
3874
}
3975
}
4076
}

messages/es.json

Lines changed: 45 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
"subtitle": "Introduzca el número del caso para ver los detalles.",
55
"button": "Buscar"
66
},
7+
"navbar": {
8+
"faq": "Preguntas frecuentes"
9+
},
10+
"footer": {
11+
"title": "Kleros - Justicia Descentralizada",
12+
"subtitle": "Resolución de disputas transparente y justa mediante tecnología blockchain"
13+
},
714
"loading": {
815
"title": "CARGANDO"
916
},
@@ -17,24 +24,53 @@
1724
"question": {
1825
"title": "PREGUNTA",
1926
"policy": "Política de resolución",
20-
"winner": "Ganador"
27+
"winner": "Decisión Final"
2128
},
2229
"period": {
23-
"title": "PERIODO",
24-
"evidence": "Evidencia",
25-
"voting": "Votación",
26-
"executed": "Ejecutado"
30+
"title": "ETAPAS",
31+
"time": {
32+
"start": "Inicio: {time}",
33+
"resolved": "Resuelto: {time}",
34+
"duration": "Duración total: {day, plural, =0 {} =1 {# día} other {# días}} {hour, plural, =0 {} =1 {# hora} other {# horas}}"
35+
},
36+
"presentation": {
37+
"title": "Presentación inicial",
38+
"tooltip": "Etapa en la que las partes presentan sus argumentos y documentación. Una vez cerrado el proceso, no se puede cargar información adicional."
39+
},
40+
"vote": {
41+
"title": "Votación",
42+
"tooltip": "Etapa en la que los jurados analizan la documentación y emiten su voto."
43+
},
44+
"resolved": {
45+
"title": "Resuelto",
46+
"tooltip": "La votación concluyó y el caso fue resuelto"
47+
}
2748
},
2849
"evidence": {
2950
"title": "EVIDENCIA",
30-
"from": "De: {user}",
31-
"attachment": "Adjunto"
51+
"from": "De:",
52+
"see": "Ver"
53+
},
54+
"policy": {
55+
"title": "POLÍTICA DE RESOLUCIÓN",
56+
"see": "Ver política",
57+
"tooltip": "Contiene las reglas que guían a los jurados para tomar una decisión en el caso."
58+
},
59+
"result": {
60+
"title": "RESULTADO",
61+
"votes": "{number} votos por \"{answer}\""
3262
},
3363
"justifications": {
3464
"title": "JUSTIFICACIONES",
35-
"different": "{count, plural, =1 {# arbitro fue seleccionado} other {# arbitros diferentes fueron seleccionados}} para esta disputa.",
3665
"voted": "Votó:",
37-
"weight": "Peso: {count, plural, =1 {# voto} other {# votos}}"
66+
"juror": "Arbitro",
67+
"weight": "{count, plural, =1 {# voto} other {# votos}}",
68+
"tooltip": "Los jurados son seleccionados al azar entre todos los disponibles. A veces, el mismo jurado puede ser elegido más de una vez para un mismo caso, y en ese caso recibe más de un voto. Este mecanismo aumenta la probabilidad de que participen aquellos árbitros más activos y comprometidos, y refuerza la protección contra decisiones arbitrarias.",
69+
"button": {
70+
"hide": "Ocultar justificación",
71+
"open": "Ver justificación"
72+
},
73+
"copy": "Dirección copiada al portapapeles"
3874
}
3975
}
4076
}

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
"@kleros/kleros-sdk": "2.3.1",
1616
"@radix-ui/react-dropdown-menu": "^2.1.2",
1717
"@radix-ui/react-separator": "^1.1.0",
18+
"@radix-ui/react-toast": "^1.2.15",
19+
"@radix-ui/react-tooltip": "^1.2.8",
1820
"class-variance-authority": "^0.7.1",
1921
"clsx": "^2.1.1",
2022
"lucide-react": "^0.475.0",
@@ -23,6 +25,7 @@
2325
"react": "19.1.0",
2426
"react-dom": "19.1.0",
2527
"rtl-detect": "^1.1.2",
28+
"sonner": "^2.0.7",
2629
"tailwind-merge": "^2.5.5",
2730
"tailwindcss-animate": "^1.0.7",
2831
"viem": "^2.23.2"

public/kleros.svg

Lines changed: 3 additions & 3 deletions
Loading

0 commit comments

Comments
 (0)