@eifi1/ui-kit 0.36.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -4
- package/dist/components/field-parts.d.ts +3 -3
- package/dist/components/field-parts.js.map +1 -1
- package/dist/components/help-popover.d.ts +1 -1
- package/dist/components/help-popover.js.map +1 -1
- package/dist/components/numeric-field.d.ts +1 -1
- package/dist/components/numeric-field.js.map +1 -1
- package/dist/eslint/index.js +1 -1
- package/dist/eslint/role-utilities.d.ts +34 -2
- package/dist/eslint/role-utilities.js +30 -9
- package/dist/eslint/role-utilities.js.map +1 -1
- package/dist/feedback/feedback-comment-thread.d.ts +80 -0
- package/dist/feedback/feedback-comment-thread.js +162 -0
- package/dist/feedback/feedback-comment-thread.js.map +1 -0
- package/dist/feedback/feedback-dialog-labels.js +2 -1
- package/dist/feedback/feedback-dialog-labels.js.map +1 -1
- package/dist/feedback/feedback-dialog.d.ts +13 -0
- package/dist/feedback/feedback-dialog.js +12 -4
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-menu-labels.js +2 -1
- package/dist/feedback/feedback-menu-labels.js.map +1 -1
- package/dist/feedback/feedback-menu.d.ts +17 -3
- package/dist/feedback/feedback-menu.js +11 -1
- package/dist/feedback/feedback-menu.js.map +1 -1
- package/dist/feedback/feedback-public-labels.d.ts +50 -0
- package/dist/feedback/feedback-public-labels.js +26 -0
- package/dist/feedback/feedback-public-labels.js.map +1 -0
- package/dist/feedback/feedback-public-list.d.ts +118 -0
- package/dist/feedback/feedback-public-list.js +248 -0
- package/dist/feedback/feedback-public-list.js.map +1 -0
- package/dist/feedback/feedback-public-switch.d.ts +51 -0
- package/dist/feedback/feedback-public-switch.js +50 -0
- package/dist/feedback/feedback-public-switch.js.map +1 -0
- package/dist/feedback/feedback-public-types.d.ts +75 -0
- package/dist/feedback/feedback-public-types.js +2 -0
- package/dist/feedback/feedback-public-types.js.map +1 -0
- package/dist/feedback/feedback-record.d.ts +32 -1
- package/dist/feedback/feedback-record.js +10 -0
- package/dist/feedback/feedback-record.js.map +1 -1
- package/dist/feedback/feedback-replies.d.ts +97 -0
- package/dist/feedback/feedback-replies.js +114 -0
- package/dist/feedback/feedback-replies.js.map +1 -0
- package/dist/feedback/feedback-row-detail-labels.js +1 -0
- package/dist/feedback/feedback-row-detail-labels.js.map +1 -1
- package/dist/feedback/feedback-row-detail.d.ts +38 -10
- package/dist/feedback/feedback-row-detail.js +50 -50
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-submit-dialog.d.ts +3 -1
- package/dist/feedback/feedback-submit-dialog.js +6 -1
- package/dist/feedback/feedback-submit-dialog.js.map +1 -1
- package/dist/feedback/feedback-submit.d.ts +8 -0
- package/dist/feedback/feedback-submit.js +3 -2
- package/dist/feedback/feedback-submit.js.map +1 -1
- package/dist/feedback/feedback-table.d.ts +15 -5
- package/dist/feedback/feedback-table.js +46 -5
- package/dist/feedback/feedback-table.js.map +1 -1
- package/dist/feedback/feedback-thread-parts-labels.d.ts +6 -0
- package/dist/feedback/feedback-thread-parts-labels.js +36 -0
- package/dist/feedback/feedback-thread-parts-labels.js.map +1 -0
- package/dist/feedback/feedback-thread.d.ts +8 -0
- package/dist/feedback/feedback-thread.js +7 -2
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback/feedback-vote-button.d.ts +48 -0
- package/dist/feedback/feedback-vote-button.js +72 -0
- package/dist/feedback/feedback-vote-button.js.map +1 -0
- package/dist/feedback.d.ts +6 -0
- package/dist/feedback.js +6 -0
- package/dist/feedback.js.map +1 -1
- package/dist/i18n/defaults.js +12 -0
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.js +64 -2
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +20 -3
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/locales/en.js +80 -3
- package/dist/i18n/locales/en.js.map +3 -3
- package/dist/i18n/locales/es.js +64 -2
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.js +64 -2
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.js +64 -2
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.js +64 -2
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.js +64 -2
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.js +4 -0
- package/dist/i18n/review.js.map +1 -1
- package/dist/i18n/shared-labels.js +1 -1
- package/dist/i18n/shared-labels.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/plain-text.d.ts +1 -1
- package/dist/lib/plain-text.js.map +1 -1
- package/dist/notifications/feedback-notification-types-labels.d.ts +15 -0
- package/dist/notifications/feedback-notification-types-labels.js +11 -0
- package/dist/notifications/feedback-notification-types-labels.js.map +1 -0
- package/dist/notifications/feedback-notification-types.d.ts +28 -0
- package/dist/notifications/feedback-notification-types.js +21 -0
- package/dist/notifications/feedback-notification-types.js.map +1 -0
- package/dist/rhf/fields.d.ts +1 -1
- package/dist/rhf/fields.js.map +1 -1
- package/dist/settings/device-reset-setting.d.ts +4 -4
- package/dist/settings/device-reset-setting.js.map +1 -1
- package/package.json +1 -1
- package/src/components/field-parts.tsx +4 -4
- package/src/components/help-popover.tsx +1 -1
- package/src/components/numeric-field.ts +1 -1
- package/src/eslint/role-utilities.ts +67 -11
- package/src/feedback/feedback-comment-thread.tsx +255 -0
- package/src/feedback/feedback-dialog-labels.ts +1 -0
- package/src/feedback/feedback-dialog.tsx +30 -2
- package/src/feedback/feedback-menu-labels.ts +1 -0
- package/src/feedback/feedback-menu.tsx +29 -3
- package/src/feedback/feedback-public-labels.ts +76 -0
- package/src/feedback/feedback-public-list.tsx +395 -0
- package/src/feedback/feedback-public-switch.tsx +102 -0
- package/src/feedback/feedback-public-types.ts +82 -0
- package/src/feedback/feedback-record.ts +39 -1
- package/src/feedback/feedback-replies.tsx +235 -0
- package/src/feedback/feedback-row-detail-labels.ts +1 -0
- package/src/feedback/feedback-row-detail.tsx +103 -74
- package/src/feedback/feedback-submit-dialog.tsx +9 -0
- package/src/feedback/feedback-submit.tsx +10 -1
- package/src/feedback/feedback-table.tsx +73 -6
- package/src/feedback/feedback-thread-parts-labels.ts +41 -0
- package/src/feedback/feedback-thread.tsx +18 -1
- package/src/feedback/feedback-vote-button.tsx +122 -0
- package/src/feedback.ts +10 -0
- package/src/i18n/defaults.ts +12 -0
- package/src/i18n/german.ts +62 -0
- package/src/i18n/kit-labels.tsx +20 -3
- package/src/i18n/locales/en.ts +7 -0
- package/src/i18n/locales/es.ts +62 -0
- package/src/i18n/locales/fr.ts +62 -0
- package/src/i18n/locales/hu.ts +62 -0
- package/src/i18n/locales/it.ts +62 -0
- package/src/i18n/locales/zh.ts +62 -0
- package/src/i18n/review.ts +4 -0
- package/src/i18n/shared-labels.ts +1 -1
- package/src/index.ts +9 -0
- package/src/lib/plain-text.ts +1 -1
- package/src/notifications/feedback-notification-types-labels.ts +24 -0
- package/src/notifications/feedback-notification-types.ts +46 -0
- package/src/rhf/fields.tsx +1 -1
- package/src/settings/device-reset-setting.tsx +4 -4
package/src/i18n/locales/fr.ts
CHANGED
|
@@ -55,6 +55,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
55
55
|
submitHint: (apple) => (apple ? "⌘ Entrée pour envoyer" : "Ctrl+Entrée pour envoyer"),
|
|
56
56
|
cancel: "Annuler",
|
|
57
57
|
save: "Envoyer",
|
|
58
|
+
publicNotice: "Les autres personnes verront le titre et le texte (jamais vos captures d’écran ni vos fichiers).",
|
|
58
59
|
},
|
|
59
60
|
feedbackThread: {
|
|
60
61
|
thread: "Commentaires",
|
|
@@ -106,6 +107,36 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
106
107
|
trigger: "Envoyer un retour",
|
|
107
108
|
myFeedback: "Mes retours",
|
|
108
109
|
viewFeedback: "Voir les retours",
|
|
110
|
+
allFeedback: "Tous les retours",
|
|
111
|
+
},
|
|
112
|
+
// 0.38.0 — docs/feedback-harmonization.md §9: the public pages and the two feedback
|
|
113
|
+
// notification types. "Retour" for a report, as `feedbackMenu`.
|
|
114
|
+
feedbackPublic: {
|
|
115
|
+
title: "Tous les retours",
|
|
116
|
+
sort: "Trier",
|
|
117
|
+
sortNewest: "Plus récents",
|
|
118
|
+
sortVotes: "Plus demandés",
|
|
119
|
+
sortUpdated: "Mis à jour récemment",
|
|
120
|
+
search: "Rechercher dans les titres",
|
|
121
|
+
columnVotes: "Votes",
|
|
122
|
+
total: (count) => (count === 1 ? "1 retour" : `${n(count)} retours`),
|
|
123
|
+
comments: (count) => (count === 1 ? "1 commentaire" : `${n(count)} commentaires`),
|
|
124
|
+
votes: (count) => (count === 1 ? "1 vote" : `${n(count)} votes`),
|
|
125
|
+
anonymous: "Une personne",
|
|
126
|
+
filedBy: (name) => `De ${name}`,
|
|
127
|
+
body: "Description",
|
|
128
|
+
conversation: "Réponses et commentaires",
|
|
129
|
+
loading: "Chargement…",
|
|
130
|
+
empty: "Aucun retour pour l’instant",
|
|
131
|
+
visibleToOthers: "Visible par les autres",
|
|
132
|
+
visibleHint: "Les autres personnes voient le titre et le texte, jamais vos captures d’écran ni vos fichiers.",
|
|
133
|
+
visibleLocked: "Seulement tant que le retour est encore ouvert.",
|
|
134
|
+
},
|
|
135
|
+
feedbackNotificationTypes: {
|
|
136
|
+
answered: "Réponses à vos retours",
|
|
137
|
+
answeredDescription: "Quand un retour que vous avez écrit ou commenté reçoit une réponse.",
|
|
138
|
+
comment: "Commentaires sur les retours que vous suivez",
|
|
139
|
+
commentDescription: "Quand quelqu’un commente un retour que vous avez écrit ou commenté.",
|
|
109
140
|
},
|
|
110
141
|
feedbackContext: {
|
|
111
142
|
user: "Utilisateur",
|
|
@@ -146,6 +177,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
146
177
|
download: (name) => `Télécharger ${name}`,
|
|
147
178
|
downloadFailed: "La pièce jointe n’a pas pu être téléchargée.",
|
|
148
179
|
outcome: "Résultat",
|
|
180
|
+
replies: "Réponses",
|
|
149
181
|
resolvedAt: (date) => `Résolu le ${date}`,
|
|
150
182
|
outcomeAdd: "Ajouter un résultat",
|
|
151
183
|
outcomeUpdate: "Mettre à jour",
|
|
@@ -160,6 +192,36 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
160
192
|
status: "Statut",
|
|
161
193
|
note: "Note",
|
|
162
194
|
},
|
|
195
|
+
// 0.38.0 — docs/feedback-harmonization.md §9.15: the vote, the comment thread, the replies.
|
|
196
|
+
feedbackVote: {
|
|
197
|
+
vote: "Moi aussi",
|
|
198
|
+
own: "Votre retour",
|
|
199
|
+
},
|
|
200
|
+
feedbackComments: {
|
|
201
|
+
comments: "Commentaires",
|
|
202
|
+
empty: "Pas encore de commentaire",
|
|
203
|
+
hidden: "Masqué par un administrateur",
|
|
204
|
+
hide: "Masquer",
|
|
205
|
+
unhide: "Afficher",
|
|
206
|
+
delete: "Supprimer",
|
|
207
|
+
deleteTitle: "Supprimer ce commentaire\u202f?",
|
|
208
|
+
deleteBody: "Il sera retiré pour tout le monde. Cette action est irréversible.",
|
|
209
|
+
field: "Écrire un commentaire",
|
|
210
|
+
placeholder: "Écrire un commentaire…",
|
|
211
|
+
send: "Commenter",
|
|
212
|
+
},
|
|
213
|
+
feedbackReplies: {
|
|
214
|
+
replies: "Réponses",
|
|
215
|
+
empty: "Pas encore de réponse",
|
|
216
|
+
admin: "Admin",
|
|
217
|
+
statusChanged: "Statut changé en",
|
|
218
|
+
field: "Écrire une réponse",
|
|
219
|
+
placeholder: "Écrire une réponse…",
|
|
220
|
+
reply: "Répondre",
|
|
221
|
+
status: "Statut avec la réponse",
|
|
222
|
+
noChange: "Aucun changement",
|
|
223
|
+
nudge: "La personne qui l’a signalé n’a pas été prévenue. Ajoutez une réponse.",
|
|
224
|
+
},
|
|
163
225
|
accountSettings: {
|
|
164
226
|
profile: {
|
|
165
227
|
title: "Profil",
|
package/src/i18n/locales/hu.ts
CHANGED
|
@@ -54,6 +54,7 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
54
54
|
submitHint: (apple) => (apple ? "⌘ Enter a küldéshez" : "Ctrl+Enter a küldéshez"),
|
|
55
55
|
cancel: "Mégse",
|
|
56
56
|
save: "Küldés",
|
|
57
|
+
publicNotice: "Mások látni fogják a címet és a szöveget (a képernyőképeit és fájljait soha).",
|
|
57
58
|
},
|
|
58
59
|
feedbackThread: {
|
|
59
60
|
thread: "Hozzászólások",
|
|
@@ -105,6 +106,36 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
105
106
|
trigger: "Visszajelzés küldése",
|
|
106
107
|
myFeedback: "Visszajelzéseim",
|
|
107
108
|
viewFeedback: "Visszajelzések megtekintése",
|
|
109
|
+
allFeedback: "Összes visszajelzés",
|
|
110
|
+
},
|
|
111
|
+
// 0.38.0 — docs/feedback-harmonization.md §9: the public pages and the two feedback
|
|
112
|
+
// notification types. A noun after a number stays singular in Hungarian.
|
|
113
|
+
feedbackPublic: {
|
|
114
|
+
title: "Összes visszajelzés",
|
|
115
|
+
sort: "Rendezés",
|
|
116
|
+
sortNewest: "Legújabb",
|
|
117
|
+
sortVotes: "Legkeresettebb",
|
|
118
|
+
sortUpdated: "Nemrég frissítve",
|
|
119
|
+
search: "Keresés a címekben",
|
|
120
|
+
columnVotes: "Szavazatok",
|
|
121
|
+
total: (count) => `${n(count)} bejelentés`,
|
|
122
|
+
comments: (count) => `${n(count)} hozzászólás`,
|
|
123
|
+
votes: (count) => `${n(count)} szavazat`,
|
|
124
|
+
anonymous: "Egy felhasználó",
|
|
125
|
+
filedBy: (name) => `Beküldte: ${name}`,
|
|
126
|
+
body: "Leírás",
|
|
127
|
+
conversation: "Válaszok és hozzászólások",
|
|
128
|
+
loading: "Betöltés…",
|
|
129
|
+
empty: "Még nincs bejelentés",
|
|
130
|
+
visibleToOthers: "Mások számára látható",
|
|
131
|
+
visibleHint: "Mások a címet és a szöveget látják, a képernyőképeit és fájljait soha.",
|
|
132
|
+
visibleLocked: "Csak amíg a bejelentés nyitott.",
|
|
133
|
+
},
|
|
134
|
+
feedbackNotificationTypes: {
|
|
135
|
+
answered: "Válaszok a bejelentéseire",
|
|
136
|
+
answeredDescription: "Amikor egy Ön által írt vagy hozzászólt bejelentés választ kap.",
|
|
137
|
+
comment: "Hozzászólások a követett bejelentésekhez",
|
|
138
|
+
commentDescription: "Amikor valaki hozzászól egy Ön által írt vagy hozzászólt bejelentéshez.",
|
|
108
139
|
},
|
|
109
140
|
feedbackContext: {
|
|
110
141
|
user: "Felhasználó",
|
|
@@ -145,6 +176,7 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
145
176
|
download: (name) => `${name} letöltése`,
|
|
146
177
|
downloadFailed: "A mellékletet nem sikerült letölteni.",
|
|
147
178
|
outcome: "Eredmény",
|
|
179
|
+
replies: "Válaszok",
|
|
148
180
|
resolvedAt: (date) => `Lezárva: ${date}`,
|
|
149
181
|
outcomeAdd: "Eredmény hozzáadása",
|
|
150
182
|
outcomeUpdate: "Frissítés",
|
|
@@ -158,6 +190,36 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
158
190
|
status: "Állapot",
|
|
159
191
|
note: "Megjegyzés",
|
|
160
192
|
},
|
|
193
|
+
// 0.38.0 — docs/feedback-harmonization.md §9.15: the vote, the comment thread, the replies.
|
|
194
|
+
feedbackVote: {
|
|
195
|
+
vote: "Én is szeretném",
|
|
196
|
+
own: "Az Ön bejelentése",
|
|
197
|
+
},
|
|
198
|
+
feedbackComments: {
|
|
199
|
+
comments: "Hozzászólások",
|
|
200
|
+
empty: "Még nincs hozzászólás",
|
|
201
|
+
hidden: "Egy admin elrejtette",
|
|
202
|
+
hide: "Elrejtés",
|
|
203
|
+
unhide: "Megjelenítés",
|
|
204
|
+
delete: "Törlés",
|
|
205
|
+
deleteTitle: "Törli ezt a hozzászólást?",
|
|
206
|
+
deleteBody: "Mindenki számára eltűnik. Ez nem vonható vissza.",
|
|
207
|
+
field: "Hozzászólás írása",
|
|
208
|
+
placeholder: "Hozzászólás írása…",
|
|
209
|
+
send: "Hozzászólás",
|
|
210
|
+
},
|
|
211
|
+
feedbackReplies: {
|
|
212
|
+
replies: "Válaszok",
|
|
213
|
+
empty: "Még nincs válasz",
|
|
214
|
+
admin: "Admin",
|
|
215
|
+
statusChanged: "Állapot módosítva erre:",
|
|
216
|
+
field: "Válasz írása",
|
|
217
|
+
placeholder: "Válasz írása…",
|
|
218
|
+
reply: "Válasz",
|
|
219
|
+
status: "Állapot a válasszal",
|
|
220
|
+
noChange: "Nincs változás",
|
|
221
|
+
nudge: "A bejelentő nem kapott értesítést. Írjon választ.",
|
|
222
|
+
},
|
|
161
223
|
accountSettings: {
|
|
162
224
|
profile: {
|
|
163
225
|
title: "Profil",
|
package/src/i18n/locales/it.ts
CHANGED
|
@@ -55,6 +55,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
55
55
|
submitHint: (apple) => (apple ? "⌘ Invio per inviare" : "Ctrl+Invio per inviare"),
|
|
56
56
|
cancel: "Annulla",
|
|
57
57
|
save: "Invia",
|
|
58
|
+
publicNotice: "Le altre persone vedranno il titolo e il testo (mai i Suoi screenshot o file).",
|
|
58
59
|
},
|
|
59
60
|
feedbackThread: {
|
|
60
61
|
thread: "Commenti",
|
|
@@ -108,6 +109,36 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
108
109
|
trigger: "Invia feedback",
|
|
109
110
|
myFeedback: "I miei feedback",
|
|
110
111
|
viewFeedback: "Visualizza feedback",
|
|
112
|
+
allFeedback: "Tutti i feedback",
|
|
113
|
+
},
|
|
114
|
+
// 0.38.0 — docs/feedback-harmonization.md §9: the public pages and the two feedback
|
|
115
|
+
// notification types. "Segnalazione" for one report; formal "Lei", as elsewhere.
|
|
116
|
+
feedbackPublic: {
|
|
117
|
+
title: "Tutti i feedback",
|
|
118
|
+
sort: "Ordina",
|
|
119
|
+
sortNewest: "Più recenti",
|
|
120
|
+
sortVotes: "Più richiesti",
|
|
121
|
+
sortUpdated: "Aggiornati di recente",
|
|
122
|
+
search: "Cerca nei titoli",
|
|
123
|
+
columnVotes: "Voti",
|
|
124
|
+
total: (count) => (count === 1 ? "1 segnalazione" : `${n(count)} segnalazioni`),
|
|
125
|
+
comments: (count) => (count === 1 ? "1 commento" : `${n(count)} commenti`),
|
|
126
|
+
votes: (count) => (count === 1 ? "1 voto" : `${n(count)} voti`),
|
|
127
|
+
anonymous: "Una persona",
|
|
128
|
+
filedBy: (name) => `Da ${name}`,
|
|
129
|
+
body: "Descrizione",
|
|
130
|
+
conversation: "Risposte e commenti",
|
|
131
|
+
loading: "Caricamento…",
|
|
132
|
+
empty: "Ancora nessuna segnalazione",
|
|
133
|
+
visibleToOthers: "Visibile agli altri",
|
|
134
|
+
visibleHint: "Le altre persone vedono il titolo e il testo, mai i Suoi screenshot o file.",
|
|
135
|
+
visibleLocked: "Solo finché la segnalazione è ancora aperta.",
|
|
136
|
+
},
|
|
137
|
+
feedbackNotificationTypes: {
|
|
138
|
+
answered: "Risposte alle Sue segnalazioni",
|
|
139
|
+
answeredDescription: "Quando una segnalazione che ha scritto o commentato riceve una risposta.",
|
|
140
|
+
comment: "Commenti sulle segnalazioni che segue",
|
|
141
|
+
commentDescription: "Quando qualcuno commenta una segnalazione che ha scritto o commentato.",
|
|
111
142
|
},
|
|
112
143
|
feedbackContext: {
|
|
113
144
|
user: "Utente",
|
|
@@ -148,6 +179,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
148
179
|
download: (name) => `Scarica ${name}`,
|
|
149
180
|
downloadFailed: "Non è stato possibile scaricare l’allegato.",
|
|
150
181
|
outcome: "Esito",
|
|
182
|
+
replies: "Risposte",
|
|
151
183
|
resolvedAt: (date) => `Risolto il ${date}`,
|
|
152
184
|
outcomeAdd: "Aggiungi esito",
|
|
153
185
|
outcomeUpdate: "Aggiorna",
|
|
@@ -162,6 +194,36 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
162
194
|
status: "Stato",
|
|
163
195
|
note: "Nota",
|
|
164
196
|
},
|
|
197
|
+
// 0.38.0 — docs/feedback-harmonization.md §9.15: the vote, the comment thread, the replies.
|
|
198
|
+
feedbackVote: {
|
|
199
|
+
vote: "Lo voglio anch’io",
|
|
200
|
+
own: "La Sua segnalazione",
|
|
201
|
+
},
|
|
202
|
+
feedbackComments: {
|
|
203
|
+
comments: "Commenti",
|
|
204
|
+
empty: "Ancora nessun commento",
|
|
205
|
+
hidden: "Nascosto da un amministratore",
|
|
206
|
+
hide: "Nascondi",
|
|
207
|
+
unhide: "Mostra",
|
|
208
|
+
delete: "Elimina",
|
|
209
|
+
deleteTitle: "Eliminare questo commento?",
|
|
210
|
+
deleteBody: "Verrà rimosso per tutti. L’operazione non può essere annullata.",
|
|
211
|
+
field: "Scrivi un commento",
|
|
212
|
+
placeholder: "Scriva un commento…",
|
|
213
|
+
send: "Commenta",
|
|
214
|
+
},
|
|
215
|
+
feedbackReplies: {
|
|
216
|
+
replies: "Risposte",
|
|
217
|
+
empty: "Ancora nessuna risposta",
|
|
218
|
+
admin: "Admin",
|
|
219
|
+
statusChanged: "Stato cambiato in",
|
|
220
|
+
field: "Scrivi una risposta",
|
|
221
|
+
placeholder: "Scriva una risposta…",
|
|
222
|
+
reply: "Rispondi",
|
|
223
|
+
status: "Stato con la risposta",
|
|
224
|
+
noChange: "Nessuna modifica",
|
|
225
|
+
nudge: "Chi ha inviato la segnalazione non è stato avvisato. Aggiunga una risposta.",
|
|
226
|
+
},
|
|
165
227
|
accountSettings: {
|
|
166
228
|
profile: {
|
|
167
229
|
title: "Profilo",
|
package/src/i18n/locales/zh.ts
CHANGED
|
@@ -48,6 +48,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
48
48
|
submitHint: (apple) => (apple ? "⌘ Enter 发送" : "Ctrl+Enter 发送"),
|
|
49
49
|
cancel: "取消",
|
|
50
50
|
save: "发送",
|
|
51
|
+
publicNotice: "其他用户将看到标题和正文(绝不会看到您的截图或文件)。",
|
|
51
52
|
},
|
|
52
53
|
feedbackThread: {
|
|
53
54
|
thread: "评论",
|
|
@@ -98,6 +99,36 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
98
99
|
trigger: "发送反馈",
|
|
99
100
|
myFeedback: "我的反馈",
|
|
100
101
|
viewFeedback: "查看反馈",
|
|
102
|
+
allFeedback: "全部反馈",
|
|
103
|
+
},
|
|
104
|
+
// 0.38.0 — docs/feedback-harmonization.md §9: the public pages and the two feedback
|
|
105
|
+
// notification types.
|
|
106
|
+
feedbackPublic: {
|
|
107
|
+
title: "全部反馈",
|
|
108
|
+
sort: "排序",
|
|
109
|
+
sortNewest: "最新",
|
|
110
|
+
sortVotes: "最多人想要",
|
|
111
|
+
sortUpdated: "最近更新",
|
|
112
|
+
search: "搜索标题",
|
|
113
|
+
columnVotes: "票数",
|
|
114
|
+
total: (count) => `${n(count)} 条反馈`,
|
|
115
|
+
comments: (count) => `${n(count)} 条评论`,
|
|
116
|
+
votes: (count) => `${n(count)} 票`,
|
|
117
|
+
anonymous: "一位用户",
|
|
118
|
+
filedBy: (name) => `提交者:${name}`,
|
|
119
|
+
body: "描述",
|
|
120
|
+
conversation: "回复和评论",
|
|
121
|
+
loading: "加载中…",
|
|
122
|
+
empty: "暂无反馈",
|
|
123
|
+
visibleToOthers: "对他人可见",
|
|
124
|
+
visibleHint: "其他用户可以看到标题和正文,绝不会看到您的截图或文件。",
|
|
125
|
+
visibleLocked: "仅在反馈仍处于打开状态时可更改。",
|
|
126
|
+
},
|
|
127
|
+
feedbackNotificationTypes: {
|
|
128
|
+
answered: "您的反馈收到的回复",
|
|
129
|
+
answeredDescription: "当您提交或评论过的反馈收到回复时。",
|
|
130
|
+
comment: "您关注的反馈中的评论",
|
|
131
|
+
commentDescription: "当有人评论您提交或评论过的反馈时。",
|
|
101
132
|
},
|
|
102
133
|
feedbackContext: {
|
|
103
134
|
user: "用户",
|
|
@@ -138,6 +169,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
138
169
|
download: (name) => `下载 ${name}`,
|
|
139
170
|
downloadFailed: "无法下载附件。",
|
|
140
171
|
outcome: "处理结果",
|
|
172
|
+
replies: "回复",
|
|
141
173
|
resolvedAt: (date) => `解决日期:${date}`,
|
|
142
174
|
outcomeAdd: "添加处理结果",
|
|
143
175
|
outcomeUpdate: "更新",
|
|
@@ -151,6 +183,36 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
151
183
|
status: "状态",
|
|
152
184
|
note: "备注",
|
|
153
185
|
},
|
|
186
|
+
// 0.38.0 — docs/feedback-harmonization.md §9.15: the vote, the comment thread, the replies.
|
|
187
|
+
feedbackVote: {
|
|
188
|
+
vote: "我也需要",
|
|
189
|
+
own: "您的反馈",
|
|
190
|
+
},
|
|
191
|
+
feedbackComments: {
|
|
192
|
+
comments: "评论",
|
|
193
|
+
empty: "暂无评论",
|
|
194
|
+
hidden: "已被管理员隐藏",
|
|
195
|
+
hide: "隐藏",
|
|
196
|
+
unhide: "取消隐藏",
|
|
197
|
+
delete: "删除",
|
|
198
|
+
deleteTitle: "删除这条评论?",
|
|
199
|
+
deleteBody: "将对所有人移除,且无法撤销。",
|
|
200
|
+
field: "撰写评论",
|
|
201
|
+
placeholder: "撰写评论…",
|
|
202
|
+
send: "发表评论",
|
|
203
|
+
},
|
|
204
|
+
feedbackReplies: {
|
|
205
|
+
replies: "回复",
|
|
206
|
+
empty: "暂无回复",
|
|
207
|
+
admin: "管理员",
|
|
208
|
+
statusChanged: "状态已改为",
|
|
209
|
+
field: "撰写回复",
|
|
210
|
+
placeholder: "撰写回复…",
|
|
211
|
+
reply: "回复",
|
|
212
|
+
status: "随回复更改状态",
|
|
213
|
+
noChange: "不更改",
|
|
214
|
+
nudge: "尚未通知提交者。请添加回复。",
|
|
215
|
+
},
|
|
154
216
|
accountSettings: {
|
|
155
217
|
profile: {
|
|
156
218
|
title: "个人资料",
|
package/src/i18n/review.ts
CHANGED
|
@@ -212,6 +212,10 @@ export const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unkno
|
|
|
212
212
|
"feedbackPage.reworkChip": one,
|
|
213
213
|
"feedbackDetail.download": [["{{name}}"]],
|
|
214
214
|
"feedbackDetail.resolvedAt": [["{{date}}"]],
|
|
215
|
+
"feedbackPublic.total": one,
|
|
216
|
+
"feedbackPublic.comments": one,
|
|
217
|
+
"feedbackPublic.votes": one,
|
|
218
|
+
"feedbackPublic.filedBy": [["{{name}}"]],
|
|
215
219
|
"accountSettings.passkeys.renameItem": [["{{name}}"]],
|
|
216
220
|
"accountSettings.passkeys.renameField": [["{{name}}"]],
|
|
217
221
|
"accountSettings.passkeys.deleteItem": [["{{name}}"]],
|
|
@@ -37,7 +37,7 @@ export const DEFAULT_COMMON_LABELS: CommonLabels = {
|
|
|
37
37
|
fieldValue: (field, value) => `${field}: ${value}`,
|
|
38
38
|
dismiss: "Dismiss",
|
|
39
39
|
opensInNewTab: "opens in a new tab",
|
|
40
|
-
aboutField: (field) => `About
|
|
40
|
+
aboutField: (field) => `About “${field}”`,
|
|
41
41
|
help: "Help",
|
|
42
42
|
};
|
|
43
43
|
|
package/src/index.ts
CHANGED
|
@@ -926,6 +926,15 @@ export { PushDevicesSetting, describeUserAgent } from "./notifications/push-devi
|
|
|
926
926
|
export type { PushDevicesSettingProps } from "./notifications/push-devices-setting";
|
|
927
927
|
export { UnsubscribePanel, unsubscribeTokenType } from "./notifications/unsubscribe-panel";
|
|
928
928
|
export type { UnsubscribePanelProps } from "./notifications/unsubscribe-panel";
|
|
929
|
+
// 0.38.0 (docs/feedback-harmonization.md §9.11): the two feedback types' setting words.
|
|
930
|
+
export {
|
|
931
|
+
useFeedbackNotificationTypes,
|
|
932
|
+
DEFAULT_FEEDBACK_NOTIFICATION_TYPES_LABELS,
|
|
933
|
+
} from "./notifications/feedback-notification-types";
|
|
934
|
+
export type {
|
|
935
|
+
FeedbackNotificationTypeId,
|
|
936
|
+
FeedbackNotificationTypesLabels,
|
|
937
|
+
} from "./notifications/feedback-notification-types";
|
|
929
938
|
|
|
930
939
|
// ── landing ──────────────────────────────────────────────────────────────────
|
|
931
940
|
// 0.31.0 (docs/landing-demo-harmonization.md): the public landing page. Its router-aware parts — the header and the resume (RootEntry,
|
package/src/lib/plain-text.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { ReactNode } from "react";
|
|
|
8
8
|
* to find (an icon), so the caller falls back to a name of its own.
|
|
9
9
|
*
|
|
10
10
|
* Package-private — not re-exported from the barrel. StatTile names its sparkline by it;
|
|
11
|
-
* a field names its `help` "?" by it ("About
|
|
11
|
+
* a field names its `help` "?" by it ("About “<label>”", round 0.36).
|
|
12
12
|
*/
|
|
13
13
|
export function plainText(node: ReactNode): string | undefined {
|
|
14
14
|
const walk = (n: ReactNode): string => {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// The English words of `useFeedbackNotificationTypes` (round 0.38), in a module with no
|
|
2
|
+
// component code, as every `*-labels.ts`: the English catalogue imports them alone.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `feedbackNotificationTypes` — the setting words of the two feedback notification types
|
|
6
|
+
* (docs/feedback-harmonization.md §9.11). In the kit, not in each app, because two apps
|
|
7
|
+
* declare them (keksdose, Kurvenschmiede; kastlan `feedback_answered` alone). The mail and
|
|
8
|
+
* push texts stay the app's.
|
|
9
|
+
*/
|
|
10
|
+
export interface FeedbackNotificationTypesLabels {
|
|
11
|
+
/** `feedback_answered`: a reply on a report the person wrote or commented on. */
|
|
12
|
+
answered: string;
|
|
13
|
+
answeredDescription: string;
|
|
14
|
+
/** `feedback_comment`: a visible comment on such a report. */
|
|
15
|
+
comment: string;
|
|
16
|
+
commentDescription: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const DEFAULT_FEEDBACK_NOTIFICATION_TYPES_LABELS: FeedbackNotificationTypesLabels = {
|
|
20
|
+
answered: "Answers to your reports",
|
|
21
|
+
answeredDescription: "When a report you wrote or commented on gets an answer.",
|
|
22
|
+
comment: "Comments on reports you follow",
|
|
23
|
+
commentDescription: "When someone comments on a report you wrote or commented on.",
|
|
24
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { useKitLabels, type LabelOverride } from "../i18n/kit-labels";
|
|
3
|
+
import type { NotificationTypeEntry } from "./notification-types";
|
|
4
|
+
import {
|
|
5
|
+
DEFAULT_FEEDBACK_NOTIFICATION_TYPES_LABELS,
|
|
6
|
+
type FeedbackNotificationTypesLabels,
|
|
7
|
+
} from "./feedback-notification-types-labels";
|
|
8
|
+
|
|
9
|
+
export { DEFAULT_FEEDBACK_NOTIFICATION_TYPES_LABELS };
|
|
10
|
+
export type { FeedbackNotificationTypesLabels };
|
|
11
|
+
|
|
12
|
+
/** The two feedback notification ids (§9.11), as server-kit's `FEEDBACK_ANSWERED` and
|
|
13
|
+
* `FEEDBACK_COMMENT` name them. */
|
|
14
|
+
export type FeedbackNotificationTypeId = "feedback_answered" | "feedback_comment";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The setting words of the two feedback notification types (round 0.38,
|
|
18
|
+
* docs/feedback-harmonization.md §9.11), for `NotificationTypesSetting`'s `types`:
|
|
19
|
+
*
|
|
20
|
+
* ```tsx
|
|
21
|
+
* const feedbackTypes = useFeedbackNotificationTypes();
|
|
22
|
+
* <NotificationTypesSetting types={[...appTypes, ...feedbackTypes]} … />
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* - **"Answers to your reports"** (`feedback_answered`): a reply from the admin or a
|
|
26
|
+
* loop, to the author and every earlier commenter.
|
|
27
|
+
* - **"Comments on reports you follow"** (`feedback_comment`): a visible comment, to the
|
|
28
|
+
* author and the earlier commenters.
|
|
29
|
+
*
|
|
30
|
+
* Both entries are always returned: the card draws a type only when the server answered
|
|
31
|
+
* it (notifications §2.1), so kastlan, which does not declare `feedback_comment` while its
|
|
32
|
+
* public parts are off, shows the first alone. Words: `<UiKitProvider labels={{
|
|
33
|
+
* feedbackNotificationTypes }}>` over English, `labels` over both.
|
|
34
|
+
*/
|
|
35
|
+
export function useFeedbackNotificationTypes(
|
|
36
|
+
labels?: LabelOverride<FeedbackNotificationTypesLabels>,
|
|
37
|
+
): NotificationTypeEntry<FeedbackNotificationTypeId>[] {
|
|
38
|
+
const words = useKitLabels("feedbackNotificationTypes", DEFAULT_FEEDBACK_NOTIFICATION_TYPES_LABELS, labels);
|
|
39
|
+
return useMemo(
|
|
40
|
+
() => [
|
|
41
|
+
{ id: "feedback_answered", label: words.answered, description: words.answeredDescription },
|
|
42
|
+
{ id: "feedback_comment", label: words.comment, description: words.commentDescription },
|
|
43
|
+
],
|
|
44
|
+
[words],
|
|
45
|
+
);
|
|
46
|
+
}
|
package/src/rhf/fields.tsx
CHANGED
|
@@ -119,7 +119,7 @@ export interface RhfFieldBaseProps<
|
|
|
119
119
|
* `help` it is that caption at every size. */
|
|
120
120
|
hint?: ReactNode;
|
|
121
121
|
/** Help the field is usable without — why, how to choose — behind the field's one
|
|
122
|
-
* "?" after the label: a `HelpPopover` named "About
|
|
122
|
+
* "?" after the label: a `HelpPopover` named "About “<label>”" (round 0.36,
|
|
123
123
|
* docs/text-size-harmonization.md §4); pass a `HelpPopover` to name it yourself.
|
|
124
124
|
* `hint` stays the visible fact under the field. */
|
|
125
125
|
help?: ReactNode;
|
|
@@ -67,10 +67,10 @@ export interface DeviceResetSettingProps
|
|
|
67
67
|
* - **Live, no reload** (decision 10): each registered store resets through its own
|
|
68
68
|
* setter; the card stays where it is.
|
|
69
69
|
*
|
|
70
|
-
* The app adds the catalogue entry, `{ id
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* development without it.
|
|
70
|
+
* The app adds the catalogue entry, `{ id, group: "appearance", anchor: DEVICE_RESET_ANCHOR,
|
|
71
|
+
* title, keywords }` (the id in its catalogue's own style, e.g. `device_reset` or
|
|
72
|
+
* `deviceReset`; `title` and `keywords` from these labels), last in its appearance group:
|
|
73
|
+
* inside a `SettingsLayout`, `SettingsSection` throws in development without it.
|
|
74
74
|
*/
|
|
75
75
|
export function DeviceResetSetting({
|
|
76
76
|
description,
|