refactor: reflect components name changes

This commit is contained in:
axolotle 2024-02-24 16:05:31 +01:00
parent 8f89e4a8bc
commit c47d7e187d
54 changed files with 246 additions and 246 deletions

View file

@ -21,7 +21,7 @@
:href="ssoLink" :href="ssoLink"
variant="primary" size="sm" block variant="primary" size="sm" block
> >
{{ $t('user_interface_link') }} <Icon iname="user" /> {{ $t('user_interface_link') }} <YIcon iname="user" />
</BButton> </BButton>
</li> </li>
@ -30,7 +30,7 @@
@click.prevent="logout" @click.prevent="logout"
variant="outline-dark" block size="sm" variant="outline-dark" block size="sm"
> >
{{ $t('logout') }} <Icon iname="sign-out" /> {{ $t('logout') }} <YIcon iname="sign-out" />
</BButton> </BButton>
</li> </li>
</BNavbarNav> </BNavbarNav>
@ -59,13 +59,13 @@
<nav> <nav>
<BNav class="justify-content-center"> <BNav class="justify-content-center">
<BNavItem href="https://yunohost.org/docs" target="_blank" link-classes="text-secondary"> <BNavItem href="https://yunohost.org/docs" target="_blank" link-classes="text-secondary">
<Icon iname="book" /> {{ $t('footer.documentation') }} <YIcon iname="book" /> {{ $t('footer.documentation') }}
</BNavItem> </BNavItem>
<BNavItem href="https://yunohost.org/help" target="_blank" link-classes="text-secondary"> <BNavItem href="https://yunohost.org/help" target="_blank" link-classes="text-secondary">
<Icon iname="life-ring" /> {{ $t('footer.help') }} <YIcon iname="life-ring" /> {{ $t('footer.help') }}
</BNavItem> </BNavItem>
<BNavItem href="https://donate.yunohost.org/" target="_blank" link-classes="text-secondary"> <BNavItem href="https://donate.yunohost.org/" target="_blank" link-classes="text-secondary">
<Icon iname="heart" /> {{ $t('footer.donate') }} <YIcon iname="heart" /> {{ $t('footer.donate') }}
</BNavItem> </BNavItem>
<BNavText <BNavText

View file

@ -7,7 +7,7 @@
<h2> <h2>
<BButton v-b-toggle="id" :variant="variant" class="card-collapse-button"> <BButton v-b-toggle="id" :variant="variant" class="card-collapse-button">
{{ title }} {{ title }}
<Icon class="ml-auto" iname="chevron-right" /> <YIcon class="ml-auto" iname="chevron-right" />
</BButton> </BButton>
</h2> </h2>
</slot> </slot>

View file

@ -17,11 +17,11 @@
</template> </template>
</RoutableTabs> </RoutableTabs>
<Card v-else :title="routes_[0].text" :icon="routes_[0].icon"> <YCard v-else :title="routes_[0].text" :icon="routes_[0].icon">
<slot name="tab-top" /> <slot name="tab-top" />
<slot name="tab-before" /> <slot name="tab-before" />
<slot name="tab-after" /> <slot name="tab-after" />
</Card> </YCard>
</div> </div>
</template> </template>

View file

@ -4,17 +4,17 @@
:class="{ 'fixed-height': fixedHeight, 'bordered': bordered }" :class="{ 'fixed-height': fixedHeight, 'bordered': bordered }"
@scroll="onScroll" @scroll="onScroll"
> >
<YunoListGroupItem <YListGroupItem
v-if="limit && messages.length > limit" v-if="limit && messages.length > limit"
variant="info" v-t="'api.partial_logs'" variant="info" v-t="'api.partial_logs'"
/> />
<YunoListGroupItem <YListGroupItem
v-for="({ color, text }, i) in reducedMessages" :key="i" v-for="({ color, text }, i) in reducedMessages" :key="i"
:variant="color" size="xs" :variant="color" size="xs"
> >
<span v-html="text" /> <span v-html="text" />
</YunoListGroupItem> </YListGroupItem>
</BListGroup> </BListGroup>
</template> </template>

View file

@ -11,11 +11,11 @@
<div v-if="request.errors || request.warnings"> <div v-if="request.errors || request.warnings">
<!-- WEBSOCKET ERRORS COUNT --> <!-- WEBSOCKET ERRORS COUNT -->
<span class="count" v-if="request.errors"> <span class="count" v-if="request.errors">
{{ request.errors }}<Icon iname="bug" class="text-danger ml-1" /> {{ request.errors }}<YIcon iname="bug" class="text-danger ml-1" />
</span> </span>
<!-- WEBSOCKET WARNINGS COUNT --> <!-- WEBSOCKET WARNINGS COUNT -->
<span class="count" v-if="request.warnings"> <span class="count" v-if="request.warnings">
{{ request.warnings }}<Icon iname="warning" class="text-warning ml-1" /> {{ request.warnings }}<YIcon iname="warning" class="text-warning ml-1" />
</span> </span>
</div> </div>

View file

@ -16,7 +16,7 @@
@click.stop="node.data.opened = !node.data.opened" @click.stop="node.data.opened = !node.data.opened"
> >
<span class="sr-only">{{ toggleText }}</span> <span class="sr-only">{{ toggleText }}</span>
<Icon iname="chevron-right" /> <YIcon iname="chevron-right" />
</BButton> </BButton>
</BListGroupItem> </BListGroupItem>

View file

@ -6,7 +6,7 @@
v-for="route in routes" :key="route.text" v-for="route in routes" :key="route.text"
:to="route.to" exact exact-active-class="active" :to="route.to" exact exact-active-class="active"
> >
<Icon v-if="route.icon" :iname="route.icon" /> <YIcon v-if="route.icon" :iname="route.icon" />
{{ route.text }} {{ route.text }}
</BNavItem> </BNavItem>
</BNav> </BNav>

View file

@ -2,7 +2,7 @@
<BBreadcrumb v-if="breadcrumb.length"> <BBreadcrumb v-if="breadcrumb.length">
<BBreadcrumbItem to="/"> <BBreadcrumbItem to="/">
<span class="sr-only">{{ $t('home') }}</span> <span class="sr-only">{{ $t('home') }}</span>
<Icon iname="home" /> <YIcon iname="home" />
</BBreadcrumbItem> </BBreadcrumbItem>
<BBreadcrumbItem <BBreadcrumbItem

View file

@ -1,5 +1,5 @@
<template> <template>
<Card v-bind="$attrs" class="card-form"> <YCard v-bind="$attrs" class="card-form">
<template #default> <template #default>
<slot name="disclaimer" /> <slot name="disclaimer" />
@ -27,7 +27,7 @@
</BButton> </BButton>
</slot> </slot>
</template> </template>
</Card> </YCard>
</template> </template>
<script> <script>

View file

@ -6,7 +6,7 @@
:id="id" href="#" :id="id" href="#"
variant="light" variant="light"
> >
<Icon iname="question" /> <YIcon iname="question" />
<span class="sr-only">{{ $t('details_about', { subject: title }) }}</span> <span class="sr-only">{{ $t('details_about', { subject: title }) }}</span>
</BButton> </BButton>
<BPopover <BPopover

View file

@ -8,7 +8,7 @@
<slot v-if="hasRightSlot" name="group-right" /> <slot v-if="hasRightSlot" name="group-right" />
<BButton v-else variant="success" :to="button.to"> <BButton v-else variant="success" :to="button.to">
<Icon v-if="button.icon" :iname="button.icon" /> {{ button.text }} <YIcon v-if="button.icon" :iname="button.icon" /> {{ button.text }}
</BButton> </BButton>
</div> </div>
</BButtonToolbar> </BButtonToolbar>

View file

@ -6,7 +6,7 @@
<template v-if="!hasCustomTopBar" #top-bar-group-left> <template v-if="!hasCustomTopBar" #top-bar-group-left>
<BInputGroup class="w-100"> <BInputGroup class="w-100">
<BInputGroupPrepend is-text> <BInputGroupPrepend is-text>
<Icon iname="search" /> <YIcon iname="search" />
</BInputGroupPrepend> </BInputGroupPrepend>
<BFormInput <BFormInput
@ -28,7 +28,7 @@
<template #default> <template #default>
<BAlert v-if="items === null || filteredItems === null" variant="warning"> <BAlert v-if="items === null || filteredItems === null" variant="warning">
<slot name="alert-message"> <slot name="alert-message">
<Icon iname="exclamation-triangle" /> <YIcon iname="exclamation-triangle" />
{{ $tc(items === null ? 'items_verbose_count': 'search.not_found', 0, { items: $tc('items.' + itemsName, 0) }) }} {{ $tc(items === null ? 'items_verbose_count': 'search.not_found', 0, { items: $tc('items.' + itemsName, 0) }) }}
</slot> </slot>
</BAlert> </BAlert>

View file

