4d6f4b3ded
* Refactor: Make bundle using webpack * Fix: restore after install codes and a few settings * Fix: build script folder permission * Refactor: Remove support to async import on audio bridges * Upgrade npm using nvm * Avoid questions on npm ci execution * Let npm ci install dev dependencies (as we need the build tools here) * Fix: enconding * Fix: old lock files * Remove: bbb-config dependency to bbb-html5 service, bbb-html5 isn't a service anymore * Fix: TS errors * Fix: eslint * Fix: chat styles * npm install with "lockfileVersion": 3 (newer npm) * build: allow nodejs 22 * node 22; drop meteor from CI and bbb-conf * TEMP: use bbb-install without mongo but with node 22 and newer image * build: relax nodejs condition to not trip 22.6 * build: ensure dir /usr/share/bigbluebutton/nginx exists * init sites-available/bbb; drop disable-transparent- * nginx complaining of missing file and ; * TMP: print status of services * WIP: tweak nginx location to debug * Fix: webcam widgets alignments * akka-apps -- update location of settings.yml * build: add locales path for nginx * docs and config changes for removal of meteor * Fix: build encoding and locales enpoint folder path * build: set wss url for media * Add: Enable minimizer and modify to Terser * Fix: TS errors --------- Co-authored-by: Tiago Jacobs <tiago.jacobs@gmail.com> Co-authored-by: Anton Georgiev <anto.georgiev@gmail.com> Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
66 lines
1.6 KiB
JavaScript
66 lines
1.6 KiB
JavaScript
import { getSettingsSingletonInstance } from '/imports/ui/services/settings';
|
|
import { notify } from '/imports/ui/services/notification';
|
|
import intlHolder from '../../core/singletons/intlHolder';
|
|
|
|
export const isKeepPushingLayoutEnabled = () => window.meetingClientSettings.public.layout.showPushLayoutToggle;
|
|
|
|
export const updateSettings = (obj, msgDescriptor, mutation) => {
|
|
const Settings = getSettingsSingletonInstance();
|
|
Object.keys(obj).forEach(k => (Settings[k] = obj[k]));
|
|
Settings.save(mutation);
|
|
|
|
if (msgDescriptor) {
|
|
// prevents React state update on unmounted component
|
|
setTimeout(() => {
|
|
const intl = intlHolder.getIntl();
|
|
notify(
|
|
intl.formatMessage(msgDescriptor),
|
|
'info',
|
|
'settings',
|
|
);
|
|
}, 0);
|
|
}
|
|
};
|
|
|
|
export const getAvailableLocales = () => fetch('./locales/')
|
|
.then((locales) => locales.json())
|
|
.then((locales) => locales.filter((locale) => locale.name !== 'index.json'));
|
|
|
|
export const FALLBACK_LOCALES = {
|
|
dv: {
|
|
englishName: 'Dhivehi',
|
|
nativeName: 'ދިވެހި',
|
|
},
|
|
hy: {
|
|
englishName: 'Armenian',
|
|
nativeName: 'Հայերեն',
|
|
},
|
|
ka: {
|
|
englishName: 'Georgian',
|
|
nativeName: 'ქართული',
|
|
},
|
|
kk: {
|
|
englishName: 'Kazakh',
|
|
nativeName: 'қазақ',
|
|
},
|
|
'lo-LA': {
|
|
englishName: 'Lao',
|
|
nativeName: 'ລາວ',
|
|
},
|
|
oc: {
|
|
englishName: 'Occitan',
|
|
nativeName: 'Occitan',
|
|
},
|
|
'uz@Cyrl': {
|
|
englishName: 'Uzbek (Cyrillic)',
|
|
nativeName: 'ўзбек тили',
|
|
},
|
|
};
|
|
|
|
export default {
|
|
updateSettings,
|
|
isKeepPushingLayoutEnabled,
|
|
getAvailableLocales,
|
|
FALLBACK_LOCALES,
|
|
};
|