fix base64 for unicode characters

This commit is contained in:
2022-11-24 12:14:42 +01:00
parent 4e37eec6ec
commit 699d66c1ce
4 changed files with 15 additions and 11 deletions

14
package-lock.json generated
View File

@@ -10,7 +10,7 @@
"dependencies": {
"@codemirror/lang-javascript": "^6.1.1",
"@codemirror/theme-one-dark": "^6.1.0",
"@gkucmierz/utils": "^1.12.1",
"@gkucmierz/utils": "^1.15.0",
"codemirror": "^6.0.1",
"copy-to-clipboard": "^3.3.3",
"eventemitter3": "^4.0.7",
@@ -1878,9 +1878,9 @@
}
},
"node_modules/@gkucmierz/utils": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@gkucmierz/utils/-/utils-1.12.1.tgz",
"integrity": "sha512-oP/4FMdP3h+fKh+Rpv3SB2F5K5DmOsMh4AuiKu8uWUtw1LkIy18JS7qzcKH0258iBg/zhXvhgcOI0LGuffsUCA=="
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/@gkucmierz/utils/-/utils-1.15.0.tgz",
"integrity": "sha512-Z2geakuU4cQQ0QhFaID0vN1u4lzHNpn9CHv/c/zkko8YXho80rEbjm301NaKKch62z+7FND4O7yh+SQVh4isRg=="
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.11.6",
@@ -7585,9 +7585,9 @@
}
},
"@gkucmierz/utils": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@gkucmierz/utils/-/utils-1.12.1.tgz",
"integrity": "sha512-oP/4FMdP3h+fKh+Rpv3SB2F5K5DmOsMh4AuiKu8uWUtw1LkIy18JS7qzcKH0258iBg/zhXvhgcOI0LGuffsUCA=="
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/@gkucmierz/utils/-/utils-1.15.0.tgz",
"integrity": "sha512-Z2geakuU4cQQ0QhFaID0vN1u4lzHNpn9CHv/c/zkko8YXho80rEbjm301NaKKch62z+7FND4O7yh+SQVh4isRg=="
},
"@humanwhocodes/config-array": {
"version": "0.11.6",

View File

@@ -11,7 +11,7 @@
"dependencies": {
"@codemirror/lang-javascript": "^6.1.1",
"@codemirror/theme-one-dark": "^6.1.0",
"@gkucmierz/utils": "^1.12.1",
"@gkucmierz/utils": "^1.15.0",
"codemirror": "^6.0.1",
"copy-to-clipboard": "^3.3.3",
"eventemitter3": "^4.0.7",

View File

@@ -6,7 +6,6 @@ import PrimeButton from 'primevue/button';
import copy from 'copy-to-clipboard';
import { APP_URL, SHARE_CODE_ROUTE_NAME } from '../app.config';
import ModalWindow from './ModalWindow.vue';
import codeService from '../services/codeService';
@@ -27,7 +26,7 @@ export default defineComponent({
},
methods: {
encode(code) {
return [APP_URL, SHARE_CODE_ROUTE_NAME, btoa(code)].join('/');
return codeService.codeToUrl(code);
},
copy() {
copy(this.encode(this.code));

View File

@@ -4,6 +4,8 @@ import {
STORAGE_KEY_CODE,
} from '../app.config';
import EventEmitter from 'eventemitter3';
import { toBase64, fromBase64 } from '@gkucmierz/utils/src/base64';
import { APP_URL, SHARE_CODE_ROUTE_NAME } from '../app.config';
const ee = new EventEmitter();
let code;
@@ -23,7 +25,10 @@ const codeService = {
ee.emit('change', code);
},
setFromUrl(_encoded) {
this.change(atob(_encoded));
this.change(fromBase64(_encoded));
},
codeToUrl(_code = code) {
return [APP_URL, SHARE_CODE_ROUTE_NAME, toBase64(_code)].join('/');
},
ee,
};