more ts
This commit is contained in:
parent
4b7f07ef6d
commit
2005434aed
5 changed files with 38 additions and 6 deletions
17
package-lock.json
generated
17
package-lock.json
generated
|
@ -43,6 +43,7 @@
|
||||||
"@esbuild-plugins/node-globals-polyfill": "0.2.3",
|
"@esbuild-plugins/node-globals-polyfill": "0.2.3",
|
||||||
"@rollup/plugin-inject": "5.0.3",
|
"@rollup/plugin-inject": "5.0.3",
|
||||||
"@rollup/plugin-wasm": "6.1.1",
|
"@rollup/plugin-wasm": "6.1.1",
|
||||||
|
"@types/flux": "3.1.11",
|
||||||
"@types/node": "18.11.18",
|
"@types/node": "18.11.18",
|
||||||
"@types/react": "18.0.26",
|
"@types/react": "18.0.26",
|
||||||
"@types/react-dom": "18.0.9",
|
"@types/react-dom": "18.0.9",
|
||||||
|
@ -1119,6 +1120,22 @@
|
||||||
"resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
|
||||||
"integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g=="
|
"integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g=="
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/fbemitter": {
|
||||||
|
"version": "2.0.32",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/fbemitter/-/fbemitter-2.0.32.tgz",
|
||||||
|
"integrity": "sha512-Hwq28bBlbmfCgLnNJvjl5ssTrbZCTSblI4vqPpqZrbbEL8vn5l2UivxhlMYfUY7a4SR8UB6RKoLjOZfljqAa6g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/flux": {
|
||||||
|
"version": "3.1.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/flux/-/flux-3.1.11.tgz",
|
||||||
|
"integrity": "sha512-Aq4UB1ZqAKcPbhB0GpgMw2sntvOh71he9tjz53TLKrI7rw3Y3LxCW5pTYY9IV455hQapm4pmxFjpqlWOs308Yg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/fbemitter": "*",
|
||||||
|
"@types/react": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/json-schema": {
|
"node_modules/@types/json-schema": {
|
||||||
"version": "7.0.11",
|
"version": "7.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
"@esbuild-plugins/node-globals-polyfill": "0.2.3",
|
"@esbuild-plugins/node-globals-polyfill": "0.2.3",
|
||||||
"@rollup/plugin-inject": "5.0.3",
|
"@rollup/plugin-inject": "5.0.3",
|
||||||
"@rollup/plugin-wasm": "6.1.1",
|
"@rollup/plugin-wasm": "6.1.1",
|
||||||
|
"@types/flux": "3.1.11",
|
||||||
"@types/node": "18.11.18",
|
"@types/node": "18.11.18",
|
||||||
"@types/react": "18.0.26",
|
"@types/react": "18.0.26",
|
||||||
"@types/react-dom": "18.0.9",
|
"@types/react-dom": "18.0.9",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
const secretStorageKeys = new Map();
|
const secretStorageKeys = new Map();
|
||||||
|
|
||||||
export function storePrivateKey(keyId, privateKey) {
|
export function storePrivateKey(keyId, privateKey: Uint8Array) {
|
||||||
if (privateKey instanceof Uint8Array === false) {
|
if (privateKey instanceof Uint8Array === false) {
|
||||||
throw new Error('Unable to store, privateKey is invalid.');
|
throw new Error('Unable to store, privateKey is invalid.');
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ export function getPrivateKey(keyId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function deletePrivateKey(keyId) {
|
export function deletePrivateKey(keyId) {
|
||||||
|
//@ts-ignore
|
||||||
delete secretStorageKeys.delete(keyId);
|
delete secretStorageKeys.delete(keyId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,20 +3,30 @@ import appDispatcher from '../dispatcher';
|
||||||
|
|
||||||
import cons from './cons';
|
import cons from './cons';
|
||||||
|
|
||||||
function getSettings() {
|
function getSettings(): Settings {
|
||||||
const settings = localStorage.getItem('settings');
|
const settings = localStorage.getItem('settings');
|
||||||
if (settings === null) return null;
|
if (settings === null) return null;
|
||||||
return JSON.parse(settings);
|
return JSON.parse(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setSettings(key, value) {
|
function setSettings(key: string, value) {
|
||||||
let settings = getSettings();
|
let settings = getSettings();
|
||||||
if (settings === null) settings = {};
|
if (settings === null) settings = new Settings();
|
||||||
settings[key] = value;
|
settings[key] = value;
|
||||||
localStorage.setItem('settings', JSON.stringify(settings));
|
localStorage.setItem('settings', JSON.stringify(settings));
|
||||||
}
|
}
|
||||||
|
|
||||||
class Settings extends EventEmitter {
|
class Settings extends EventEmitter {
|
||||||
|
themes: string[];
|
||||||
|
themeIndex: number;
|
||||||
|
useSystemTheme: boolean;
|
||||||
|
isMarkdown: boolean;
|
||||||
|
isPeopleDrawer: boolean;
|
||||||
|
hideMembershipEvents: boolean;
|
||||||
|
hideNickAvatarEvents: boolean;
|
||||||
|
_showNotifications: boolean;
|
||||||
|
isNotificationSounds: boolean;
|
||||||
|
isTouchScreenDevice: boolean;
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
|
@ -31,7 +41,10 @@ class Settings extends EventEmitter {
|
||||||
this._showNotifications = this.getShowNotifications();
|
this._showNotifications = this.getShowNotifications();
|
||||||
this.isNotificationSounds = this.getIsNotificationSounds();
|
this.isNotificationSounds = this.getIsNotificationSounds();
|
||||||
|
|
||||||
this.isTouchScreenDevice = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0);
|
this.isTouchScreenDevice =
|
||||||
|
// https://github.com/microsoft/vscode/issues/127822#issuecomment-874324028
|
||||||
|
// msMaxTouchPoints is for IE 10 which we don't support anymore, we can remove that.
|
||||||
|
'ontouchstart' in window || navigator.maxTouchPoints > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
getThemeIndex() {
|
getThemeIndex() {
|
||||||
|
@ -41,7 +54,7 @@ class Settings extends EventEmitter {
|
||||||
if (settings === null) return 0;
|
if (settings === null) return 0;
|
||||||
if (typeof settings.themeIndex === 'undefined') return 0;
|
if (typeof settings.themeIndex === 'undefined') return 0;
|
||||||
// eslint-disable-next-line radix
|
// eslint-disable-next-line radix
|
||||||
return parseInt(settings.themeIndex);
|
return Math.floor(settings.themeIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
getThemeName() {
|
getThemeName() {
|
Loading…
Reference in a new issue