use lz-string to compress share code

This commit is contained in:
2022-11-27 15:43:57 +01:00
parent 1dcc7c81c7
commit a774334031
3 changed files with 18 additions and 4 deletions

View File

@@ -4,8 +4,8 @@ import {
STORAGE_KEY_CODE,
} from '../app.config';
import EventEmitter from 'eventemitter3';
import { toBase64Url, fromBase64Url } from '@gkucmierz/utils/src/base64.mjs';
import { APP_URL, SHARE_CODE_ROUTE_NAME } from '../app.config';
import { compressToEncodedURIComponent, decompressFromEncodedURIComponent } from 'lz-string';
const ee = new EventEmitter();
let code;
@@ -25,10 +25,10 @@ const codeService = {
ee.emit('change', code);
},
setFromUrl(_encoded) {
this.change(fromBase64Url(_encoded));
this.change(decompressFromEncodedURIComponent(_encoded));
},
codeToUrl(_code = code) {
return [APP_URL, SHARE_CODE_ROUTE_NAME, toBase64Url(_code)].join('/');
return [APP_URL, SHARE_CODE_ROUTE_NAME, compressToEncodedURIComponent(_code)].join('/');
},
ee,
};