198 行
7.0 KiB
Vue
198 行
7.0 KiB
Vue
<template>
|
|
<div
|
|
class="frontends-tab"
|
|
:label="$t('admin_dash.tabs.frontends')"
|
|
>
|
|
<div class="setting-item">
|
|
<h2>{{ $t('admin_dash.tabs.frontends') }}</h2>
|
|
<p>{{ $t('admin_dash.frontend.wip_notice') }}</p>
|
|
<ul class="setting-list">
|
|
<li>
|
|
<h3>{{ $t('admin_dash.frontend.default_frontend') }}</h3>
|
|
<p>{{ $t('admin_dash.frontend.default_frontend_tip') }}</p>
|
|
<p>{{ $t('admin_dash.frontend.default_frontend_tip2') }}</p>
|
|
<ul class="setting-list">
|
|
<li>
|
|
<StringSetting path=":pleroma.:frontends.:primary.name" />
|
|
</li>
|
|
<li>
|
|
<StringSetting path=":pleroma.:frontends.:primary.ref" />
|
|
</li>
|
|
<li>
|
|
<GroupSetting path=":pleroma.:frontends.:primary" />
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<div class="setting-list relative">
|
|
<PanelLoading class="overlay" v-if="working"/>
|
|
<h3>{{ $t('admin_dash.frontend.available_frontends') }}</h3>
|
|
<ul class="cards-list">
|
|
<li
|
|
v-for="frontend in frontends"
|
|
:key="frontend.name"
|
|
>
|
|
<strong>{{ frontend.name }}</strong>
|
|
{{ ' ' }}
|
|
<span v-if="adminDraft[':pleroma'][':frontends'][':primary'].name === frontend.name">
|
|
<i18n-t
|
|
v-if="adminDraft[':pleroma'][':frontends'][':primary'].ref === frontend.refs[0]"
|
|
keypath="admin_dash.frontend.is_default"
|
|
/>
|
|
<i18n-t
|
|
v-else
|
|
keypath="admin_dash.frontend.is_default_custom"
|
|
>
|
|
<template #version>
|
|
<code>{{ adminDraft[':pleroma'][':frontends'][':primary'].ref }}</code>
|
|
</template>
|
|
</i18n-t>
|
|
</span>
|
|
<dl>
|
|
<dt>{{ $t('admin_dash.frontend.repository') }}</dt>
|
|
<dd>
|
|
<a
|
|
:href="frontend.git"
|
|
target="_blank"
|
|
>{{ frontend.git }}</a>
|
|
</dd>
|
|
<template v-if="expertLevel">
|
|
<dt>{{ $t('admin_dash.frontend.versions') }}</dt>
|
|
<dd
|
|
v-for="ref in frontend.refs"
|
|
:key="ref"
|
|
>
|
|
<code>{{ ref }}</code>
|
|
</dd>
|
|
</template>
|
|
<dt v-if="expertLevel">
|
|
{{ $t('admin_dash.frontend.build_url') }}
|
|
</dt>
|
|
<dd v-if="expertLevel">
|
|
<a
|
|
:href="frontend.build_url"
|
|
target="_blank"
|
|
>{{ frontend.build_url }}</a>
|
|
</dd>
|
|
</dl>
|
|
<div>
|
|
<span class="btn-group">
|
|
<button
|
|
class="button button-default btn"
|
|
type="button"
|
|
@click="update(frontend)"
|
|
>
|
|
{{
|
|
frontend.installed
|
|
? $t('admin_dash.frontend.reinstall')
|
|
: $t('admin_dash.frontend.install')
|
|
}}
|
|
<code>
|
|
{{
|
|
getSuggestedRef(frontend)
|
|
}}
|
|
</code>
|
|
</button>
|
|
<Popover
|
|
v-if="frontend.refs.length > 1"
|
|
trigger="click"
|
|
class="button-dropdown"
|
|
placement="bottom"
|
|
>
|
|
<template #content="{close}">
|
|
<div class="dropdown-menu">
|
|
<button
|
|
v-for="ref in frontend.refs"
|
|
:key="ref"
|
|
class="button-default dropdown-item"
|
|
@click.prevent="update(frontend, ref)"
|
|
@click="close"
|
|
>
|
|
<i18n-t keypath="admin_dash.frontend.install_version">
|
|
<template #version>
|
|
<code>{{ ref }}</code>
|
|
</template>
|
|
</i18n-t>
|
|
</button>
|
|
</div>
|
|
</template>
|
|
<template #trigger>
|
|
<button
|
|
class="button button-default btn dropdown-button"
|
|
type="button"
|
|
:title="$t('admin_dash.frontend.more_install_options')"
|
|
>
|
|
<FAIcon icon="chevron-down" />
|
|
</button>
|
|
</template>
|
|
</Popover>
|
|
</span>
|
|
<span
|
|
v-if="frontend.installed && frontend.name !== 'admin-fe'"
|
|
class="btn-group"
|
|
>
|
|
<button
|
|
class="button button-default btn"
|
|
type="button"
|
|
:disabled="
|
|
adminDraft[':pleroma'][':frontends'][':primary'].name === frontend.name &&
|
|
adminDraft[':pleroma'][':frontends'][':primary'].ref === frontend.refs[0]
|
|
"
|
|
@click="setDefault(frontend)"
|
|
>
|
|
{{
|
|
$t('admin_dash.frontend.set_default')
|
|
}}
|
|
<code>
|
|
{{
|
|
getSuggestedRef(frontend)
|
|
}}
|
|
</code>
|
|
</button>
|
|
{{ ' ' }}
|
|
<Popover
|
|
v-if="frontend.refs.length > 1"
|
|
trigger="click"
|
|
class="button-dropdown"
|
|
placement="bottom"
|
|
>
|
|
<template #content="{close}">
|
|
<div class="dropdown-menu">
|
|
<button
|
|
v-for="ref in frontend.installedRefs || frontend.refs"
|
|
:key="ref"
|
|
class="button-default dropdown-item"
|
|
@click.prevent="setDefault(frontend, ref)"
|
|
@click="close"
|
|
>
|
|
<i18n-t keypath="admin_dash.frontend.set_default_version">
|
|
<template #version>
|
|
<code>{{ ref }}</code>
|
|
</template>
|
|
</i18n-t>
|
|
</button>
|
|
</div>
|
|
</template>
|
|
<template #trigger>
|
|
<button
|
|
class="button button-default btn dropdown-button"
|
|
type="button"
|
|
:title="$t('admin_dash.frontend.more_default_options')"
|
|
>
|
|
<FAIcon icon="chevron-down" />
|
|
</button>
|
|
</template>
|
|
</Popover>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script src="./frontends_tab.js"></script>
|
|
|
|
<style lang="scss" src="./frontends_tab.scss"></style>
|