feat: show an "imported from" badge on recipe cards

sourceUrl was already persisted and shown on the recipe detail page, but
never surfaced on cards in the grid/list/compact views or the simpler
RecipeCard (collections) — added a small external-link icon with a
tooltip naming the source hostname, sized identically to the existing
batch-cook badge so it doesn't reintroduce the compact-view alignment
bug fixed earlier this session.
This commit is contained in:
Arnaud
2026-07-12 16:11:26 +02:00
parent d7e0d7eada
commit e98a9c3bb7
4 changed files with 74 additions and 5 deletions
+17 -1
View File
@@ -56,6 +56,7 @@
"recipe": {
"byAuthor": "par {name}",
"source": "Source",
"importedFrom": "Importée depuis {host}",
"share": "Partager",
"shareLinkCopied": "Lien copié dans le presse-papiers",
"shareCopyFailed": "Échec de la copie du lien",
@@ -351,6 +352,10 @@
"sun": "Dimanche"
}
},
"publicShoppingList": {
"sharedList": "Liste de courses partagée",
"wantYourOwn": "Envie de vos propres listes de courses ?"
},
"publicRecipe": {
"publicRecipeBy": "Recette publique par",
"viewInLibrary": "Voir dans votre bibliothèque",
@@ -948,7 +953,13 @@
"loadMembersFailed": "Impossible de charger les membres",
"memberRemoved": "Membre retiré",
"removeMemberFailed": "Impossible de retirer le membre",
"enterEmail": "Saisissez une adresse e-mail"
"enterEmail": "Saisissez une adresse e-mail",
"publicLinkTitle": "Lien public",
"publicLinkDescription": "Toute personne disposant du lien peut voir cette liste.",
"publicLinkToggleFailed": "Impossible de mettre à jour le lien public",
"copyLink": "Copier le lien",
"linkCopied": "Lien copié",
"copyLinkFailed": "Impossible de copier le lien"
},
"social": {
"followed": "Abonné",
@@ -1043,6 +1054,11 @@
},
"settingsForm": {
"profile": "Profil",
"changePhoto": "Changer la photo",
"removePhoto": "Supprimer la photo",
"avatarUploadSuccess": "Photo de profil mise à jour",
"avatarUploadFailed": "Échec de la mise à jour de la photo de profil",
"avatarRemoved": "Photo de profil supprimée",
"displayName": "Nom d'affichage",
"email": "E-mail",
"emailReadOnly": "L'e-mail ne peut pas être modifié ici.",