Add way to set default values short of forking the whole project
This commit is contained in:
parent
ae1479368c
commit
f739ff9345
|
@ -86,6 +86,10 @@ map $http_upgrade $connection_upgrade {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
The `app/config.js` file contains default values and descriptions for all configuration options.
|
||||||
|
You can overwrite those by editing the `config.local.js` file within your `dist` folder. Make sure to back up and restore the file whenever you update to a new version.
|
||||||
|
|
||||||
### Themes
|
### Themes
|
||||||
The default theme of mumble-web tries to mimic the excellent [MetroMumble]Light theme.
|
The default theme of mumble-web tries to mimic the excellent [MetroMumble]Light theme.
|
||||||
mumble-web also includes a dark version, named MetroMumbleDark, which is heavily inspired by [MetroMumble]'s dark version.
|
mumble-web also includes a dark version, named MetroMumbleDark, which is heavily inspired by [MetroMumble]'s dark version.
|
||||||
|
|
20
app/config.js
Normal file
20
app/config.js
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// Note: You probably do not want to change any values in here because this
|
||||||
|
// file might need to be updated with new default values for new
|
||||||
|
// configuration options. Use the [config.local.js] file instead!
|
||||||
|
|
||||||
|
window.mumbleWebConfig = {
|
||||||
|
// Default values (can be changed by passing a query parameter of the same name)
|
||||||
|
'defaults': {
|
||||||
|
// Connect Dialog
|
||||||
|
'address': '',
|
||||||
|
'port': '443',
|
||||||
|
'token': '',
|
||||||
|
'username': '',
|
||||||
|
'password': '',
|
||||||
|
'joinDialog': false, // replace whole dialog with single "Join Conference" button
|
||||||
|
'matrix': false, // enable Matrix Widget support (mostly auto-detected; implies 'joinDialog')
|
||||||
|
'avatarurl': '', // download and set the user's Mumble avatar to the image at this URL
|
||||||
|
// General
|
||||||
|
'theme': 'MetroMumbleLight'
|
||||||
|
}
|
||||||
|
}
|
9
app/config.local.js
Normal file
9
app/config.local.js
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
// You can overwrite the default configuration values set in [config.js] here.
|
||||||
|
// There should never be any required changes to this file and you can always
|
||||||
|
// simply copy it over when updating to a new version.
|
||||||
|
|
||||||
|
let config = window.mumbleWebConfig // eslint-disable-line no-unused-vars
|
||||||
|
|
||||||
|
// E.g. changing default address and theme:
|
||||||
|
// config.defaults.address = 'voice.example.com'
|
||||||
|
// config.defaults.theme = 'MetroMumbleDark'
|
|
@ -13,8 +13,9 @@
|
||||||
<meta name="msapplication-config" content="${require('./favicon/browserconfig.xml')}">
|
<meta name="msapplication-config" content="${require('./favicon/browserconfig.xml')}">
|
||||||
<meta name="theme-color" content="#ffffff">
|
<meta name="theme-color" content="#ffffff">
|
||||||
|
|
||||||
|
<script src="config.js"></script>
|
||||||
|
<script src="config.local.js"></script>
|
||||||
<script src="theme.js"></script>
|
<script src="theme.js"></script>
|
||||||
|
|
||||||
<script src="matrix.js"></script>
|
<script src="matrix.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -51,7 +51,7 @@ function ContextMenu () {
|
||||||
function ConnectDialog () {
|
function ConnectDialog () {
|
||||||
var self = this
|
var self = this
|
||||||
self.address = ko.observable('')
|
self.address = ko.observable('')
|
||||||
self.port = ko.observable('443')
|
self.port = ko.observable('')
|
||||||
self.token = ko.observable('')
|
self.token = ko.observable('')
|
||||||
self.username = ko.observable('')
|
self.username = ko.observable('')
|
||||||
self.password = ko.observable('')
|
self.password = ko.observable('')
|
||||||
|
@ -867,6 +867,7 @@ window.mumbleUi = ui
|
||||||
|
|
||||||
window.onload = function () {
|
window.onload = function () {
|
||||||
var queryParams = url.parse(document.location.href, true).query
|
var queryParams = url.parse(document.location.href, true).query
|
||||||
|
queryParams = Object.assign({}, window.mumbleWebConfig.defaults, queryParams)
|
||||||
var useJoinDialog = queryParams.joinDialog
|
var useJoinDialog = queryParams.joinDialog
|
||||||
if (queryParams.matrix) {
|
if (queryParams.matrix) {
|
||||||
useJoinDialog = true
|
useJoinDialog = true
|
||||||
|
|
|
@ -8,7 +8,7 @@ var themes = {
|
||||||
'light': 'MetroMumbleLight',
|
'light': 'MetroMumbleLight',
|
||||||
'dark': 'MetroMumbleDark'
|
'dark': 'MetroMumbleDark'
|
||||||
}
|
}
|
||||||
theme = themes[theme] || 'MetroMumbleLight'
|
theme = themes[theme] || window.mumbleWebConfig.defaults.theme
|
||||||
window.theme = theme
|
window.theme = theme
|
||||||
|
|
||||||
var [loadingTheme, mainTheme] = {
|
var [loadingTheme, mainTheme] = {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"version": "0.4.1",
|
"version": "0.4.1",
|
||||||
"description": "An HTML5 Mumble client.",
|
"description": "An HTML5 Mumble client.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "webpack",
|
"build": "webpack && [ -f dist/config.local.js ] || cp app/config.local.js dist/",
|
||||||
"prepublish": "rm -rf dist && npm run build",
|
"prepublish": "rm -rf dist && npm run build",
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,6 +8,7 @@ module.exports = {
|
||||||
'./app/index.js',
|
'./app/index.js',
|
||||||
'./app/index.html'
|
'./app/index.html'
|
||||||
],
|
],
|
||||||
|
config: './app/config.js',
|
||||||
theme: './app/theme.js',
|
theme: './app/theme.js',
|
||||||
matrix: './app/matrix.js'
|
matrix: './app/matrix.js'
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue