feat: add feedback review notification UI

This commit is contained in:
2026-04-30 13:53:00 -04:00
parent 5aaddbca40
commit 6731fb5d3a
12 changed files with 2590 additions and 12 deletions

View File

@@ -71,6 +71,8 @@
"overview": "Overview",
"workspacePlan": "Content",
"mediaLibrary": "Media Library",
"myFeedback": "My Feedback",
"feedbackReview": "Feedback Review",
"channels": "Channels",
"projects": "Campaigns",
"reviewQueue": "Review Queue",
@@ -96,7 +98,11 @@
"revisionCreated": "Revision created",
"statusUpdated": "Status updated",
"assetLinked": "Asset linked",
"assetRevisionCreated": "Asset revision created"
"assetRevisionCreated": "Asset revision created",
"feedbackReportCreated": "New feedback report",
"feedbackDeveloperCommented": "Developer commented",
"feedbackStatusChanged": "Feedback status changed",
"feedbackReporterCommented": "Reporter replied"
}
},
"feedback": {
@@ -132,6 +138,116 @@
"text": "Text label",
"undo": "Undo",
"clear": "Clear and reset"
},
"review": {
"eyebrow": "Developer review",
"title": "Product feedback",
"description": "Review submitted bugs, suggestions, and requests across all workspaces.",
"refresh": "Refresh feedback",
"loading": "Loading feedback...",
"empty": "No feedback matches the current filters.",
"emptyValue": "Not captured",
"noContext": "No workspace context",
"lastActivity": "Last activity",
"metrics": {
"total": "Total reports",
"visible": "Visible",
"new": "New",
"planned": "Planned"
},
"filters": {
"search": "Search feedback",
"type": "Type",
"status": "Status",
"tag": "Tag",
"reporter": "Reporter",
"workspace": "Workspace",
"fromDate": "From date",
"toDate": "To date",
"sort": "Sort",
"clear": "Clear filters"
},
"sort": {
"lastActivity": "Last activity",
"newest": "Newest",
"oldest": "Oldest"
},
"errors": {
"loadFailed": "Feedback could not be loaded.",
"detailFailed": "The feedback report could not be loaded."
},
"detail": {
"back": "Back to feedback",
"eyebrow": "Feedback detail",
"report": "Report",
"screenshot": "Screenshot",
"download": "Download original",
"openOriginal": "Open original",
"screenshotAlt": "Feedback screenshot",
"noScreenshot": "No screenshot was attached.",
"timeline": "Comments and activity",
"noTimeline": "No comments or activity yet.",
"commentLabel": "Developer comment",
"addComment": "Add comment",
"commenting": "Adding comment...",
"commentAdded": "Comment added.",
"commentFailed": "Comment could not be added.",
"reviewControls": "Review controls",
"saved": "Feedback updated.",
"saveFailed": "Feedback could not be updated.",
"reporter": "Reporter",
"activityLabel": "Activity",
"metadata": {
"title": "Captured metadata",
"path": "Submitted path",
"userAgent": "Browser",
"viewport": "Viewport",
"appVersion": "App version",
"created": "Created",
"lastActivity": "Last activity"
},
"context": {
"title": "Context",
"workspace": "Workspace",
"client": "Client",
"project": "Campaign",
"contentItem": "Content item"
},
"activity": {
"updated": "Updated feedback.",
"statusChanged": "Changed status from {from} to {to}.",
"typeChanged": "Changed type from {from} to {to}.",
"tagsChanged": "Changed tags from {from} to {to}."
}
}
},
"mine": {
"eyebrow": "My feedback",
"title": "My Feedback",
"description": "Track the product feedback you have submitted across workspaces.",
"refresh": "Refresh my feedback",
"empty": "No feedback matches the current filters.",
"unread": "Unread feedback activity",
"metrics": {
"active": "Active reports",
"unread": "Unread",
"visible": "Visible"
},
"errors": {
"loadFailed": "Your feedback could not be loaded.",
"detailFailed": "This feedback report could not be loaded."
},
"detail": {
"back": "Back to my feedback",
"eyebrow": "My feedback detail",
"commentLabel": "Follow-up comment",
"commentAdded": "Comment added.",
"commentFailed": "Comment could not be added.",
"cancel": "Cancel report",
"cancelPrompt": "Optional cancellation reason",
"cancelled": "Feedback cancelled.",
"cancelFailed": "Feedback could not be cancelled."
}
}
},
"sidebar": {

View File

@@ -71,6 +71,8 @@
"overview": "Vue globale",
"workspacePlan": "Contenu",
"mediaLibrary": "Bibliotheque media",
"myFeedback": "Mon feedback",
"feedbackReview": "Revue feedback",
"channels": "Canaux",
"projects": "Campagnes",
"reviewQueue": "File de révision",
@@ -96,7 +98,11 @@
"revisionCreated": "Révision créée",
"statusUpdated": "Statut mis à jour",
"assetLinked": "Ressource liée",
"assetRevisionCreated": "Révision de ressource créée"
"assetRevisionCreated": "Révision de ressource créée",
"feedbackReportCreated": "Nouveau rapport de feedback",
"feedbackDeveloperCommented": "Commentaire développeur",
"feedbackStatusChanged": "Statut du feedback modifié",
"feedbackReporterCommented": "Réponse du rapporteur"
}
},
"feedback": {
@@ -132,6 +138,116 @@
"text": "Texte",
"undo": "Annuler",
"clear": "Effacer et réinitialiser"
},
"review": {
"eyebrow": "Revue développeur",
"title": "Feedback produit",
"description": "Passez en revue les bugs, suggestions et demandes soumis dans tous les espaces.",
"refresh": "Actualiser le feedback",
"loading": "Chargement du feedback...",
"empty": "Aucun feedback ne correspond aux filtres actuels.",
"emptyValue": "Non capturé",
"noContext": "Aucun contexte d'espace",
"lastActivity": "Dernière activité",
"metrics": {
"total": "Rapports totaux",
"visible": "Visibles",
"new": "Nouveaux",
"planned": "Planifiés"
},
"filters": {
"search": "Rechercher du feedback",
"type": "Type",
"status": "Statut",
"tag": "Tag",
"reporter": "Rapporteur",
"workspace": "Espace",
"fromDate": "Date de début",
"toDate": "Date de fin",
"sort": "Tri",
"clear": "Effacer les filtres"
},
"sort": {
"lastActivity": "Dernière activité",
"newest": "Plus récent",
"oldest": "Plus ancien"
},
"errors": {
"loadFailed": "Le feedback n'a pas pu être chargé.",
"detailFailed": "Le rapport de feedback n'a pas pu être chargé."
},
"detail": {
"back": "Retour au feedback",
"eyebrow": "Détail du feedback",
"report": "Rapport",
"screenshot": "Capture d'écran",
"download": "Télécharger l'original",
"openOriginal": "Ouvrir l'original",
"screenshotAlt": "Capture d'écran du feedback",
"noScreenshot": "Aucune capture n'a été jointe.",
"timeline": "Commentaires et activité",
"noTimeline": "Aucun commentaire ou activité pour le moment.",
"commentLabel": "Commentaire développeur",
"addComment": "Ajouter un commentaire",
"commenting": "Ajout du commentaire...",
"commentAdded": "Commentaire ajouté.",
"commentFailed": "Le commentaire n'a pas pu être ajouté.",
"reviewControls": "Contrôles de revue",
"saved": "Feedback mis à jour.",
"saveFailed": "Le feedback n'a pas pu être mis à jour.",
"reporter": "Rapporteur",
"activityLabel": "Activité",
"metadata": {
"title": "Métadonnées capturées",
"path": "Chemin soumis",
"userAgent": "Navigateur",
"viewport": "Fenêtre",
"appVersion": "Version de l'app",
"created": "Créé",
"lastActivity": "Dernière activité"
},
"context": {
"title": "Contexte",
"workspace": "Espace",
"client": "Client",
"project": "Campagne",
"contentItem": "Élément de contenu"
},
"activity": {
"updated": "Feedback mis à jour.",
"statusChanged": "Statut modifié de {from} à {to}.",
"typeChanged": "Type modifié de {from} à {to}.",
"tagsChanged": "Tags modifiés de {from} à {to}."
}
}
},
"mine": {
"eyebrow": "Mon feedback",
"title": "Mon feedback",
"description": "Suivez le feedback produit que vous avez soumis dans tous les espaces.",
"refresh": "Actualiser mon feedback",
"empty": "Aucun feedback ne correspond aux filtres actuels.",
"unread": "Activité de feedback non lue",
"metrics": {
"active": "Rapports actifs",
"unread": "Non lus",
"visible": "Visibles"
},
"errors": {
"loadFailed": "Votre feedback n'a pas pu être chargé.",
"detailFailed": "Ce rapport de feedback n'a pas pu être chargé."
},
"detail": {
"back": "Retour à mon feedback",
"eyebrow": "Détail de mon feedback",
"commentLabel": "Commentaire de suivi",
"commentAdded": "Commentaire ajouté.",
"commentFailed": "Le commentaire n'a pas pu être ajouté.",
"cancel": "Annuler le rapport",
"cancelPrompt": "Raison d'annulation optionnelle",
"cancelled": "Feedback annulé.",
"cancelFailed": "Le feedback n'a pas pu être annulé."
}
}
},
"sidebar": {