.. | ||
assets/icons | ||
local-app | ||
src | ||
tests | ||
.eslintrc.json | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.json | ||
electron-builder.yml | ||
LICENSE.txt | ||
package.json | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
Desktop app
The desktop component is an electron app. It uses a hybrid setup based of two main components:
- A
local-app
bundled into the electron app. It has two main parts:- A sidebar to show the server list, with the currently selected server
- A main page which is used to manage servers and to show other "local" pages like the options
- A BrowserView (often called
appView
orapp
) showing the actual frontend of an external WorkAdventure deployment. If a server is selected the BrowserView /appView
is overlaying the main part right to the sidebar.
Development
# start local-app
yarn dev:local-app
# start electron app
LOCAL_APP_URL=http://localhost:3000 yarn dev
# or create an executable by running:
yarn bundle
API for front
TODO:
if (window?.WorkAdventureDesktopApi?.desktop) {
alert('Yeah you are using the desktop app ;)');
}
let muted = false;
window?.WorkAdventureDesktopApi?.onMutedKeyPress((event) => {
if (muted) {
document.getElementById("info-box").innerHTML =
"Ready to speak! Press ctrl-alt-m to mute.";
} else {
document.getElementById("info-box").innerHTML =
"Muted! Press ctrl-alt-m to unmute again.";
}
muted = !muted;
});
window.WorkAdventureDesktopApi.notify("Hello from front");