move const CONFIG to json file and add documentation in README.md
This commit is contained in:
1 parent
c172c057eb
commit
e9ad3882d2
3 files changed
+50
-34
No files matched your search
@@ -2,6 +2,21 @@
|
||||
|
||||
A small html/js project to nudge a user to use the desktop client for Jitsi.
|
||||
|
||||
## Configuration
|
||||
|
||||
All settings live in `assets/config.json`, loaded at startup. The launcher stays
|
||||
up but links break if the file is missing or malformed.
|
||||
|
||||
| Parameter | Description |
|
||||
| --- | --- |
|
||||
| `jitsiLauncher` | Domain of this Jitsi launcher. Used for the meeting URLs created by the meeting creator (Nextcloud, adhoc link). |
|
||||
| `jitsiHost` | Jitsi domain. Used for the browser fallback URL, the desktop protocol URL and the UID of generated ICS files. |
|
||||
| `nextcloudBase` | Nextcloud instance used by the "Create in Nextcloud" button (calendar event creation). |
|
||||
| `launchTimeout` | Timeout in ms before the browser fallback is shown after trying to start the jitsi-meet-electron client. |
|
||||
| `backgroundImage` | Path to the page background image. Empty: no background. |
|
||||
| `logo` | Path to the logo shown in the logo bar. Empty: logo bar stays hidden. |
|
||||
| `downloads` | Download URLs for the jitsi-meet clients, shown in the fallback view per detected OS: `windows`, `macos`, `linux`, `ios`, `android`. |
|
||||
|
||||
## Third-party assets
|
||||
|
||||
- `assets/lib/ua-parser.min.js` — [ua-parser-js](https://github.com/faisalman/ua-parser-js) v2.0.10, © Faisal Salman, licensed under AGPL-3.0.
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"jitsiLauncher": "meet.bnvb.eu",
|
||||
"jitsiHost": "meet.bnvb-ingenieure.de",
|
||||
"nextcloudBase": "https://cloud.bnvb-ingenieure.de",
|
||||
"launchTimeout": 2000,
|
||||
"backgroundImage": "assets/images/background.png",
|
||||
"logo": "assets/images/logo.svg",
|
||||
"downloads": {
|
||||
"windows": "https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.exe",
|
||||
"macos": "https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.dmg",
|
||||
"linux": "https://github.com/jitsi/jitsi-meet-electron/releases",
|
||||
"ios": "https://apps.apple.com/app/jitsi-meet/id1165103905",
|
||||
"android": "https://play.google.com/store/apps/details?id=org.jitsi.meet"
|
||||
}
|
||||
}
|
||||
+20
-34
@@ -5,42 +5,12 @@
|
||||
* ============================================================
|
||||
*/
|
||||
|
||||
const CONFIG = {
|
||||
/*
|
||||
* Your Jitsi Launcher domain
|
||||
* Konfiguration liegt in assets/config.json und wird beim
|
||||
* Start asynchron geladen (siehe START).
|
||||
*/
|
||||
jitsiLauncher: "meet.bnvb.eu",
|
||||
/*
|
||||
* Your Jitsi domain.
|
||||
*/
|
||||
jitsiHost: "meet.bnvb-ingenieure.de",
|
||||
/*
|
||||
* Your Nextcloud instance (calendar event creation).
|
||||
*/
|
||||
nextcloudBase: "https://cloud.bnvb-ingenieure.de",
|
||||
/*
|
||||
* Timeout trying to start the jitsi-meet-electron client
|
||||
*/
|
||||
launchTimeout: 2000,
|
||||
/*
|
||||
* set wallpaper for webpage
|
||||
*/
|
||||
backgroundImage: "assets/images/background.png",
|
||||
/*
|
||||
* Set logo
|
||||
*/
|
||||
logo: "assets/images/logo.svg",
|
||||
/*
|
||||
* Download URLs for jitsi-meet clients
|
||||
*/
|
||||
downloads: {
|
||||
windows: "https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.exe",
|
||||
macos: "https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.dmg",
|
||||
linux: "https://github.com/jitsi/jitsi-meet-electron/releases",
|
||||
ios: "https://apps.apple.com/app/jitsi-meet/id1165103905",
|
||||
android: "https://play.google.com/store/apps/details?id=org.jitsi.meet"
|
||||
}
|
||||
};
|
||||
let CONFIG = {};
|
||||
const CONFIG_URL = "assets/config.json";
|
||||
|
||||
/* ============================================================
|
||||
* Translations
|
||||
@@ -1440,6 +1410,19 @@ window
|
||||
* ============================================================
|
||||
*/
|
||||
|
||||
async function loadConfig() {
|
||||
try {
|
||||
const response = await fetch(CONFIG_URL);
|
||||
CONFIG = await response.json();
|
||||
} catch (error) {
|
||||
/*
|
||||
* Ohne Datei bleiben Launcher unbrauchbar – Fehler
|
||||
* melden und mit leerer Konfiguration fortfahren.
|
||||
*/
|
||||
console.error("Error loading config:", error);
|
||||
}
|
||||
}
|
||||
|
||||
async function loadTranslations() {
|
||||
try {
|
||||
const response = await fetch(I18N_URL);
|
||||
@@ -1461,6 +1444,9 @@ async function loadTranslations() {
|
||||
*/
|
||||
async function start() {
|
||||
applyTheme();
|
||||
|
||||
await loadConfig();
|
||||
|
||||
applyBackgroundImage();
|
||||
applyLogo();
|
||||
|
||||
|
||||
Reference in new issue
Block a user