feat: integrate link handling in chat screen with linkify support

- Added flutter_linkify package to auto-detect and linkify URLs in chat messages.
- Implemented LinkHandler class to manage link tap confirmations and URL launching.
- Updated chat_screen.dart to use Linkify for displaying message text with links.
- Registered url_launcher plugin for handling URL launches across platforms.
- Updated pubspec.yaml and pubspec.lock to include new dependencies.
- Cleaned up untranslated.json by removing unused translations.
This commit is contained in:
zjs81
2026-01-20 21:42:54 -07:00
parent 1cc887e5bb
commit a0be63b2e7
41 changed files with 1615 additions and 619 deletions
+51 -2
View File
@@ -604,6 +604,18 @@
}
}
},
"chat_openLink": "Aprire il link?",
"chat_openLinkConfirmation": "Vuoi aprire questo link nel tuo browser?",
"chat_open": "Apri",
"chat_couldNotOpenLink": "Impossibile aprire il link: {url}",
"@chat_couldNotOpenLink": {
"placeholders": {
"url": {
"type": "String"
}
}
},
"chat_invalidLink": "Formato di link non valido",
"map_title": "Mappa Nodi",
"map_noNodesWithLocation": "Nessun nodo con dati di posizione",
"map_nodesNeedGps": "I nodi devono condividere le loro coordinate GPS\nper apparire sulla mappa",
@@ -1473,7 +1485,9 @@
"community_deleteChannelsWarning": "Questo eliminerà anche {count} canale/i e i loro messaggi.",
"@community_deleteChannelsWarning": {
"placeholders": {
"count": {"type": "int"}
"count": {
"type": "int"
}
}
},
"community_deleted": "Hai lasciato la comunità \"{name}\"",
@@ -1484,5 +1498,40 @@
"community_regularHashtagDesc": "Hashtag pubblico (chiunque può unirsi)",
"community_communityHashtag": "Hashtag della Comunità",
"community_communityHashtagDesc": "Visibile solo ai membri della comunità",
"community_forCommunity": "Per {name}"
"community_forCommunity": "Per {name}",
"@community_regenerateSecretConfirm": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"@community_secretRegenerated": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"@community_secretUpdated": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"@community_scanToUpdateSecret": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"community_regenerateSecretConfirm": "Regenera la chiave segreta per \"{name}\"? Tutti i membri dovranno scansionare il nuovo codice QR per continuare a comunicare.",
"community_regenerateSecret": "Ri genera la chiave segreta",
"community_regenerate": "Rigenera",
"community_secretRegenerated": "Codice segreto rigenerato per \"{name}\"",
"community_updateSecret": "Aggiorna Segreto",
"community_secretUpdated": "Segreto aggiornato per \"{name}\"",
"community_scanToUpdateSecret": "Scansiona il nuovo codice QR per aggiornare il segreto di \"{name}\""
}