frontend: show filemanager,terminal and restart buttons only where it makes sense
This commit is contained in:
@@ -11,9 +11,9 @@
|
|||||||
<Button icon="fa-solid fa-eraser" @click="onClear()" style="margin-right: 5px">{{ $t('logs.clear') }}</Button>
|
<Button icon="fa-solid fa-eraser" @click="onClear()" style="margin-right: 5px">{{ $t('logs.clear') }}</Button>
|
||||||
<Button :href="downloadUrl" target="_blank" icon="fa-solid fa-download">{{ $t('logs.download') }}</Button>
|
<Button :href="downloadUrl" target="_blank" icon="fa-solid fa-download">{{ $t('logs.download') }}</Button>
|
||||||
|
|
||||||
<Button style="margin-left: 20px;" :title="$t('filemanager.toolbar.restartApp')" v-show="type === 'app'" secondary :loading="busyRestart" icon="fa-solid fa-arrows-rotate" @click="onRestartApp"/>
|
<Button style="margin-left: 20px;" :title="$t('filemanager.toolbar.restartApp')" v-show="showRestart" secondary :loading="busyRestart" icon="fa-solid fa-arrows-rotate" @click="onRestartApp"/>
|
||||||
<Button :href="'/frontend/terminal.html?id=' + id" target="_blank" v-show="type === 'app'" secondary icon="fa-solid fa-terminal" :title="$t('terminal.title')" />
|
<Button :href="'/frontend/terminal.html?id=' + id" target="_blank" v-show="showTerminal" secondary icon="fa-solid fa-terminal" :title="$t('terminal.title')" />
|
||||||
<Button :href="'/frontend/filemanager.html#/home/app/' + id" target="_blank" v-show="type === 'app'" secondary icon="fa-solid fa-folder" :title="$t('filemanager.title')" />
|
<Button :href="'/frontend/filemanager.html#/home/app/' + id" target="_blank" v-show="showFilemanager" secondary icon="fa-solid fa-folder" :title="$t('filemanager.title')" />
|
||||||
</template>
|
</template>
|
||||||
</TopBar>
|
</TopBar>
|
||||||
</template>
|
</template>
|
||||||
@@ -49,6 +49,9 @@ export default {
|
|||||||
logsModel: null,
|
logsModel: null,
|
||||||
appModel: null,
|
appModel: null,
|
||||||
busyRestart: false,
|
busyRestart: false,
|
||||||
|
showRestart: false,
|
||||||
|
showFilemanager: false,
|
||||||
|
showTerminal: false,
|
||||||
id: '',
|
id: '',
|
||||||
name: '',
|
name: '',
|
||||||
type: '',
|
type: '',
|
||||||
@@ -116,9 +119,13 @@ export default {
|
|||||||
|
|
||||||
if (this.type === 'app') {
|
if (this.type === 'app') {
|
||||||
this.appModel = AppModel.create(this.apiOrigin, this.accessToken, this.id);
|
this.appModel = AppModel.create(this.apiOrigin, this.accessToken, this.id);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const app = await this.appModel.get();
|
const app = await this.appModel.get();
|
||||||
this.name = `${app.label || app.fqdn} (${app.manifest.title})`;
|
this.name = `${app.label || app.fqdn} (${app.manifest.title})`;
|
||||||
|
this.showFilemanager = !!app.manifest.addons.localstorage;
|
||||||
|
this.showTerminal = app.manifest.id !== 'io.cloudron.builtin.appproxy';
|
||||||
|
this.showRestart = app.manifest.id !== 'io.cloudron.builtin.appproxy';
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(`Failed to get app info for ${this.id}:`, e);
|
console.error(`Failed to get app info for ${this.id}:`, e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user