mirror of
https://github.com/LibreTranslate/LibreTranslate.git
synced 2024-11-21 15:31:00 +00:00
Merge pull request #460 from SethFalco/fix-305
fix: request and push notification on file translations
This commit is contained in:
commit
99ce267c91
2 changed files with 23 additions and 6 deletions
|
@ -436,7 +436,7 @@ code[class*="language-"], pre[class*="language-"] {
|
|||
background-color: var(--pri-bg-color);
|
||||
}
|
||||
|
||||
.card-stacked {
|
||||
.card-stacked, .card-stacked .card-content {
|
||||
background-color: var(--sec-bg-color)
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ document.addEventListener('DOMContentLoaded', function(){
|
|||
translatedText: "",
|
||||
output: "",
|
||||
charactersLimit: -1,
|
||||
|
||||
|
||||
detectedLangText: "",
|
||||
|
||||
copyTextLabel: {{ _e("Copy text") }},
|
||||
|
@ -212,7 +212,7 @@ document.addEventListener('DOMContentLoaded', function(){
|
|||
this.timeout = null;
|
||||
|
||||
this.detectedLangText = "";
|
||||
|
||||
|
||||
if (this.inputText === ""){
|
||||
this.translatedText = "";
|
||||
this.output = "";
|
||||
|
@ -247,7 +247,7 @@ document.addEventListener('DOMContentLoaded', function(){
|
|||
if (self.refreshOnce()) return;
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
|
||||
var res = JSON.parse(this.response);
|
||||
// Success!
|
||||
if (res.translatedText !== undefined){
|
||||
|
@ -402,9 +402,10 @@ document.addEventListener('DOMContentLoaded', function(){
|
|||
self.translatedFileUrl = res.translatedFileUrl;
|
||||
|
||||
let link = document.createElement("a");
|
||||
link.target = "_blank";
|
||||
link.href = self.translatedFileUrl;
|
||||
link.download = "";
|
||||
link.click();
|
||||
handleNotification("Translation Complete", "Finished translating " + self.inputFile.name + ".");
|
||||
}else{
|
||||
throw new Error(res.error || {{ _e("Unknown error") }});
|
||||
}
|
||||
|
@ -413,22 +414,27 @@ document.addEventListener('DOMContentLoaded', function(){
|
|||
self.error = e.message;
|
||||
self.loadingFileTranslation = false;
|
||||
self.inputFile = false;
|
||||
handleNotification("Translation Failed", e.message);
|
||||
}
|
||||
}else{
|
||||
let res = JSON.parse(this.response);
|
||||
self.error = res.error || {{ _e("Unknown error") }};
|
||||
self.loadingFileTranslation = false;
|
||||
self.inputFile = false;
|
||||
handleNotification("Translation Failed", self.error);
|
||||
}
|
||||
}
|
||||
|
||||
translateFileRequest.onerror = function() {
|
||||
self.error = {{ _e("Cannot load %(url)s", url="/translate_file") }};
|
||||
const message = {{ _e("Cannot load %(url)s", url="/translate_file") }};
|
||||
self.error = message;
|
||||
self.loadingFileTranslation = false;
|
||||
self.inputFile = false;
|
||||
handleNotification("Translation Failed", message);
|
||||
};
|
||||
|
||||
translateFileRequest.send(data);
|
||||
Notification.requestPermission();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -474,6 +480,17 @@ function handleLangsResponse(self, response) {
|
|||
self.loading = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} title
|
||||
* @param {string} body
|
||||
*/
|
||||
function handleNotification(title, body) {
|
||||
new Notification(title, {
|
||||
body,
|
||||
tag: 'libretranslate'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {object} langDropdown
|
||||
* @param {string} lang
|
||||
|
|
Loading…
Reference in a new issue