flamenco/web/app/src/App.vue
Sybren A. Stüvel 1add6bfc8a Webapp: avoid browser JS errors about forbidden 'User-Agent' header
Brave (and maybe other browseres) refuse to set the 'User-Agent' header
in XMLHTTPRequests, and are vocal about this in the debug log. Since the
OpenAPI code generator always outputs a custom 'User-Agent' header, I've
added some JS code to strip that off when constructing an API client.
2023-02-21 11:08:48 +01:00

68 lines
1.6 KiB
Vue

<template>
<header>
<router-link :to="{ name: 'index' }" class="navbar-brand">{{ flamencoName }}</router-link>
<nav>
<ul>
<li>
<router-link :to="{ name: 'jobs' }">Jobs</router-link>
</li>
<li>
<router-link :to="{ name: 'workers' }">Workers</router-link>
</li>
<li>
<router-link :to="{ name: 'last-rendered' }">Last Rendered</router-link>
</li>
</ul>
</nav>
<api-spinner />
<span class="app-version">
<a :href="backendURL('/flamenco3-addon.zip')">add-on</a>
| <a :href="backendURL('/api/v3/swagger-ui/')">API</a>
| version: {{ flamencoVersion }}
</span>
</header>
<router-view></router-view>
</template>
<script>
import * as API from '@/manager-api';
import { getAPIClient } from "@/api-client";
import { backendURL } from '@/urls';
import ApiSpinner from '@/components/ApiSpinner.vue'
const DEFAULT_FLAMENCO_NAME = "Flamenco";
const DEFAULT_FLAMENCO_VERSION = "unknown";
export default {
name: 'App',
components: {
ApiSpinner,
},
data: () => ({
flamencoName: DEFAULT_FLAMENCO_NAME,
flamencoVersion: DEFAULT_FLAMENCO_VERSION,
backendURL: backendURL,
}),
mounted() {
window.app = this;
this.fetchManagerInfo();
},
methods: {
// TODO: also call this when SocketIO reconnects.
fetchManagerInfo() {
const metaAPI = new API.MetaApi(getAPIClient());
metaAPI.getVersion().then((version) => {
this.flamencoName = version.name;
this.flamencoVersion = version.version;
})
},
},
}
</script>
<style>
@import "assets/base.css";
@import "assets/tabulator.css";
</style>