From d23315e2b99b1bd61ff8ee73696c26c9ea2f376f Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Sun, 16 Jun 2024 01:20:09 +0300 Subject: [PATCH] feat: add save btn --- src/app/app.component.html | 3 +++ src/app/app.component.ts | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/app/app.component.html b/src/app/app.component.html index 1b012e9..f8a40e6 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -6,5 +6,8 @@ Clear + + Save + diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 2476aa3..a296e85 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -62,4 +62,27 @@ export class AppComponent implements OnInit { this.elements = []; localStorage.removeItem(LocalStorageKeys.TRANSLATIONS); } + + onSaveClicked() { + const original_file: NpsFile = JSON.parse( + localStorage.getItem(LocalStorageKeys.ORIGINAL_FILE) ?? '{"file_name":"", "original_text":""}', + ); + if (original_file.file_name && original_file.original_text) { + const data: TranslateData[] = JSON.parse(localStorage.getItem(LocalStorageKeys.TRANSLATIONS) ?? '[]'); + if (!data.length) { + alert('No data'); + return; + } + original_file.translated_text = original_file.original_text; + data.forEach((el) => { + original_file.translated_text = original_file.translated_text?.replace(el.english_text, el.translated_text); + }); + + const element = document.createElement('a'); + const file = new Blob([original_file.translated_text], { type: 'text/plain' }); + element.href = URL.createObjectURL(file); + element.download = original_file.file_name; + element.click(); + } + } }