@ -6,7 +6,7 @@
:class="{ ['alert alert-' + variant]: !alert }" :class="{ ['alert alert-' + variant]: !alert }"
class="yuno-alert d-flex flex-column flex-md-row align-items-center" class="yuno-alert d-flex flex-column flex-md-row align-items-center"
> >
<Icon :iname="_icon" class="mr-md-3 mb-md-0 mb-2 md" /> <YIcon :iname="_icon" class="mr-md-3 mb-md-0 mb-2 md" />
<div class="w-100"> <div class="w-100">
<slot name="default" /> <slot name="default" />
@ -18,7 +18,7 @@
import { DEFAULT_STATUS_ICON } from '@/helpers/yunohostArguments' import { DEFAULT_STATUS_ICON } from '@/helpers/yunohostArguments'
export default { export default {
name: 'YunoAlert', name: 'YAlert',
props: { props: {
alert: { type: Boolean, default: false }, alert: { type: Boolean, default: false },

View file

@ -4,7 +4,7 @@
<div class="w-100 d-flex align-items-center flex-wrap custom-header"> <div class="w-100 d-flex align-items-center flex-wrap custom-header">
<slot name="header"> <slot name="header">
<Component :is="titleTag" class="custom-header-title"> <Component :is="titleTag" class="custom-header-title">
<Icon v-if="icon" :iname="icon" class="mr-2" />{{ title }} <YIcon v-if="icon" :iname="icon" class="mr-2" />{{ title }}
</Component> </Component>
<slot name="header-next" /> <slot name="header-next" />
</slot> </slot>
@ -19,7 +19,7 @@
size="sm" variant="outline-secondary" size="sm" variant="outline-secondary"
class="align-self-center ml-auto" :class="{ 'not-collapsed': visible, 'collapsed': !visible, [`ml-${buttonUnbreak}-2`]: buttonUnbreak }" class="align-self-center ml-auto" :class="{ 'not-collapsed': visible, 'collapsed': !visible, [`ml-${buttonUnbreak}-2`]: buttonUnbreak }"
> >
<Icon iname="chevron-right" /> <YIcon iname="chevron-right" />
<span class="sr-only">{{ $t('words.collapse') }}</span> <span class="sr-only">{{ $t('words.collapse') }}</span>
</BButton> </BButton>
</template> </template>
@ -43,7 +43,7 @@
<script> <script>
export default { export default {
name: 'Card', name: 'YCard',
props: { props: {
id: { type: String, default: 'ynh-form' }, id: { type: String, default: 'ynh-form' },

View file

@ -4,7 +4,7 @@
<script> <script>
export default { export default {
name: 'Icon', name: 'YIcon',
props: { props: {
iname: { type: String, required: true }, iname: { type: String, required: true },
variant: { type: String, default: null } variant: { type: String, default: null }

View file

@ -4,7 +4,7 @@
v-bind="$attrs" v-bind="$attrs"
> >
<div v-if="!noStatus" class="yuno-list-group-item-status"> <div v-if="!noStatus" class="yuno-list-group-item-status">
<Icon <YIcon
v-if="_icon" :iname="_icon" v-if="_icon" :iname="_icon"
:class="['icon-' + variant]" :class="['icon-' + variant]"
/> />
@ -20,7 +20,7 @@
import { DEFAULT_STATUS_ICON } from '@/helpers/yunohostArguments' import { DEFAULT_STATUS_ICON } from '@/helpers/yunohostArguments'
export default { export default {
name: 'YunoListGroupItem', name: 'YListGroupItem',
props: { props: {
variant: { type: String, default: 'white' }, variant: { type: String, default: 'white' },

View file

@ -7,7 +7,7 @@ import { mapGetters } from 'vuex'
export default { export default {
name: 'Spinner', name: 'YSpinner',
computed: { computed: {
...mapGetters(['spinner']) ...mapGetters(['spinner'])

View file

@ -6,7 +6,7 @@
:disabled="!enabled" :disabled="!enabled"
class="d-block mb-3" class="d-block mb-3"
> >
<Icon :iname="icon_" class="mr-2" /> <YIcon :iname="icon_" class="mr-2" />
<span v-html="label" /> <span v-html="label" />
</BButton> </BButton>
</template> </template>

View file

@ -5,7 +5,7 @@
@click="clearFiles" variant="danger" @click="clearFiles" variant="danger"
> >
<span class="sr-only">{{ $t('delete') }}</span> <span class="sr-only">{{ $t('delete') }}</span>
<Icon iname="trash" /> <YIcon iname="trash" />
</BButton> </BButton>
<BFormFile <BFormFile

View file

@ -1,6 +1,6 @@
<template> <template>
<BAlert class="d-flex flex-column flex-md-row align-items-center" :variant="type" show> <BAlert class="d-flex flex-column flex-md-row align-items-center" :variant="type" show>
<Icon :iname="icon_" class="mr-md-3 mb-md-0 mb-2" :variant="type" /> <YIcon :iname="icon_" class="mr-md-3 mb-md-0 mb-2" :variant="type" />
<VueShowdown <VueShowdown
:markdown="label" flavor="github" :markdown="label" flavor="github"

View file

@ -14,7 +14,7 @@
:disabled="disabled || disabledItems.includes(tag)" :disabled="disabled || disabledItems.includes(tag)"
class="border border-dark mb-2" class="border border-dark mb-2"
> >
<Icon v-if="tagIcon" :iname="tagIcon" /> {{ tag }} <YIcon v-if="tagIcon" :iname="tagIcon" /> {{ tag }}
</BFormTag> </BFormTag>
</li> </li>
</ul> </ul>
@ -25,7 +25,7 @@
@keydown.native="onDropdownKeydown" @keydown.native="onDropdownKeydown"
> >
<template #button-content> <template #button-content>
<Icon iname="search-plus" /> {{ label }} <YIcon iname="search-plus" /> {{ label }}
</template> </template>
<BDropdownGroup class="search-group"> <BDropdownGroup class="search-group">
@ -55,7 +55,7 @@
{{ option }} {{ option }}
</BDropdownItemButton> </BDropdownItemButton>
<BDropdownText v-if="!criteria && availableOptions.length === 0"> <BDropdownText v-if="!criteria && availableOptions.length === 0">
<Icon iname="exclamation-triangle" /> <YIcon iname="exclamation-triangle" />
{{ $tc('items_verbose_items_left', 0, { items: $tc('items.' + itemsName, 0) }) }} {{ $tc('items_verbose_items_left', 0, { items: $tc('items.' + itemsName, 0) }) }}
</BDropdownText> </BDropdownText>
</BDropdown> </BDropdown>

View file

@ -8,15 +8,15 @@
// Webpack chunk syntax is: // Webpack chunk syntax is:
// `() => import('@/views/:ViewComponent.vue')` // `() => import('@/views/:ViewComponent.vue')`
import Home from '@/views/Home.vue' import HomeView from '@/views/HomeView.vue'
import Login from '@/views/Login.vue' import LoginView from '@/views/LoginView.vue'
import ToolList from '@/views/tool/ToolList.vue' import ToolList from '@/views/tool/ToolList.vue'
const routes = [ const routes = [
{ {
name: 'home', name: 'home',
path: '/', path: '/',
component: Home, component: HomeView,
meta: { meta: {
args: { trad: 'home' } args: { trad: 'home' }
} }
@ -25,7 +25,7 @@ const routes = [
{ {
name: 'login', name: 'login',
path: '/login', path: '/login',
component: Login, component: LoginView,
meta: { meta: {
noAuth: true, noAuth: true,
args: { trad: 'login' } args: { trad: 'login' }
@ -347,7 +347,7 @@ const routes = [
{ {
name: 'diagnosis', name: 'diagnosis',
path: '/diagnosis', path: '/diagnosis',
component: () => import('@/views/diagnosis/Diagnosis.vue'), component: () => import('@/views/diagnosis/DiagnosisView.vue'),
meta: { meta: {
args: { trad: 'diagnosis' }, args: { trad: 'diagnosis' },
breadcrumb: ['diagnosis'] breadcrumb: ['diagnosis']
@ -360,7 +360,7 @@ const routes = [
{ {
name: 'backup', name: 'backup',
path: '/backup', path: '/backup',
component: () => import('@/views/backup/Backup.vue'), component: () => import('@/views/backup/BackupView.vue'),
meta: { meta: {
args: { trad: 'backup' }, args: { trad: 'backup' },
breadcrumb: ['backup'] breadcrumb: ['backup']

View file

@ -6,9 +6,9 @@
:key="item.routeName" :key="item.routeName"
:to="{ name: item.routeName }" :to="{ name: item.routeName }"
> >
<Icon :iname="item.icon" class="lg ml-1" /> <YIcon :iname="item.icon" class="lg ml-1" />
<h4>{{ $t(item.translation) }}</h4> <h4>{{ $t(item.translation) }}</h4>
<Icon iname="chevron-right" class="lg fs-sm ml-auto" /> <YIcon iname="chevron-right" class="lg fs-sm ml-auto" />
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</div> </div>
@ -16,7 +16,7 @@
<script> <script>
export default { export default {
name: 'Home', name: 'HomeView',
data () { data () {
return { return {

View file

@ -27,7 +27,7 @@ import { validationMixin } from 'vuelidate'
import { alphalownumdot_, required, minLength } from '@/helpers/validators' import { alphalownumdot_, required, minLength } from '@/helpers/validators'
export default { export default {
name: 'Login', name: 'LoginView',
mixins: [validationMixin], mixins: [validationMixin],

View file

@ -3,7 +3,7 @@
<!-- START STEP --> <!-- START STEP -->
<template v-if="step === 'start'"> <template v-if="step === 'start'">
<p class="alert alert-success"> <p class="alert alert-success">
<Icon iname="thumbs-up" /> {{ $t('postinstall_intro_1') }} <YIcon iname="thumbs-up" /> {{ $t('postinstall_intro_1') }}
</p> </p>
<p class="alert alert-info"> <p class="alert alert-info">
@ -29,7 +29,7 @@
</DomainForm> </DomainForm>
<BButton variant="primary" @click="goToStep('start')" class="mt-3"> <BButton variant="primary" @click="goToStep('start')" class="mt-3">
<Icon iname="chevron-left" /> {{ $t('previous') }} <YIcon iname="chevron-left" /> {{ $t('previous') }}
</BButton> </BButton>
</template> </template>
@ -52,30 +52,30 @@
</CardForm> </CardForm>
<BButton variant="primary" @click="goToStep('domain')" class="mt-3"> <BButton variant="primary" @click="goToStep('domain')" class="mt-3">
<Icon iname="chevron-left" /> {{ $t('previous') }} <YIcon iname="chevron-left" /> {{ $t('previous') }}
</BButton> </BButton>
</template> </template>
<template v-else-if="step === 'rootfsspace-error'"> <template v-else-if="step === 'rootfsspace-error'">
<Card no-body header-class="d-none" footer-bg-variant="danger"> <YCard no-body header-class="d-none" footer-bg-variant="danger">
<BCardBody class="alert alert-danger m-0"> <BCardBody class="alert alert-danger m-0">
{{ serverError }} {{ serverError }}
</BCardBody> </BCardBody>
<template #buttons> <template #buttons>
<BButton variant="light" size="sm" @click="performPostInstall(true)"> <BButton variant="light" size="sm" @click="performPostInstall(true)">
<Icon iname="warning" /> {{ $t('postinstall.force') }} <YIcon iname="warning" /> {{ $t('postinstall.force') }}
</BButton> </BButton>
</template> </template>
</Card> </YCard>
</template> </template>
<!-- POST-INSTALL SUCCESS STEP --> <!-- POST-INSTALL SUCCESS STEP -->
<template v-else-if="step === 'login'"> <template v-else-if="step === 'login'">
<p class="alert alert-success"> <p class="alert alert-success">
<Icon iname="thumbs-up" /> {{ $t('installation_complete') }} <YIcon iname="thumbs-up" /> {{ $t('installation_complete') }}
</p> </p>
<Login /> <LoginView />
</template> </template>
</div> </div>
</template> </template>
@ -85,7 +85,7 @@ import { validationMixin } from 'vuelidate'
import api from '@/api' import api from '@/api'
import { DomainForm } from '@/views/_partials' import { DomainForm } from '@/views/_partials'
import Login from '@/views/Login.vue' import LoginView from '@/views/LoginView.vue'
import { formatFormData } from '@/helpers/yunohostArguments' import { formatFormData } from '@/helpers/yunohostArguments'
import { alphalownumdot_, required, minLength, name, sameAs } from '@/helpers/validators' import { alphalownumdot_, required, minLength, name, sameAs } from '@/helpers/validators'
@ -96,7 +96,7 @@ export default {
components: { components: {
DomainForm, DomainForm,
Login LoginView
}, },
data () { data () {

View file

@ -20,7 +20,7 @@
<BCollapse id="collapse-domain" :visible.sync="domainIsVisible"> <BCollapse id="collapse-domain" :visible.sync="domainIsVisible">
<p class="mt-2 alert alert-info"> <p class="mt-2 alert alert-info">
<Icon iname='info-circle' /> <YIcon iname='info-circle' />
<span class='pl-1' v-html="$t('domain.add.from_registrar_desc')" /> <span class='pl-1' v-html="$t('domain.add.from_registrar_desc')" />
</p> </p>
@ -43,7 +43,7 @@
<BCollapse id="collapse-dynDomain" :visible.sync="dynDomainIsVisible"> <BCollapse id="collapse-dynDomain" :visible.sync="dynDomainIsVisible">
<p class="mt-2 alert alert-info"> <p class="mt-2 alert alert-info">
<Icon iname="info-circle" /> <YIcon iname="info-circle" />
<span class='pl-1' v-html="$t('domain.add.from_yunohost_desc')" /> <span class='pl-1' v-html="$t('domain.add.from_yunohost_desc')" />
</p> </p>
@ -78,7 +78,7 @@
<BCollapse id="collapse-localDomain" :visible.sync="localDomainIsVisible"> <BCollapse id="collapse-localDomain" :visible.sync="localDomainIsVisible">
<p class="mt-2 alert alert-info"> <p class="mt-2 alert alert-info">
<Icon iname='info-circle' /> <YIcon iname='info-circle' />
<span class='pl-1' v-html="$t('domain.add.from_local_desc')" /> <span class='pl-1' v-html="$t('domain.add.from_local_desc')" />
</p> </p>

View file

@ -11,7 +11,7 @@
@keyup.space.enter.prevent="onHistoryBarKey" @keyup.space.enter.prevent="onHistoryBarKey"
> >
<h5 class="m-0"> <h5 class="m-0">
<Icon iname="history" /> <span class="d-none d-sm-inline font-weight-bold">{{ $t('history.title') }}</span> <YIcon iname="history" /> <span class="d-none d-sm-inline font-weight-bold">{{ $t('history.title') }}</span>
</h5> </h5>
<!-- CURRENT/LAST ACTION --> <!-- CURRENT/LAST ACTION -->

View file

@ -4,7 +4,7 @@
<BCardTitle class="text-center my-4" v-t="'api.reconnecting.title'" /> <BCardTitle class="text-center my-4" v-t="'api.reconnecting.title'" />
<template v-if="status === 'reconnecting'"> <template v-if="status === 'reconnecting'">
<Spinner class="mb-4" /> <YSpinner class="mb-4" />
<BAlert <BAlert
v-if="origin" v-if="origin"
@ -38,7 +38,7 @@
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import api from '@/api' import api from '@/api'
import LoginView from '@/views/Login.vue' import LoginView from '@/views/LoginView.vue'
export default { export default {

View file

@ -13,7 +13,7 @@
<BProgressBar variant="secondary" :value="progress.values[2]" striped /> <BProgressBar variant="secondary" :value="progress.values[2]" striped />
</BProgress> </BProgress>
<!-- OR SPINNER --> <!-- OR SPINNER -->
<Spinner v-else class="my-4" /> <YSpinner v-else class="my-4" />
<MessageListGroup <MessageListGroup
v-if="hasMessages" :messages="request.messages" v-if="hasMessages" :messages="request.messages"

View file

@ -8,7 +8,7 @@
<!-- APP SEARCH --> <!-- APP SEARCH -->
<BInputGroup> <BInputGroup>
<BInputGroupPrepend is-text> <BInputGroupPrepend is-text>
<Icon iname="search" /> <YIcon iname="search" />
</BInputGroupPrepend> </BInputGroupPrepend>
<BFormInput <BFormInput
id="search-input" :placeholder="$t('search.for', { items: $tc('items.apps', 2) })" id="search-input" :placeholder="$t('search.for', { items: $tc('items.apps', 2) })"
@ -22,7 +22,7 @@
<!-- CATEGORY SELECT --> <!-- CATEGORY SELECT -->
<BInputGroup class="mt-3"> <BInputGroup class="mt-3">
<BInputGroupPrepend is-text> <BInputGroupPrepend is-text>
<Icon iname="filter" /> <YIcon iname="filter" />
</BInputGroupPrepend> </BInputGroupPrepend>
<BFormSelect :value="category" :options="categories" @change="updateQuery('category', $event)" /> <BFormSelect :value="category" :options="categories" @change="updateQuery('category', $event)" />
<BInputGroupAppend> <BInputGroupAppend>
@ -58,7 +58,7 @@
> >
<BCardTitle> <BCardTitle>
<BLink @click="updateQuery('category', cat.value)" class="card-link"> <BLink @click="updateQuery('category', cat.value)" class="card-link">
<Icon :iname="cat.icon" /> {{ cat.text }} <YIcon :iname="cat.icon" /> {{ cat.text }}
</BLink> </BLink>
</BCardTitle> </BCardTitle>
<BCardText>{{ cat.description }}</BCardText> <BCardText>{{ cat.description }}</BCardText>
@ -92,7 +92,7 @@
{{ $t('app_state_' + app.state) }} {{ $t('app_state_' + app.state) }}
</BBadge> </BBadge>
<Icon <YIcon
v-if="app.high_quality" iname="star" class="star" v-if="app.high_quality" iname="star" class="star"
v-b-popover.hover.bottom="$t(`app_state_highquality_explanation`)" v-b-popover.hover.bottom="$t(`app_state_highquality_explanation`)"
/> />
@ -105,7 +105,7 @@
<BCardText v-if="!app.maintained" class="align-self-end position-relative mt-auto"> <BCardText v-if="!app.maintained" class="align-self-end position-relative mt-auto">
<span class="alert-warning p-1" v-b-popover.hover.top="$t('orphaned_details')"> <span class="alert-warning p-1" v-b-popover.hover.top="$t('orphaned_details')">
<Icon iname="warning" /> {{ $t('orphaned') }} <YIcon iname="warning" /> {{ $t('orphaned') }}
</span> </span>
</BCardText> </BCardText>
</div> </div>
@ -131,7 +131,7 @@
> >
<template #disclaimer> <template #disclaimer>
<div class="alert alert-warning"> <div class="alert alert-warning">
<Icon iname="exclamation-triangle" /> {{ $t('confirm_install_custom_app') }} <YIcon iname="exclamation-triangle" /> {{ $t('confirm_install_custom_app') }}
</div> </div>
</template> </template>

View file

@ -3,7 +3,7 @@
:queries="queries" @queries-response="onQueriesResponse" :loading="loading" :queries="queries" @queries-response="onQueriesResponse" :loading="loading"
ref="view" ref="view"
> >
<YunoAlert v-if="app && app.doc && app.doc.notifications && app.doc.notifications.postInstall.length" variant="info" class="my-4"> <YAlert v-if="app && app.doc && app.doc.notifications && app.doc.notifications.postInstall.length" variant="info" class="my-4">
<div class="d-md-flex align-items-center mb-3"> <div class="d-md-flex align-items-center mb-3">
<h2 v-t="'app.doc.notifications.post_install'" class="md-m-0" /> <h2 v-t="'app.doc.notifications.post_install'" class="md-m-0" />
<BButton <BButton
@ -12,7 +12,7 @@
class="ml-auto mr-2" class="ml-auto mr-2"
@click="dismissNotification('post_install')" @click="dismissNotification('post_install')"
> >
<Icon iname="check" /> <YIcon iname="check" />
{{ $t('app.doc.notifications.understood') }} {{ $t('app.doc.notifications.understood') }}
</BButton> </BButton>
</div> </div>
@ -21,9 +21,9 @@
v-for="[name, notif] in app.doc.notifications.postInstall" :key="name" v-for="[name, notif] in app.doc.notifications.postInstall" :key="name"
:markdown="notif" flavor="github" :options="{ headerLevelStart: 4 }" :markdown="notif" flavor="github" :options="{ headerLevelStart: 4 }"
/> />
</YunoAlert> </YAlert>
<YunoAlert v-if="app && app.doc && app.doc.notifications && app.doc.notifications.postUpgrade.length" variant="info" class="my-4"> <YAlert v-if="app && app.doc && app.doc.notifications && app.doc.notifications.postUpgrade.length" variant="info" class="my-4">
<div class="d-md-flex align-items-center mb-3"> <div class="d-md-flex align-items-center mb-3">
<h2 v-t="'app.doc.notifications.post_upgrade'" class="md-m-0" /> <h2 v-t="'app.doc.notifications.post_upgrade'" class="md-m-0" />
<BButton <BButton
@ -32,7 +32,7 @@
class="ml-auto mr-2" class="ml-auto mr-2"
@click="dismissNotification('post_upgrade')" @click="dismissNotification('post_upgrade')"
> >
<Icon iname="check" /> <YIcon iname="check" />
{{ $t('app.doc.notifications.understood') }} {{ $t('app.doc.notifications.understood') }}
</BButton> </BButton>
</div> </div>
@ -41,12 +41,12 @@
v-for="[name, notif] in app.doc.notifications.postUpgrade" :key="name" v-for="[name, notif] in app.doc.notifications.postUpgrade" :key="name"
:markdown="notif" flavor="github" :options="{ headerLevelStart: 4 }" :markdown="notif" flavor="github" :options="{ headerLevelStart: 4 }"
/> />
</YunoAlert> </YAlert>
<section v-if="app" class="border rounded p-3 mb-4"> <section v-if="app" class="border rounded p-3 mb-4">
<div class="d-md-flex align-items-center mb-4"> <div class="d-md-flex align-items-center mb-4">
<h1 class="mb-3 mb-md-0"> <h1 class="mb-3 mb-md-0">
<Icon iname="cube" /> <YIcon iname="cube" />
{{ app.label }} {{ app.label }}
<span class="text-secondary tiny"> <span class="text-secondary tiny">
@ -59,7 +59,7 @@
:href="app.url" target="_blank" :href="app.url" target="_blank"
variant="success" class="ml-auto mr-2" variant="success" class="ml-auto mr-2"
> >
<Icon iname="external-link" /> <YIcon iname="external-link" />
{{ $t('app.open_this_app') }} {{ $t('app.open_this_app') }}
</BButton> </BButton>
@ -69,7 +69,7 @@
variant="danger" variant="danger"
:class="{ 'ml-auto': !app.url }" :class="{ 'ml-auto': !app.url }"
> >
<Icon iname="trash-o" /> <YIcon iname="trash-o" />
{{ $t('uninstall') }} {{ $t('uninstall') }}
</BButton> </BButton>
</div> </div>
@ -83,7 +83,7 @@
</p> </p>
<p> <p>
<Icon iname="comments" /> {{ $t('app.info.problem') }} <YIcon iname="comments" /> {{ $t('app.info.problem') }}
<a :href="`https://forum.yunohost.org/tag/${id}`" target="_blank"> <a :href="`https://forum.yunohost.org/tag/${id}`" target="_blank">
{{ $t('app.info.forum') }} {{ $t('app.info.forum') }}
</a> </a>
@ -92,14 +92,14 @@
<VueShowdown :markdown="app.description" flavor="github" /> <VueShowdown :markdown="app.description" flavor="github" />
</section> </section>
<YunoAlert <YAlert
v-if="config_panel_err" v-if="config_panel_err"
class="mb-4" variant="danger" icon="bug" class="mb-4" variant="danger" icon="bug"
> >
<p>{{ $t('app.info.config_panel_error') }}</p> <p>{{ $t('app.info.config_panel_error') }}</p>
<p>{{ config_panel_err }}</p> <p>{{ config_panel_err }}</p>
<p>{{ $t('app.info.config_panel_error_please_report') }}</p> <p>{{ $t('app.info.config_panel_error_please_report') }}</p>
</YunoAlert> </YAlert>
<!-- BASIC INFOS --> <!-- BASIC INFOS -->
<ConfigPanels v-bind="config" @submit="onConfigSubmit"> <ConfigPanels v-bind="config" @submit="onConfigSubmit">
@ -151,7 +151,7 @@
size="sm" :to="{ name: 'group-list'}" variant="info" size="sm" :to="{ name: 'group-list'}" variant="info"
class="ml-2" class="ml-2"
> >
<Icon iname="key-modern" /> {{ $t('groups_and_permissions_manage') }} <YIcon iname="key-modern" /> {{ $t('groups_and_permissions_manage') }}
</BButton> </BButton>
</BFormGroup> </BFormGroup>
<hr> <hr>
@ -183,7 +183,7 @@
</BInputGroup> </BInputGroup>
<div v-else class="alert alert-warning"> <div v-else class="alert alert-warning">
<Icon iname="exclamation" /> {{ $t('app_info_change_url_disabled_tooltip') }} <YIcon iname="exclamation" /> {{ $t('app_info_change_url_disabled_tooltip') }}
</div> </div>
</BFormGroup> </BFormGroup>
<hr v-if="app.is_webapp"> <hr v-if="app.is_webapp">
@ -196,13 +196,13 @@
> >
<template v-if="!app.is_default"> <template v-if="!app.is_default">
<BButton @click="setAsDefaultDomain(false)" id="main-domain" variant="success"> <BButton @click="setAsDefaultDomain(false)" id="main-domain" variant="success">
<Icon iname="star" /> {{ $t('app_make_default') }} <YIcon iname="star" /> {{ $t('app_make_default') }}
</BButton> </BButton>
</template> </template>
<template v-else> <template v-else>
<BButton @click="setAsDefaultDomain(true)" id="main-domain" variant="warning"> <BButton @click="setAsDefaultDomain(true)" id="main-domain" variant="warning">
<Icon iname="star" /> {{ $t('app_make_not_default') }} <YIcon iname="star" /> {{ $t('app_make_not_default') }}
</BButton> </BButton>
</template> </template>
</BFormGroup> </BFormGroup>
@ -215,7 +215,7 @@
v-for="[name, content] in app.doc.admin" :key="name" v-for="[name, content] in app.doc.admin" :key="name"
> >
<template #title> <template #title>
<Icon iname="book" class="mr-2" /> <YIcon iname="book" class="mr-2" />
{{ name === "admin" ? $t('app.doc.admin.title') : name }} {{ name === "admin" ? $t('app.doc.admin.title') : name }}
</template> </template>
<VueShowdown :markdown="content" flavor="github" /> <VueShowdown :markdown="content" flavor="github" />
@ -223,44 +223,44 @@
</BTabs> </BTabs>
</BCard> </BCard>
<Card <YCard
v-if="app && app.integration" v-if="app && app.integration"
id="app-integration" :title="$t('app.integration.title')" id="app-integration" :title="$t('app.integration.title')"
collapsable collapsed no-body collapsable collapsed no-body
> >
<BListGroup flush> <BListGroup flush>
<YunoListGroupItem variant="info"> <YListGroupItem variant="info">
{{ $t('app.integration.archs') }} {{ app.integration.archs }} {{ $t('app.integration.archs') }} {{ app.integration.archs }}
</YunoListGroupItem> </YListGroupItem>
<YunoListGroupItem v-if="app.integration.ldap" :variant="app.integration.ldap === true ? 'success' : 'warning'"> <YListGroupItem v-if="app.integration.ldap" :variant="app.integration.ldap === true ? 'success' : 'warning'">
{{ $t(`app.integration.ldap.${app.integration.ldap}`) }} {{ $t(`app.integration.ldap.${app.integration.ldap}`) }}
</YunoListGroupItem> </YListGroupItem>
<YunoListGroupItem v-if="app.integration.sso" :variant="app.integration.sso === true ? 'success' : 'warning'"> <YListGroupItem v-if="app.integration.sso" :variant="app.integration.sso === true ? 'success' : 'warning'">
{{ $t(`app.integration.sso.${app.integration.sso}`) }} {{ $t(`app.integration.sso.${app.integration.sso}`) }}
</YunoListGroupItem> </YListGroupItem>
<YunoListGroupItem variant="info"> <YListGroupItem variant="info">
{{ $t(`app.integration.multi_instance.${app.integration.multi_instance}`) }} {{ $t(`app.integration.multi_instance.${app.integration.multi_instance}`) }}
</YunoListGroupItem> </YListGroupItem>
<YunoListGroupItem variant="info"> <YListGroupItem variant="info">
{{ $t('app.integration.resources', app.integration.resources) }} {{ $t('app.integration.resources', app.integration.resources) }}
</YunoListGroupItem> </YListGroupItem>
</BListGroup> </BListGroup>
</Card> </YCard>
<Card <YCard
v-if="app" v-if="app"
id="app-links" icon="link" :title="$t('app.links.title')" id="app-links" icon="link" :title="$t('app.links.title')"
collapsable collapsed no-body collapsable collapsed no-body
> >
<BListGroup flush> <BListGroup flush>
<YunoListGroupItem v-for="[key, link] in app.links" :key="key" no-status> <YListGroupItem v-for="[key, link] in app.links" :key="key" no-status>
<BLink :href="link" target="_blank"> <BLink :href="link" target="_blank">
<Icon :iname="appLinksIcons(key)" class="mr-1" /> <YIcon :iname="appLinksIcons(key)" class="mr-1" />
{{ $t('app.links.' + key) }} {{ $t('app.links.' + key) }}
</BLink> </BLink>
</YunoListGroupItem> </YListGroupItem>
</BListGroup> </BListGroup>
</Card> </YCard>
<BModal <BModal
v-if="app" v-if="app"

View file

@ -12,7 +12,7 @@
:href="app.demo" target="_blank" :href="app.demo" target="_blank"
variant="primary" class="ml-auto" variant="primary" class="ml-auto"
> >
<Icon iname="external-link" /> <YIcon iname="external-link" />
{{ $t('app.install.try_demo') }} {{ $t('app.install.try_demo') }}
</BButton> </BButton>
</div> </div>
@ -34,49 +34,49 @@
/> />
</section> </section>
<Card <YCard
v-if="app.integration" v-if="app.integration"
id="app-integration" :title="$t('app.integration.title')" id="app-integration" :title="$t('app.integration.title')"
collapsable collapsed no-body collapsable collapsed no-body
> >
<BListGroup flush> <BListGroup flush>
<YunoListGroupItem variant="info"> <YListGroupItem variant="info">
{{ $t('app.integration.archs') }} {{ app.integration.archs }} {{ $t('app.integration.archs') }} {{ app.integration.archs }}
</YunoListGroupItem> </YListGroupItem>
<YunoListGroupItem v-if="app.integration.ldap" :variant="app.integration.ldap === true ? 'success' : 'warning'"> <YListGroupItem v-if="app.integration.ldap" :variant="app.integration.ldap === true ? 'success' : 'warning'">
{{ $t(`app.integration.ldap.${app.integration.ldap}`) }} {{ $t(`app.integration.ldap.${app.integration.ldap}`) }}
</YunoListGroupItem> </YListGroupItem>
<YunoListGroupItem v-if="app.integration.sso" :variant="app.integration.sso === true ? 'success' : 'warning'"> <YListGroupItem v-if="app.integration.sso" :variant="app.integration.sso === true ? 'success' : 'warning'">
{{ $t(`app.integration.sso.${app.integration.sso}`) }} {{ $t(`app.integration.sso.${app.integration.sso}`) }}
</YunoListGroupItem> </YListGroupItem>
<YunoListGroupItem variant="info"> <YListGroupItem variant="info">
{{ $t(`app.integration.multi_instance.${app.integration.multi_instance}`) }} {{ $t(`app.integration.multi_instance.${app.integration.multi_instance}`) }}
</YunoListGroupItem> </YListGroupItem>
<YunoListGroupItem variant="info"> <YListGroupItem variant="info">
{{ $t('app.integration.resources', app.integration.resources) }} {{ $t('app.integration.resources', app.integration.resources) }}
</YunoListGroupItem> </YListGroupItem>
</BListGroup> </BListGroup>
</Card> </YCard>
<Card <YCard
id="app-links" icon="link" :title="$t('app.links.title')" id="app-links" icon="link" :title="$t('app.links.title')"
collapsable collapsed no-body collapsable collapsed no-body
> >
<template #header> <template #header>
<h2><Icon iname="link" /> {{ $t('app.links.title') }}</h2> <h2><YIcon iname="link" /> {{ $t('app.links.title') }}</h2>
</template> </template>
<BListGroup flush> <BListGroup flush>
<YunoListGroupItem v-for="[key, link] in app.links" :key="key" no-status> <YListGroupItem v-for="[key, link] in app.links" :key="key" no-status>
<BLink :href="link" target="_blank"> <BLink :href="link" target="_blank">
<Icon :iname="appLinksIcons(key)" class="mr-1" /> <YIcon :iname="appLinksIcons(key)" class="mr-1" />
{{ $t('app.links.' + key) }} {{ $t('app.links.' + key) }}
</BLink> </BLink>
</YunoListGroupItem> </YListGroupItem>
</BListGroup> </BListGroup>
</Card> </YCard>
<YunoAlert v-if="app.hasWarning" variant="warning" class="my-4"> <YAlert v-if="app.hasWarning" variant="warning" class="my-4">
<h2>{{ $t('app.install.notifs.pre.warning') }}</h2> <h2>{{ $t('app.install.notifs.pre.warning') }}</h2>
<template v-if="app.antifeatures"> <template v-if="app.antifeatures">
@ -84,7 +84,7 @@
<dl class="antifeatures"> <dl class="antifeatures">
<div v-for="antifeature in app.antifeatures" :key="antifeature.id"> <div v-for="antifeature in app.antifeatures" :key="antifeature.id">
<dt class="d-inline"> <dt class="d-inline">
<Icon :iname="antifeature.icon" class="md mr-1" /> <YIcon :iname="antifeature.icon" class="md mr-1" />
{{ antifeature.title }}: {{ antifeature.title }}:
</dt> </dt>
<dd class="d-inline"> <dd class="d-inline">
@ -97,9 +97,9 @@
<p v-if="app.quality.state === 'lowquality'" v-t="'app.install.problems.lowquality'" /> <p v-if="app.quality.state === 'lowquality'" v-t="'app.install.problems.lowquality'" />
<VueShowdown v-if="app.preInstall" :markdown="app.preInstall" flavor="github" /> <VueShowdown v-if="app.preInstall" :markdown="app.preInstall" flavor="github" />
</YunoAlert> </YAlert>
<YunoAlert <YAlert
v-if="!app.hasSupport" v-if="!app.hasSupport"
variant="danger" icon="warning" class="my-4" variant="danger" icon="warning" class="my-4"
> >
@ -114,9 +114,9 @@
<p v-if="!app.requirements.required_yunohost_version.pass"> <p v-if="!app.requirements.required_yunohost_version.pass">
{{ $t('app.install.problems.version', app.requirements.required_yunohost_version.values) }} {{ $t('app.install.problems.version', app.requirements.required_yunohost_version.values) }}
</p> </p>
</YunoAlert> </YAlert>
<YunoAlert v-else-if="app.hasDanger" variant="danger" class="my-4"> <YAlert v-else-if="app.hasDanger" variant="danger" class="my-4">
<h2>{{ $t('app.install.notifs.pre.danger') }}</h2> <h2>{{ $t('app.install.notifs.pre.danger') }}</h2>
<p v-if="['inprogress', 'broken', 'thirdparty'].includes(app.quality.state)" v-t="'app.install.problems.' + app.quality.state" /> <p v-if="['inprogress', 'broken', 'thirdparty'].includes(app.quality.state)" v-t="'app.install.problems.' + app.quality.state" />
@ -125,7 +125,7 @@
</p> </p>
<CheckboxItem v-model="force" id="force-install" :label="$t('app.install.problems.ignore')" /> <CheckboxItem v-model="force" id="force-install" :label="$t('app.install.problems.ignore')" />
</YunoAlert> </YAlert>
<!-- INSTALL FORM --> <!-- INSTALL FORM -->
<CardForm <CardForm
@ -145,7 +145,7 @@
<!-- In case of a custom url with no manifest found --> <!-- In case of a custom url with no manifest found -->
<BAlert v-else-if="app === null" variant="warning"> <BAlert v-else-if="app === null" variant="warning">
<Icon iname="exclamation-triangle" /> {{ $t('app_install_custom_no_manifest') }} <YIcon iname="exclamation-triangle" /> {{ $t('app_install_custom_no_manifest') }}
</BAlert> </BAlert>
<template #skeleton> <template #skeleton>

View file

@ -9,7 +9,7 @@
> >
<template #top-bar-buttons> <template #top-bar-buttons>
<BButton variant="success" :to="{ name: 'app-catalog' }"> <BButton variant="success" :to="{ name: 'app-catalog' }">
<Icon iname="plus" /> <YIcon iname="plus" />
{{ $t('install') }} {{ $t('install') }}
</BButton> </BButton>
</template> </template>
@ -30,7 +30,7 @@
</p> </p>
</div> </div>
<Icon iname="chevron-right" class="lg fs-sm ml-auto" /> <YIcon iname="chevron-right" class="lg fs-sm ml-auto" />
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</ViewSearch> </ViewSearch>

View file

@ -1,7 +1,7 @@
<template> <template>
<ViewBase :queries="queries" @queries-response="onQueriesResponse" skeleton="CardListSkeleton"> <ViewBase :queries="queries" @queries-response="onQueriesResponse" skeleton="CardListSkeleton">
<!-- FIXME switch to <CardForm> ? --> <!-- FIXME switch to <CardForm> ? -->
<Card :title="$t('backup_create')" icon="archive" no-body> <YCard :title="$t('backup_create')" icon="archive" no-body>
<BFormCheckboxGroup <BFormCheckboxGroup
v-model="selected" v-model="selected"
id="backup-select" name="backup-select" size="lg" id="backup-select" name="backup-select" size="lg"
@ -10,7 +10,7 @@
<!-- SYSTEM HEADER --> <!-- SYSTEM HEADER -->
<BListGroupItem class="d-flex align-items-sm-center flex-column flex-sm-row text-primary"> <BListGroupItem class="d-flex align-items-sm-center flex-column flex-sm-row text-primary">
<h4 class="m-0"> <h4 class="m-0">
<Icon iname="cube" /> {{ $t('system') }} <YIcon iname="cube" /> {{ $t('system') }}
</h4> </h4>
<div class="ml-sm-auto mt-2 mt-sm-0"> <div class="ml-sm-auto mt-2 mt-sm-0">
@ -46,7 +46,7 @@
<!-- APPS HEADER --> <!-- APPS HEADER -->
<BListGroupItem class="d-flex align-items-sm-center flex-column flex-sm-row text-primary"> <BListGroupItem class="d-flex align-items-sm-center flex-column flex-sm-row text-primary">
<h4 class="m-0"> <h4 class="m-0">
<Icon iname="cubes" /> {{ $t('applications') }} <YIcon iname="cubes" /> {{ $t('applications') }}
</h4> </h4>
<div class="ml-sm-auto mt-2 mt-sm-0"> <div class="ml-sm-auto mt-2 mt-sm-0">
@ -88,7 +88,7 @@
variant="success" :disabled="selected.length === 0" variant="success" :disabled="selected.length === 0"
/> />
</template> </template>
</Card> </YCard>
</ViewBase> </ViewBase>
</template> </template>

View file

@ -1,16 +1,16 @@
<template> <template>
<ViewBase :queries="queries" @queries-response="onQueriesResponse"> <ViewBase :queries="queries" @queries-response="onQueriesResponse">
<!-- BACKUP INFO --> <!-- BACKUP INFO -->
<Card :title="$t('infos')" icon="info-circle" button-unbreak="sm"> <YCard :title="$t('infos')" icon="info-circle" button-unbreak="sm">
<template #header-buttons> <template #header-buttons>
<!-- DOWNLOAD ARCHIVE --> <!-- DOWNLOAD ARCHIVE -->
<BButton @click="downloadBackup" size="sm" variant="success"> <BButton @click="downloadBackup" size="sm" variant="success">
<Icon iname="download" /> {{ $t('download') }} <YIcon iname="download" /> {{ $t('download') }}
</BButton> </BButton>
<!-- DELETE ARCHIVE --> <!-- DELETE ARCHIVE -->
<BButton @click="deleteBackup" size="sm" variant="danger"> <BButton @click="deleteBackup" size="sm" variant="danger">
<Icon iname="trash-o" /> {{ $t('delete') }} <YIcon iname="trash-o" /> {{ $t('delete') }}
</BButton> </BButton>
</template> </template>
@ -27,11 +27,11 @@
<span v-else>{{ value }}</span> <span v-else>{{ value }}</span>
</BCol> </BCol>
</BRow> </BRow>
</Card> </YCard>
<!-- BACKUP CONTENT --> <!-- BACKUP CONTENT -->
<!-- FIXME switch to <CardForm> ? --> <!-- FIXME switch to <CardForm> ? -->
<Card <YCard
:title="$t('backup_content')" icon="archive" :title="$t('backup_content')" icon="archive"
no-body button-unbreak="sm" no-body button-unbreak="sm"
> >
@ -96,7 +96,7 @@
</BFormCheckboxGroup> </BFormCheckboxGroup>
<div v-else class="alert alert-warning mb-0"> <div v-else class="alert alert-warning mb-0">
<Icon iname="exclamation-triangle" /> {{ $t('archive_empty') }} <YIcon iname="exclamation-triangle" /> {{ $t('archive_empty') }}
</div> </div>
<!-- SUBMIT --> <!-- SUBMIT -->
@ -106,7 +106,7 @@
v-t="'restore'" :disabled="selected.length === 0" v-t="'restore'" :disabled="selected.length === 0"
/> />
</template> </template>
</Card> </YCard>
<template #skeleton> <template #skeleton>
<CardInfoSkeleton :item-count="4" /> <CardInfoSkeleton :item-count="4" />

View file

@ -5,7 +5,7 @@
</template> </template>
<BAlert v-if="!archives" variant="warning"> <BAlert v-if="!archives" variant="warning">
<Icon iname="exclamation-triangle" /> <YIcon iname="exclamation-triangle" />
{{ $tc('items_verbose_count', 0, { items: $tc('items.backups', 0) }) }} {{ $tc('items_verbose_count', 0, { items: $tc('items.backups', 0) }) }}
</BAlert> </BAlert>
@ -25,7 +25,7 @@
{{ path }} {{ path }}
</p> </p>
</div> </div>
<Icon iname="chevron-right" class="lg fs-sm ml-auto" /> <YIcon iname="chevron-right" class="lg fs-sm ml-auto" />
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</ViewBase> </ViewBase>

View file

@ -15,7 +15,7 @@
{{ uri }} {{ uri }}
</p> </p>
</div> </div>
<Icon iname="chevron-right" class="lg fs-sm ml-auto" /> <YIcon iname="chevron-right" class="lg fs-sm ml-auto" />
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</div> </div>
@ -23,7 +23,7 @@
<script> <script>
export default { export default {
name: 'Backup', name: 'BackupView',
data () { data () {
return { return {

View file

@ -5,7 +5,7 @@
> >
<template #top-bar-group-right> <template #top-bar-group-right>
<BButton @click="shareLogs" variant="success"> <BButton @click="shareLogs" variant="success">
<Icon iname="cloud-upload" /> {{ $t('logs_share_with_yunopaste') }} <YIcon iname="cloud-upload" /> {{ $t('logs_share_with_yunopaste') }}
</BButton> </BButton>
</template> </template>
@ -16,13 +16,13 @@
v-if="reports === null" class="d-block mt-2" variant="info" v-if="reports === null" class="d-block mt-2" variant="info"
@click="runDiagnosis()" @click="runDiagnosis()"
> >
<Icon iname="stethoscope" /> {{ $t('run_first_diagnosis') }} <YIcon iname="stethoscope" /> {{ $t('run_first_diagnosis') }}
</BButton> </BButton>
</div> </div>
</template> </template>
<!-- REPORT CARD --> <!-- REPORT CARD -->
<Card <YCard
v-for="report in reports" :key="report.id" v-for="report in reports" :key="report.id"
collapsable :collapsed="report.noIssues" collapsable :collapsed="report.noIssues"
no-body button-unbreak="lg" no-body button-unbreak="lg"
@ -41,7 +41,7 @@
<template #header-buttons> <template #header-buttons>
<BButton size="sm" :variant="report.items ? 'info' : 'success'" @click="runDiagnosis(report)"> <BButton size="sm" :variant="report.items ? 'info' : 'success'" @click="runDiagnosis(report)">
<Icon iname="refresh" /> {{ $t('rerun_diagnosis') }} <YIcon iname="refresh" /> {{ $t('rerun_diagnosis') }}
</BButton> </BButton>
</template> </template>
@ -52,7 +52,7 @@
<BListGroup flush> <BListGroup flush>
<!-- REPORT ITEM --> <!-- REPORT ITEM -->
<YunoListGroupItem <YListGroupItem
v-for="(item, i) in report.items" :key="i" v-for="(item, i) in report.items" :key="i"
:variant="item.variant" :Icon="item.Icon" :faded="item.ignored" :variant="item.variant" :Icon="item.Icon" :faded="item.ignored"
> >
@ -64,13 +64,13 @@
v-if="item.ignored" size="sm" v-if="item.ignored" size="sm"
@click="toggleIgnoreIssue('unignore', report, item)" @click="toggleIgnoreIssue('unignore', report, item)"
> >
<Icon iname="bell" /> {{ $t('unignore') }} <YIcon iname="bell" /> {{ $t('unignore') }}
</BButton> </BButton>
<BButton <BButton
v-else-if="item.issue" variant="warning" size="sm" v-else-if="item.issue" variant="warning" size="sm"
@click="toggleIgnoreIssue('ignore', report, item)" @click="toggleIgnoreIssue('ignore', report, item)"
> >
<Icon iname="bell-slash" /> {{ $t('ignore') }} <YIcon iname="bell-slash" /> {{ $t('ignore') }}
</BButton> </BButton>
<BButton <BButton
@ -78,7 +78,7 @@
size="sm" variant="outline-dark" class="ml-lg-2 mt-2 mt-lg-0" size="sm" variant="outline-dark" class="ml-lg-2 mt-2 mt-lg-0"
v-b-toggle="`collapse-${report.id}-item-${i}`" v-b-toggle="`collapse-${report.id}-item-${i}`"
> >
<Icon iname="level-down" /> {{ $t('details') }} <YIcon iname="level-down" /> {{ $t('details') }}
</BButton> </BButton>
</div> </div>
</div> </div>
@ -88,9 +88,9 @@
<li v-for="(detail, index) in item.details" :key="index" v-html="detail" /> <li v-for="(detail, index) in item.details" :key="index" v-html="detail" />
</ul> </ul>
</BCollapse> </BCollapse>
</YunoListGroupItem> </YListGroupItem>
</BListGroup> </BListGroup>
</Card> </YCard>
<template #skeleton> <template #skeleton>
<CardListSkeleton /> <CardListSkeleton />
@ -112,7 +112,7 @@ import { distanceToNow } from '@/helpers/filters/date'
import { DEFAULT_STATUS_ICON } from '@/helpers/yunohostArguments' import { DEFAULT_STATUS_ICON } from '@/helpers/yunohostArguments'
export default { export default {
name: 'Diagnosis', name: 'DiagnosisView',
data () { data () {
return { return {

View file

@ -27,7 +27,7 @@
class="records px-2" :class="{ 'ignored': managed_by_yunohost === false && force !== true }" class="records px-2" :class="{ 'ignored': managed_by_yunohost === false && force !== true }"
:title="managed_by_yunohost === false && force !== true ? $t('domain.dns.auto_config_ignored') : null" :title="managed_by_yunohost === false && force !== true ? $t('domain.dns.auto_config_ignored') : null"
> >
<Icon :iname="icon" :class="'text-' + variant" /> <YIcon :iname="icon" :class="'text-' + variant" />
{{ record }} {{ record }}
<span class="bg-dark text-light px-1 rounded">{{ type }}</span>{{ spaces }} <span class="bg-dark text-light px-1 rounded">{{ type }}</span>{{ spaces }}
<span v-if="old_content"><span class="text-danger">{{ old_content }}</span> --> </span> <span v-if="old_content"><span class="text-danger">{{ old_content }}</span> --> </span>

View file

@ -4,7 +4,7 @@
ref="view" skeleton="CardListSkeleton" ref="view" skeleton="CardListSkeleton"
> >
<!-- INFO CARD --> <!-- INFO CARD -->
<Card v-if="domain" :title="name" icon="globe"> <YCard v-if="domain" :title="name" icon="globe">
<template v-if="isMainDomain" #header-next> <template v-if="isMainDomain" #header-next>
<BBadge variant="info" class="main-domain-badge"> <BBadge variant="info" class="main-domain-badge">
<ExplainWhat <ExplainWhat
@ -12,7 +12,7 @@
:title="$t('domain.types.main_domain')" :title="$t('domain.types.main_domain')"
:content="$t('domain.explain.main_domain', { domain: name })" :content="$t('domain.explain.main_domain', { domain: name })"
> >
<Icon iname="star" /> {{ $t('domain.types.main_domain') }} <YIcon iname="star" /> {{ $t('domain.types.main_domain') }}
</ExplainWhat> </ExplainWhat>
</BBadge> </BBadge>
</template> </template>
@ -20,12 +20,12 @@
<template #header-buttons> <template #header-buttons>
<!-- DEFAULT DOMAIN --> <!-- DEFAULT DOMAIN -->
<BButton v-if="!isMainDomain" @click="setAsDefaultDomain" variant="info"> <BButton v-if="!isMainDomain" @click="setAsDefaultDomain" variant="info">
<Icon iname="star" /> {{ $t('set_default') }} <YIcon iname="star" /> {{ $t('set_default') }}
</BButton> </BButton>
<!-- DELETE DOMAIN --> <!-- DELETE DOMAIN -->
<BButton v-b-modal.delete-modal :disabled="isMainDomain" variant="danger"> <BButton v-b-modal.delete-modal :disabled="isMainDomain" variant="danger">
<Icon iname="trash-o" /> {{ $t('delete') }} <YIcon iname="trash-o" /> {{ $t('delete') }}
</BButton> </BButton>
</template> </template>
@ -38,7 +38,7 @@
<!-- DOMAIN CERT AUTHORITY --> <!-- DOMAIN CERT AUTHORITY -->
<DescriptionRow :term="$t('domain.info.certificate_authority')"> <DescriptionRow :term="$t('domain.info.certificate_authority')">
<Icon :iname="cert.icon" :variant="cert.variant" class="mr-1" /> <YIcon :iname="cert.icon" :variant="cert.variant" class="mr-1" />
{{ $t('domain.cert.types.' + cert.authority) }} {{ $t('domain.cert.types.' + cert.authority) }}
<span class="text-secondary px-2">({{ $t('domain.cert.valid_for', { days: $tc('day_validity', cert.validity) }) }})</span> <span class="text-secondary px-2">({{ $t('domain.cert.valid_for', { days: $tc('day_validity', cert.validity) }) }})</span>
</DescriptionRow> </DescriptionRow>
@ -70,14 +70,14 @@
:href="'https://' + name + app.path" target="_blank" :href="'https://' + name + app.path" target="_blank"
> >
<span class="sr-only">{{ $t('app.visit_app') }}</span> <span class="sr-only">{{ $t('app.visit_app') }}</span>
<Icon iname="external-link" /> <YIcon iname="external-link" />
</BButton> </BButton>
</BButton-group> </BButton-group>
{{ domain.apps.length ? '' : $t('words.none') }} {{ domain.apps.length ? '' : $t('words.none') }}
</div> </div>
</DescriptionRow> </DescriptionRow>
</Card> </YCard>
<ConfigPanels v-if="config.panels" v-bind="config" @submit="onConfigSubmit"> <ConfigPanels v-if="config.panels" v-bind="config" @submit="onConfigSubmit">
<template v-if="currentTab === 'dns'" #tab-after> <template v-if="currentTab === 'dns'" #tab-after>

View file

@ -10,7 +10,7 @@
> >
<template #top-bar-buttons> <template #top-bar-buttons>
<BButton variant="success" :to="{ name: 'domain-add' }"> <BButton variant="success" :to="{ name: 'domain-add' }">
<Icon iname="plus" /> <YIcon iname="plus" />
{{ $t('domain_add') }} {{ $t('domain_add') }}
</BButton> </BButton>
</template> </template>
@ -29,7 +29,7 @@
:title="$t('domain.types.main_domain')" class="ml-1" :title="$t('domain.types.main_domain')" class="ml-1"
v-b-tooltip.hover v-b-tooltip.hover
> >
<Icon iname="star" /> <YIcon iname="star" />
</small> </small>
</h5> </h5>
</div> </div>

View file

@ -10,12 +10,12 @@
> >
<template #top-bar-buttons> <template #top-bar-buttons>
<BButton variant="success" :to="{ name: 'group-create' }"> <BButton variant="success" :to="{ name: 'group-create' }">
<Icon iname="plus" /> {{ $t('group_new') }} <YIcon iname="plus" /> {{ $t('group_new') }}
</BButton> </BButton>
</template> </template>
<!-- PRIMARY GROUPS CARDS --> <!-- PRIMARY GROUPS CARDS -->
<Card <YCard
v-for="(group, groupName) in filteredGroups" :key="groupName" collapsable v-for="(group, groupName) in filteredGroups" :key="groupName" collapsable
:title="group.isSpecial ? $t('group_' + groupName) : `${$t('group')} '${groupName}'`" icon="group" :title="group.isSpecial ? $t('group_' + groupName) : `${$t('group')} '${groupName}'`" icon="group"
> >
@ -25,7 +25,7 @@
v-if="!group.isSpecial" @click="deleteGroup(groupName)" v-if="!group.isSpecial" @click="deleteGroup(groupName)"
size="sm" variant="danger" size="sm" variant="danger"
> >
<Icon iname="trash-o" /> {{ $t('delete') }} <YIcon iname="trash-o" /> {{ $t('delete') }}
</BButton> </BButton>
</template> </template>
@ -37,7 +37,7 @@
<BCol> <BCol>
<template v-if="group.isSpecial"> <template v-if="group.isSpecial">
<p class="text-primary"> <p class="text-primary">
<Icon iname="info-circle" /> {{ $t('group_explain_' + groupName) }} <YIcon iname="info-circle" /> {{ $t('group_explain_' + groupName) }}
</p> </p>
<p class="text-primary" v-if="groupName === 'visitors'"> <p class="text-primary" v-if="groupName === 'visitors'">
<em>{{ $t('group_explain_visitors_needed_for_external_client') }}</em> <em>{{ $t('group_explain_visitors_needed_for_external_client') }}</em>
@ -69,10 +69,10 @@
/> />
</BCol> </BCol>
</BRow> </BRow>
</Card> </YCard>
<!-- USER GROUPS CARD --> <!-- USER GROUPS CARD -->
<Card <YCard
v-if="userGroups" collapsable v-if="userGroups" collapsable
:title="$t('group_specific_permissions')" icon="group" :title="$t('group_specific_permissions')" icon="group"
> >
@ -100,7 +100,7 @@
no-tags items-name="users" no-tags items-name="users"
@tag-update="onSpecificUserAdded" @tag-update="onSpecificUserAdded"
/> />
</Card> </YCard>
</ViewSearch> </ViewSearch>
</template> </template>

View file

@ -4,23 +4,23 @@
ref="view" skeleton="CardInfoSkeleton" ref="view" skeleton="CardInfoSkeleton"
> >
<!-- INFO CARD --> <!-- INFO CARD -->
<Card :title="name" icon="info-circle" button-unbreak="sm"> <YCard :title="name" icon="info-circle" button-unbreak="sm">
<template #header-buttons> <template #header-buttons>
<template v-if="infos.status === 'running'"> <template v-if="infos.status === 'running'">
<!-- RESTART SERVICE --> <!-- RESTART SERVICE -->
<BButton @click="updateService('restart')" variant="warning"> <BButton @click="updateService('restart')" variant="warning">
<Icon iname="refresh" /> {{ $t('restart') }} <YIcon iname="refresh" /> {{ $t('restart') }}
</BButton> </BButton>
<!-- STOP SERVICE --> <!-- STOP SERVICE -->
<BButton v-if="!isCritical" @click="updateService('stop')" variant="danger"> <BButton v-if="!isCritical" @click="updateService('stop')" variant="danger">
<Icon iname="warning" /> {{ $t('stop') }} <YIcon iname="warning" /> {{ $t('stop') }}
</BButton> </BButton>
</template> </template>
<!-- START SERVICE --> <!-- START SERVICE -->
<BButton v-else @click="updateService('start')" variant="success"> <BButton v-else @click="updateService('start')" variant="success">
<Icon iname="play" /> {{ $t('start') }} <YIcon iname="play" /> {{ $t('start') }}
</BButton> </BButton>
</template> </template>
@ -34,7 +34,7 @@
<BCol> <BCol>
<template v-if="key === 'status'"> <template v-if="key === 'status'">
<span :class="value === 'running' ? 'text-success' : 'text-danger'"> <span :class="value === 'running' ? 'text-success' : 'text-danger'">
<Icon :iname="value === 'running' ? 'check-circle' : 'times'" /> <YIcon :iname="value === 'running' ? 'check-circle' : 'times'" />
{{ $t(value) }} {{ $t(value) }}
</span> </span>
{{ $t('since') }} {{ uptime | distanceToNow }} {{ $t('since') }} {{ uptime | distanceToNow }}
@ -47,13 +47,13 @@
<span v-else v-t="value" /> <span v-else v-t="value" />
</BCol> </BCol>
</BRow> </BRow>
</Card> </YCard>
<!-- LOGS CARD --> <!-- LOGS CARD -->
<Card :title="$t('logs')" icon="book" button-unbreak="sm"> <YCard :title="$t('logs')" icon="book" button-unbreak="sm">
<template #header-buttons> <template #header-buttons>
<BButton variant="success" @click="shareLogs"> <BButton variant="success" @click="shareLogs">
<Icon iname="cloud-upload" /> {{ $t('logs_share_with_yunopaste') }} <YIcon iname="cloud-upload" /> {{ $t('logs_share_with_yunopaste') }}
</BButton> </BButton>
</template> </template>
@ -64,7 +64,7 @@
<pre :key="i + '-content'" class="log"><code>{{ content }}</code></pre> <pre :key="i + '-content'" class="log"><code>{{ content }}</code></pre>
</template> </template>
</Card> </YCard>
</ViewBase> </ViewBase>
</template> </template>

View file

@ -21,14 +21,14 @@
</h5> </h5>
<p class="m-0"> <p class="m-0">
<span :class="status === 'running' ? 'text-success' : 'text-danger'"> <span :class="status === 'running' ? 'text-success' : 'text-danger'">
<Icon :iname="status === 'running' ? 'check-circle' : 'times'" /> <YIcon :iname="status === 'running' ? 'check-circle' : 'times'" />
{{ $t(status) }} {{ $t(status) }}
</span> </span>
{{ $t('since') }} {{ last_state_change | distanceToNow }} {{ $t('since') }} {{ last_state_change | distanceToNow }}
</p> </p>
</div> </div>
<Icon iname="chevron-right" class="lg fs-sm ml-auto" /> <YIcon iname="chevron-right" class="lg fs-sm ml-auto" />
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</ViewSearch> </ViewSearch>

View file

@ -4,7 +4,7 @@
ref="view" skeleton="CardFormSkeleton" ref="view" skeleton="CardFormSkeleton"
> >
<!-- PORTS --> <!-- PORTS -->
<Card :title="$t('ports')" icon="shield"> <YCard :title="$t('ports')" icon="shield">
<div v-for="(items, protocol) in protocols" :key="protocol"> <div v-for="(items, protocol) in protocols" :key="protocol">
<h5>{{ $t(protocol) }}</h5> <h5>{{ $t(protocol) }}</h5>
@ -31,7 +31,7 @@
</span> </span>
</BFormCheckbox> </BFormCheckbox>
<Icon <YIcon
v-else v-else
:iname="data.value ? 'check' : 'times'" :iname="data.value ? 'check' : 'times'"
:class="data.value ? 'text-success' : 'text-danger'" :class="data.value ? 'text-success' : 'text-danger'"
@ -39,7 +39,7 @@
</template> </template>
</BTable> </BTable>
</div> </div>
</Card> </YCard>
<!-- OPERATIONS --> <!-- OPERATIONS -->
<CardForm <CardForm
@ -71,7 +71,7 @@
</CardForm> </CardForm>
<!-- UPnP --> <!-- UPnP -->
<Card :title="$t('upnp')" icon="exchange" :body-text-variant="upnpEnabled ? 'success' : 'danger'"> <YCard :title="$t('upnp')" icon="exchange" :body-text-variant="upnpEnabled ? 'success' : 'danger'">
{{ $t(upnpEnabled ? 'upnp_enabled' : 'upnp_disabled' ) }} {{ $t(upnpEnabled ? 'upnp_enabled' : 'upnp_disabled' ) }}
<BFormInvalidFeedback :state="upnpError !== '' ? false : null"> <BFormInvalidFeedback :state="upnpError !== '' ? false : null">
@ -83,7 +83,7 @@
{{ $t(!upnpEnabled ? 'enable' : 'disable' ) }} {{ $t(!upnpEnabled ? 'enable' : 'disable' ) }}
</BButton> </BButton>
</template> </template>
</Card> </YCard>
</ViewBase> </ViewBase>
</template> </template>

View file

@ -1,4 +1,4 @@
<!-- FIXME make a component shared with Home.vue ? --> <!-- FIXME make a component shared with HomeView.vue ? -->
<template> <template>
<BListGroup class="menu-list"> <BListGroup class="menu-list">
<BListGroupItem <BListGroupItem
@ -6,9 +6,9 @@
:key="item.routeName" :key="item.routeName"
:to="{name: item.routeName}" :to="{name: item.routeName}"
> >
<Icon :iname="item.icon" class="lg ml-1" /> <YIcon :iname="item.icon" class="lg ml-1" />
<h4>{{ $t(item.translation) }}</h4> <h4>{{ $t(item.translation) }}</h4>
<Icon iname="chevron-right" class="lg fs-sm ml-auto" /> <YIcon iname="chevron-right" class="lg fs-sm ml-auto" />
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</template> </template>

View file

@ -4,7 +4,7 @@
ref="view" skeleton="CardInfoSkeleton" ref="view" skeleton="CardInfoSkeleton"
> >
<!-- INFO CARD --> <!-- INFO CARD -->
<Card :title="description" icon="info-circle"> <YCard :title="description" icon="info-circle">
<BRow <BRow
v-for="(value, prop) in info" :key="prop" v-for="(value, prop) in info" :key="prop"
no-gutters class="row-line" no-gutters class="row-line"
@ -18,7 +18,7 @@
<div v-else-if="prop === 'suboperations'"> <div v-else-if="prop === 'suboperations'">
<div v-for="operation in value" :key="operation.name"> <div v-for="operation in value" :key="operation.name">
<Icon v-if="operation.success !== true" iname="times" class="text-danger" /> <YIcon v-if="operation.success !== true" iname="times" class="text-danger" />
<BLink :to="{ name: 'tool-log', params: { name: operation.name } }"> <BLink :to="{ name: 'tool-log', params: { name: operation.name } }">
{{ operation.description }} {{ operation.description }}
</BLink> </BLink>
@ -28,17 +28,17 @@
<span v-else>{{ value }}</span> <span v-else>{{ value }}</span>
</BCol> </BCol>
</BRow> </BRow>
</Card> </YCard>
<div v-if="info.error" class="alert alert-danger my-5"> <div v-if="info.error" class="alert alert-danger my-5">
<Icon iname="exclamation-circle" /> <span v-html="$t('operation_failed_explanation')" /> <YIcon iname="exclamation-circle" /> <span v-html="$t('operation_failed_explanation')" />
</div> </div>
<!-- LOGS CARD --> <!-- LOGS CARD -->
<Card :title="$t('logs')" icon="file-text" no-body> <YCard :title="$t('logs')" icon="file-text" no-body>
<template #header-buttons> <template #header-buttons>
<BButton @click="shareLogs" variant="success"> <BButton @click="shareLogs" variant="success">
<Icon iname="cloud-upload" /> {{ $t('logs_share_with_yunopaste') }} <YIcon iname="cloud-upload" /> {{ $t('logs_share_with_yunopaste') }}
</BButton> </BButton>
</template> </template>
@ -47,14 +47,14 @@
variant="white" class="w-100 rounded-0" variant="white" class="w-100 rounded-0"
@click="$refs.view.fetchQueries()" @click="$refs.view.fetchQueries()"
> >
<Icon iname="plus" /> {{ $t('logs_more') }} <YIcon iname="plus" /> {{ $t('logs_more') }}
</BButton> </BButton>
<pre class="log unselectable"><code v-html="logs" /></pre> <pre class="log unselectable"><code v-html="logs" /></pre>
<BButton @click="shareLogs" variant="success" class="w-100 rounded-0"> <BButton @click="shareLogs" variant="success" class="w-100 rounded-0">
<Icon iname="cloud-upload" /> {{ $t('logs_share_with_yunopaste') }} <YIcon iname="cloud-upload" /> {{ $t('logs_share_with_yunopaste') }}
</BButton> </BButton>
</Card> </YCard>
<p class="w-100 px-5 py-2 mb-0" v-html="$t('text_selection_is_disabled')" /> <p class="w-100 px-5 py-2 mb-0" v-html="$t('text_selection_is_disabled')" />

View file

@ -8,7 +8,7 @@
@queries-response="onQueriesResponse" @queries-response="onQueriesResponse"
skeleton="CardListSkeleton" skeleton="CardListSkeleton"
> >
<Card :title="$t('logs_operation')" icon="wrench" no-body> <YCard :title="$t('logs_operation')" icon="wrench" no-body>
<BListGroup flush> <BListGroup flush>
<BListGroupItem <BListGroupItem
v-for="log in filteredOperations" :key="log.name" v-for="log in filteredOperations" :key="log.name"
@ -16,11 +16,11 @@
:title="log.started_at | readableDate" :title="log.started_at | readableDate"
> >
<small class="mr-3">{{ log.started_at | distanceToNow }} </small> <small class="mr-3">{{ log.started_at | distanceToNow }} </small>
<Icon :iname="log.icon" :class="'text-' + log.class" /> <YIcon :iname="log.icon" :class="'text-' + log.class" />
{{ log.description }} {{ log.description }}
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</Card> </YCard>
</ViewSearch> </ViewSearch>
</template> </template>

View file

@ -1,16 +1,16 @@
<template> <template>
<ViewBase :queries="queries" @queries-response="onQueriesResponse" ref="view"> <ViewBase :queries="queries" @queries-response="onQueriesResponse" ref="view">
<!-- PENDING MIGRATIONS --> <!-- PENDING MIGRATIONS -->
<Card :title="$t('migrations_pending')" icon="cogs" no-body> <YCard :title="$t('migrations_pending')" icon="cogs" no-body>
<template #header-buttons v-if="pending"> <template #header-buttons v-if="pending">
<BButton size="sm" variant="success" @click="runMigrations"> <BButton size="sm" variant="success" @click="runMigrations">
<Icon iname="play" /> {{ $t('run') }} <YIcon iname="play" /> {{ $t('run') }}
</BButton> </BButton>
</template> </template>
<BCardBody v-if="pending === null"> <BCardBody v-if="pending === null">
<span class="text-success"> <span class="text-success">
<Icon iname="check-circle" /> {{ $t('migrations_no_pending') }} <YIcon iname="check-circle" /> {{ $t('migrations_no_pending') }}
</span> </span>
</BCardBody> </BCardBody>
@ -23,7 +23,7 @@
<div class="ml-auto"> <div class="ml-auto">
<BButton @click="skipMigration(id)" size="sm" variant="warning"> <BButton @click="skipMigration(id)" size="sm" variant="warning">
<Icon iname="close" /> {{ $t('skip') }} <YIcon iname="close" /> {{ $t('skip') }}
</BButton> </BButton>
</div> </div>
</div> </div>
@ -49,16 +49,16 @@
</template> </template>
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</Card> </YCard>
<!-- DONE MIGRATIONS --> <!-- DONE MIGRATIONS -->
<Card <YCard
:title="$t('migrations_done')" icon="cogs" :title="$t('migrations_done')" icon="cogs"
collapsable collapsed no-body collapsable collapsed no-body
> >
<BCardBody v-if="done === null"> <BCardBody v-if="done === null">
<span class="text-success"> <span class="text-success">
<Icon iname="check-circle" /> {{ $t('migrations_no_done') }} <YIcon iname="check-circle" /> {{ $t('migrations_no_done') }}
</span> </span>
</BCardBody> </BCardBody>
@ -67,7 +67,7 @@
{{ number }}. {{ description }} {{ number }}. {{ description }}
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</Card> </YCard>
<template #skeleton> <template #skeleton>
<CardListSkeleton :item-count="3" /> <CardListSkeleton :item-count="3" />

View file

@ -1,12 +1,12 @@
<template> <template>
<Card :title="$t('operations')" icon="wrench"> <YCard :title="$t('operations')" icon="wrench">
<!-- REBOOT --> <!-- REBOOT -->
<BFormGroup <BFormGroup
label-cols="5" label-cols-md="4" label-cols-lg="3" label-cols="5" label-cols-md="4" label-cols-lg="3"
:label="$t('tools_reboot')" label-for="reboot" :label="$t('tools_reboot')" label-for="reboot"
> >
<BButton @click="triggerAction('reboot')" variant="danger" id="reboot"> <BButton @click="triggerAction('reboot')" variant="danger" id="reboot">
<Icon iname="refresh" /> {{ $t('tools_reboot_btn') }} <YIcon iname="refresh" /> {{ $t('tools_reboot_btn') }}
</BButton> </BButton>
</BFormGroup> </BFormGroup>
<hr> <hr>
@ -17,10 +17,10 @@
:label="$t('tools_shutdown')" label-for="shutdown" :label="$t('tools_shutdown')" label-for="shutdown"
> >
<BButton @click="triggerAction('shutdown')" variant="danger" id="shutdown"> <BButton @click="triggerAction('shutdown')" variant="danger" id="shutdown">
<Icon iname="power-off" /> {{ $t('tools_shutdown_btn') }} <YIcon iname="power-off" /> {{ $t('tools_shutdown_btn') }}
</BButton> </BButton>
</BFormGroup> </BFormGroup>
</Card> </YCard>
</template> </template>
<script> <script>

View file

@ -4,17 +4,17 @@
skeleton="CardListSkeleton" skeleton="CardListSkeleton"
> >
<!-- MIGRATIONS WARN --> <!-- MIGRATIONS WARN -->
<YunoAlert v-if="pendingMigrations" variant="warning" alert> <YAlert v-if="pendingMigrations" variant="warning" alert>
<span v-html="$t('pending_migrations')" /> <span v-html="$t('pending_migrations')" />
</YunoAlert> </YAlert>
<!-- MAJOR YUNOHOST UPGRADE WARN --> <!-- MAJOR YUNOHOST UPGRADE WARN -->
<YunoAlert v-if="importantYunohostUpgrade" variant="warning" alert> <YAlert v-if="importantYunohostUpgrade" variant="warning" alert>
<span v-html="$t('important_yunohost_upgrade')" /> <span v-html="$t('important_yunohost_upgrade')" />
</YunoAlert> </YAlert>
<!-- SYSTEM UPGRADE --> <!-- SYSTEM UPGRADE -->
<Card :title="$t('system')" icon="server" no-body> <YCard :title="$t('system')" icon="server" no-body>
<BListGroup v-if="system" flush> <BListGroup v-if="system" flush>
<BListGroupItem v-for="{ name, current_version, new_version } in system" :key="name"> <BListGroupItem v-for="{ name, current_version, new_version } in system" :key="name">
<h5 class="m-0"> <h5 class="m-0">
@ -25,7 +25,7 @@
</BListGroup> </BListGroup>
<BCardBody v-else-if="system === null"> <BCardBody v-else-if="system === null">
<span class="text-success"><Icon iname="check-circle" /> {{ $t('system_packages_nothing') }}</span> <span class="text-success"><YIcon iname="check-circle" /> {{ $t('system_packages_nothing') }}</span>
</BCardBody> </BCardBody>
<template #buttons v-if="system"> <template #buttons v-if="system">
@ -34,10 +34,10 @@
@click="performSystemUpgrade()" @click="performSystemUpgrade()"
/> />
</template> </template>
</Card> </YCard>
<!-- APPS UPGRADE --> <!-- APPS UPGRADE -->
<Card :title="$t('applications')" icon="cubes" no-body> <YCard :title="$t('applications')" icon="cubes" no-body>
<BListGroup v-if="apps" flush> <BListGroup v-if="apps" flush>
<BListGroupItem <BListGroupItem
v-for="{ name, id, current_version, new_version } in apps" :key="id" v-for="{ name, id, current_version, new_version } in apps" :key="id"
@ -56,7 +56,7 @@
</BListGroup> </BListGroup>
<BCardBody v-else-if="apps === null"> <BCardBody v-else-if="apps === null">
<span class="text-success"><Icon iname="check-circle" /> {{ $t('system_apps_nothing') }}</span> <span class="text-success"><YIcon iname="check-circle" /> {{ $t('system_apps_nothing') }}</span>
</BCardBody> </BCardBody>
<template #buttons v-if="apps"> <template #buttons v-if="apps">
@ -65,7 +65,7 @@
@click="confirmAppsUpgrade()" @click="confirmAppsUpgrade()"
/> />
</template> </template>
</Card> </YCard>
<BModal <BModal
id="apps-pre-upgrade" id="apps-pre-upgrade"
@ -90,9 +90,9 @@
{{ $t('app.upgrade.notifs.pre.title') }} {{ $t('app.upgrade.notifs.pre.title') }}
</h3> </h3>
<YunoAlert variant="warning"> <YAlert variant="warning">
{{ $t('app.upgrade.notifs.pre.alert' ) }} {{ $t('app.upgrade.notifs.pre.alert' ) }}
</YunoAlert> </YAlert>
<div class="card-collapse-wrapper"> <div class="card-collapse-wrapper">
<CardCollapse <CardCollapse

View file

@ -47,13 +47,13 @@
</FormField> </FormField>
<BButton variant="danger" @click="removeEmailField('aliases', i)"> <BButton variant="danger" @click="removeEmailField('aliases', i)">
<Icon :title="$t('delete')" iname="trash-o" /> <YIcon :title="$t('delete')" iname="trash-o" />
<span class="sr-only">{{ $t('delete') }}</span> <span class="sr-only">{{ $t('delete') }}</span>
</BButton> </BButton>
</div> </div>
<BButton variant="success" @click="addEmailField('aliases')"> <BButton variant="success" @click="addEmailField('aliases')">
<Icon iname="plus" /> {{ $t('user_emailaliases_add') }} <YIcon iname="plus" /> {{ $t('user_emailaliases_add') }}
</BButton> </BButton>
</FormField> </FormField>
@ -70,13 +70,13 @@
/> />
<BButton variant="danger" @click="removeEmailField('forward', i)"> <BButton variant="danger" @click="removeEmailField('forward', i)">
<Icon :title="$t('delete')" iname="trash-o" /> <YIcon :title="$t('delete')" iname="trash-o" />
<span class="sr-only">{{ $t('delete') }}</span> <span class="sr-only">{{ $t('delete') }}</span>
</BButton> </BButton>
</div> </div>
<BButton variant="success" @click="addEmailField('forward')"> <BButton variant="success" @click="addEmailField('forward')">
<Icon iname="plus" /> {{ $t('user_emailforward_add') }} <YIcon iname="plus" /> {{ $t('user_emailforward_add') }}
</BButton> </BButton>
</FormField> </FormField>
<hr> <hr>

View file

@ -1,8 +1,8 @@
<template> <template>
<ViewBase :queries="queries" skeleton="CardInfoSkeleton"> <ViewBase :queries="queries" skeleton="CardInfoSkeleton">
<Card v-if="user" :title="user.fullname" icon="user"> <YCard v-if="user" :title="user.fullname" icon="user">
<div class="d-flex align-items-center flex-column flex-md-row"> <div class="d-flex align-items-center flex-column flex-md-row">
<Icon iname="user" class="fa-fw" /> <YIcon iname="user" class="fa-fw" />
<div class="w-100"> <div class="w-100">
<BRow> <BRow>
@ -47,16 +47,16 @@
<template #buttons> <template #buttons>
<BButton :to="{ name: 'user-edit', params: { user } }" :variant="user ? 'info' : 'dark'"> <BButton :to="{ name: 'user-edit', params: { user } }" :variant="user ? 'info' : 'dark'">
<Icon iname="edit" /> <YIcon iname="edit" />
{{ user ? $t('user_username_edit', {name: user.username}) : '' }} {{ user ? $t('user_username_edit', {name: user.username}) : '' }}
</BButton> </BButton>
<BButton v-b-modal.delete-modal :variant="user ? 'danger' : 'dark'"> <BButton v-b-modal.delete-modal :variant="user ? 'danger' : 'dark'">
<Icon iname="trash-o" /> <YIcon iname="trash-o" />
{{ user ? $t('delete') : '' }} {{ user ? $t('delete') : '' }}
</BButton> </BButton>
</template> </template>
</Card> </YCard>
<BModal <BModal
v-if="user" v-if="user"
@ -70,7 +70,7 @@
<template #description> <template #description>
<div class="alert alert-warning"> <div class="alert alert-warning">
<Icon iname="exclamation-triangle" /> {{ $t('purge_user_data_warning') }} <YIcon iname="exclamation-triangle" /> {{ $t('purge_user_data_warning') }}
</div> </div>
</template> </template>
</BFormGroup> </BFormGroup>

View file

@ -8,7 +8,7 @@
> >
<template #top-bar-buttons> <template #top-bar-buttons>
<BButton variant="info" :to="{ name: 'group-list' }"> <BButton variant="info" :to="{ name: 'group-list' }">
<Icon iname="key-modern" /> {{ $t('groups_and_permissions_manage') }} <YIcon iname="key-modern" /> {{ $t('groups_and_permissions_manage') }}
</BButton> </BButton>
<BDropdown <BDropdown
@ -17,13 +17,13 @@
split-variant="success" split-variant="success"
> >
<template #button-content> <template #button-content>
<Icon iname="plus" /> {{ $t('users_new') }} <YIcon iname="plus" /> {{ $t('users_new') }}
</template> </template>
<BDropdownItem :to="{ name: 'user-import' }"> <BDropdownItem :to="{ name: 'user-import' }">
<Icon iname="plus" /> {{ $t('users_import') }} <YIcon iname="plus" /> {{ $t('users_import') }}
</BDropdownItem> </BDropdownItem>
<BDropdownItem @click="downloadExport"> <BDropdownItem @click="downloadExport">
<Icon iname="download" /> {{ $t('users_export') }} <YIcon iname="download" /> {{ $t('users_export') }}
</BDropdownItem> </BDropdownItem>
</BDropdown> </BDropdown>
</template> </template>
@ -43,7 +43,7 @@
{{ user.mail }} {{ user.mail }}
</p> </p>
</div> </div>
<Icon iname="chevron-right" class="lg fs-sm ml-auto" /> <YIcon iname="chevron-right" class="lg fs-sm ml-auto" />
</BListGroupItem> </BListGroupItem>
</BListGroup> </BListGroup>
</ViewSearch> </ViewSearch>