Move "toLocalNumber" to utils.

This commit is contained in:
N-Pex 2025-05-09 14:42:37 +02:00
parent 674eaa5eeb
commit ce81fdc91e
5 changed files with 75 additions and 91 deletions

View file

@ -1,16 +1,17 @@
import axios from 'axios';
import axios from "axios";
import * as ContentHelpers from "matrix-js-sdk/lib/content-helpers";
import imageResize from "image-resize";
import { AutoDiscovery } from 'matrix-js-sdk';
import User from '../models/user';
import { AutoDiscovery } from "matrix-js-sdk";
import User from "../models/user";
import prettyBytes from "pretty-bytes";
import Hammer from "hammerjs";
import { Thread } from 'matrix-js-sdk/lib/models/thread';
import { Thread } from "matrix-js-sdk/lib/models/thread";
import { imageSize } from "image-size";
import dayjs from "dayjs";
import aesjs from "aes-js";
import localizedFormat from 'dayjs/plugin/localizedFormat';
import duration from 'dayjs/plugin/duration';
import localizedFormat from "dayjs/plugin/localizedFormat";
import duration from "dayjs/plugin/duration";
import i18n from "./lang";
export const STATE_EVENT_ROOM_DELETION_NOTICE = "im.keanu.room_deletion_notice";
export const STATE_EVENT_ROOM_DELETED = "im.keanu.room_deleted";
@ -23,43 +24,43 @@ export const ROOM_TYPE_CHANNEL = "im.keanu.room_type_channel";
export const STATE_EVENT_ROOM_TYPE = "im.keanu.room_type";
// Install extended localized format
dayjs.extend(localizedFormat)
dayjs.extend(localizedFormat);
dayjs.extend(duration);
// Store info about getUserMedia BEFORE we aply polyfill(s)!
var _browserCanRecordAudioF = function () {
var legacyGetUserMedia = (navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia);
return legacyGetUserMedia !== undefined || (navigator.mediaDevices && navigator.mediaDevices.getUserMedia !== undefined);
}
var legacyGetUserMedia =
navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
return (
legacyGetUserMedia !== undefined || (navigator.mediaDevices && navigator.mediaDevices.getUserMedia !== undefined)
);
};
var _browserCanRecordAudio = _browserCanRecordAudioF();
class UploadPromise {
aborted = false;
onAbort = undefined;
aborted = false;
onAbort = undefined;
constructor(wrappedPromise) {
this.wrappedPromise = wrappedPromise;
}
constructor(wrappedPromise) {
this.wrappedPromise = wrappedPromise;
}
abort() {
this.aborted = true;
if (this.onAbort) {
this.onAbort();
}
abort() {
this.aborted = true;
if (this.onAbort) {
this.onAbort();
}
}
then(resolve, reject) {
this.wrappedPromise = this.wrappedPromise.then(resolve, reject);
return this;
}
then(resolve, reject) {
this.wrappedPromise = this.wrappedPromise.then(resolve, reject);
return this;
}
catch(handler) {
this.wrappedPromise = this.wrappedPromise.catch(handler);
return this;
}
catch(handler) {
this.wrappedPromise = this.wrappedPromise.catch(handler);
return this;
}
}
class Util {
@ -1169,6 +1170,40 @@ class Util {
hm.get("singletap").requireFailure("doubletap");
return hm;
}
/**
* Possibly convert numerals to local representation (currently only for "bo" locale)
* @param str String in which to convert numerals [0-9]
* @returns converted string
*/
toLocalNumbers = (str) => {
if (i18n.locale == "my") {
// Translate to burmese numerals
var result = "";
for (var i = 0; i < str.length; i++) {
var c = str.charCodeAt(i);
if (c >= 48 && c <= 57) {
result += String.fromCharCode(c + 0x1040 - 48);
} else {
result += String.fromCharCode(c);
}
}
return result;
} else if (i18n.locale == "bo") {
// Translate to tibetan numerals
result = "";
for (i = 0; i < str.length; i++) {
c = str.charCodeAt(i);
if (c >= 48 && c <= 57) {
result += String.fromCharCode(c + 0x0f20 - 48);
} else {
result += String.fromCharCode(c);
}
}
return result;
}
return str;
};
}
export default new Util();