Merge pull request #344 from YunoHost/fix-4.2

misc fixes for 4.2
This commit is contained in:
Alexandre Aubin 2021-04-08 15:43:46 +02:00 committed by GitHub
commit 0943d39817
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 109 additions and 125 deletions

View file

@ -210,7 +210,7 @@ main {
} }
footer { footer {
border-top: 1px solid #eee; border-top: $thin-border;
font-size: $font-size-sm; font-size: $font-size-sm;
margin-top: 2rem; margin-top: 2rem;

View file

@ -98,6 +98,7 @@ div {
height: 1.25rem; height: 1.25rem;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center;
min-width: 70px; min-width: 70px;
} }

View file

@ -54,7 +54,7 @@
"disable": "تعطيل", "disable": "تعطيل",
"dns": "خدمة أسماء النطاقات", "dns": "خدمة أسماء النطاقات",
"domain_add": "إضافة نطاق", "domain_add": "إضافة نطاق",
"domain_add_dns_doc": "… و قد قُمتُ <a href='//yunohost.org/dns_config'>بإعداد خدمة أسماء النطاقات بصورة صحيحة</a>.", "domain_add_dns_doc": "… و قد قُمتُ <a href='//yunohost.org/dns_config' target='_blank'>بإعداد خدمة أسماء النطاقات بصورة صحيحة</a>.",
"domain_add_dyndns_doc": "... و إني أريد الحصول على خدمة أسماء النطاقات الديناميكي.", "domain_add_dyndns_doc": "... و إني أريد الحصول على خدمة أسماء النطاقات الديناميكي.",
"domain_add_panel_with_domain": "عندي إسم نطاق …", "domain_add_panel_with_domain": "عندي إسم نطاق …",
"domain_add_panel_without_domain": "لا أمتلك إسم نطاق …", "domain_add_panel_without_domain": "لا أمتلك إسم نطاق …",

View file

@ -55,7 +55,7 @@
"disable": "Desactivar", "disable": "Desactivar",
"dns": "DNS", "dns": "DNS",
"domain_add": "Afegir domini", "domain_add": "Afegir domini",
"domain_add_dns_doc": "... i he <a href='//yunohost.org/dns_config'> configurat el meu DNS correctament</a>.", "domain_add_dns_doc": "... i he <a href='//yunohost.org/dns_config' target='_blank'> configurat el meu DNS correctament</a>.",
"domain_add_dyndns_doc": "... i vull uns servei de DNS dinàmic.", "domain_add_dyndns_doc": "... i vull uns servei de DNS dinàmic.",
"domain_add_panel_with_domain": "Ja tinc un nom de domini…", "domain_add_panel_with_domain": "Ja tinc un nom de domini…",
"domain_add_panel_without_domain": "No tinc un nom de domini…", "domain_add_panel_without_domain": "No tinc un nom de domini…",

View file

@ -35,7 +35,7 @@
"description": "Beschreibung", "description": "Beschreibung",
"disable": "Deaktivieren", "disable": "Deaktivieren",
"domain_add": "Domain hinzufügen", "domain_add": "Domain hinzufügen",
"domain_add_dns_doc": "... und ich habe <a href='//yunohost.org/dns_config'>meine DNS Einstellung richtig hinterlegt</a>.", "domain_add_dns_doc": "... und ich habe <a href='//yunohost.org/dns_config' target='_blank'>meine DNS Einstellung richtig hinterlegt</a>.",
"domain_add_dyndns_doc": "... und ich möchte einen Dienst für dynamisches DNS nutzen.", "domain_add_dyndns_doc": "... und ich möchte einen Dienst für dynamisches DNS nutzen.",
"domain_add_panel_with_domain": "Ich habe schon eine Domain…", "domain_add_panel_with_domain": "Ich habe schon eine Domain…",
"domain_add_panel_without_domain": "Ich habe keine Domain…", "domain_add_panel_without_domain": "Ich habe keine Domain…",

View file

@ -65,7 +65,7 @@
"app_state_lowquality": "low quality", "app_state_lowquality": "low quality",
"app_state_lowquality_explanation": "This app may be functional, but may still contain issues, or is not fully integrated with YunoHost, or it does not respect the good practices.", "app_state_lowquality_explanation": "This app may be functional, but may still contain issues, or is not fully integrated with YunoHost, or it does not respect the good practices.",
"app_state_highquality": "high quality", "app_state_highquality": "high quality",
"app_state_highquality_explanation": "This app is well-integrated with YunoHost. It has been (and is!) peer-reviewed by the YunoHost app team. It can be expected to be safe and maintained on the long-term.", "app_state_highquality_explanation": "This app is well-integrated with YunoHost since at least a year.",
"app_state_working": "working", "app_state_working": "working",
"app_state_working_explanation": "The maintainer of this app declared it as 'working'. It means that it should be functional (c.f. application level) but is not necessarily peer-reviewed, it may still contain issues or is not fully integrated with YunoHost.", "app_state_working_explanation": "The maintainer of this app declared it as 'working'. It means that it should be functional (c.f. application level) but is not necessarily peer-reviewed, it may still contain issues or is not fully integrated with YunoHost.",
"applications": "Applications", "applications": "Applications",
@ -131,7 +131,7 @@
"disabled": "Disabled", "disabled": "Disabled",
"dns": "DNS", "dns": "DNS",
"domain_add": "Add domain", "domain_add": "Add domain",
"domain_add_dns_doc": "… and I have <a href='//yunohost.org/dns_config'>set my DNS correctly</a>.", "domain_add_dns_doc": "… and I have <a href='//yunohost.org/dns_config' target='_blank'>set my DNS correctly</a>.",
"domain_add_dyndns_doc": "… and I want a dynamic DNS service.", "domain_add_dyndns_doc": "… and I want a dynamic DNS service.",
"domain_add_dyndns_forbidden": "You have already subscribed to a DynDNS domain, you can ask to remove your current DynDNS domain on the forum <a href='//forum.yunohost.org/t/nohost-domain-recovery-suppression-de-domaine-en-nohost-me-noho-st-et-ynh-fr/442'>in the dedicated thread</a>.", "domain_add_dyndns_forbidden": "You have already subscribed to a DynDNS domain, you can ask to remove your current DynDNS domain on the forum <a href='//forum.yunohost.org/t/nohost-domain-recovery-suppression-de-domaine-en-nohost-me-noho-st-et-ynh-fr/442'>in the dedicated thread</a>.",
"domain_add_panel_with_domain": "I already have a domain name…", "domain_add_panel_with_domain": "I already have a domain name…",
@ -314,7 +314,7 @@
"logs_more": "Display more lines", "logs_more": "Display more lines",
"pending_migrations": "There are some pending migrations waiting to be ran. Please go to the <a href='#/tools/migrations'>Tools > Migrations</a> view to run them.", "pending_migrations": "There are some pending migrations waiting to be ran. Please go to the <a href='#/tools/migrations'>Tools > Migrations</a> view to run them.",
"permission_corresponding_url": "Corresponding URL", "permission_corresponding_url": "Corresponding URL",
"permission_main": "Main permission", "permission_main": "Main label",
"permission_show_tile_enabled": "Visible as tile in user portal", "permission_show_tile_enabled": "Visible as tile in user portal",
"port": "Port", "port": "Port",
"ports": "Ports", "ports": "Ports",
@ -414,8 +414,7 @@
"warnings": "{count} warnings", "warnings": "{count} warnings",
"words": { "words": {
"collapse": "Collapse", "collapse": "Collapse",
"default": "Default", "default": "Default"
"dismiss": "Dismiss"
}, },
"wrong_password": "Wrong password", "wrong_password": "Wrong password",
"yes": "Yes", "yes": "Yes",

View file

@ -64,7 +64,7 @@
"mailbox_quota_placeholder": "Lasu malplenan aŭ agordi al 0 por malaktivigi.", "mailbox_quota_placeholder": "Lasu malplenan aŭ agordi al 0 por malaktivigi.",
"domain_default_desc": "La defaŭlta domajno estas la konekta domajno, kie uzantoj ensalutas.", "domain_default_desc": "La defaŭlta domajno estas la konekta domajno, kie uzantoj ensalutas.",
"domain_dns_longdesc": "Vidu DNS-agordon", "domain_dns_longdesc": "Vidu DNS-agordon",
"domain_add_dns_doc": "... kaj mi <a href='//yunohost.org/dns_config'> agordis mian DNS ĝuste </a>.", "domain_add_dns_doc": "... kaj mi <a href='//yunohost.org/dns_config' target='_blank'> agordis mian DNS ĝuste </a>.",
"confirm_update_apps": "Ĉu vi certas, ke vi volas ĝisdatigi ĉiujn aplikojn ?", "confirm_update_apps": "Ĉu vi certas, ke vi volas ĝisdatigi ĉiujn aplikojn ?",
"confirm_install_custom_app": "AVERTO! Instali aplikojn de tria partio eble kompromitos la integrecon kaj sekurecon de via sistemo. Vi probable ne devas instali ĝin krom se vi scias kion vi faras. Ĉu vi pretas riski tion?", "confirm_install_custom_app": "AVERTO! Instali aplikojn de tria partio eble kompromitos la integrecon kaj sekurecon de via sistemo. Vi probable ne devas instali ĝin krom se vi scias kion vi faras. Ĉu vi pretas riski tion?",
"add": "Aldoni", "add": "Aldoni",

View file

@ -40,7 +40,7 @@
"disable": "Inhabilitar", "disable": "Inhabilitar",
"dns": "DNS", "dns": "DNS",
"domain_add": "Añadir dominio", "domain_add": "Añadir dominio",
"domain_add_dns_doc": "... y tengo <a href='//yunohost.org/dns_config'>mi DNS correctamente configurado</a>.", "domain_add_dns_doc": "... y tengo <a href='//yunohost.org/dns_config' target='_blank'>mi DNS correctamente configurado</a>.",
"domain_add_dyndns_doc": "…y quiero un servicio de DNS dinámico.", "domain_add_dyndns_doc": "…y quiero un servicio de DNS dinámico.",
"domain_add_panel_with_domain": "Ya tengo un nombre de dominio…", "domain_add_panel_with_domain": "Ya tengo un nombre de dominio…",
"domain_add_panel_without_domain": "No tengo un nombre de dominio…", "domain_add_panel_without_domain": "No tengo un nombre de dominio…",

View file

@ -40,7 +40,7 @@
"disable": "Désactiver", "disable": "Désactiver",
"dns": "DNS", "dns": "DNS",
"domain_add": "Ajouter un domaine", "domain_add": "Ajouter un domaine",
"domain_add_dns_doc": "… et j'ai <a href='//yunohost.org/dns_config'>configuré mes DNS correctement</a>.", "domain_add_dns_doc": "… et j'ai <a href='//yunohost.org/dns_config' target='_blank'>configuré mes DNS correctement</a>.",
"domain_add_dyndns_doc": "… et je souhaite ajouter un service DNS dynamique.", "domain_add_dyndns_doc": "… et je souhaite ajouter un service DNS dynamique.",
"domain_add_panel_with_domain": "J'ai déjà un nom de domaine …", "domain_add_panel_with_domain": "J'ai déjà un nom de domaine …",
"domain_add_panel_without_domain": "Je n'ai pas de nom de domaine …", "domain_add_panel_without_domain": "Je n'ai pas de nom de domaine …",

View file

@ -29,7 +29,7 @@
"description": "Descrizione", "description": "Descrizione",
"disable": "Disabilita", "disable": "Disabilita",
"domain_add": "Aggiungi dominio", "domain_add": "Aggiungi dominio",
"domain_add_dns_doc": "… e ho <a href='//yunohost.org/dns_config'>correttamente impostato il mio DNS</a>.", "domain_add_dns_doc": "… e ho <a href='//yunohost.org/dns_config' target='_blank'>correttamente impostato il mio DNS</a>.",
"domain_add_dyndns_doc": "... e voglio un servizio DNS dinamico.", "domain_add_dyndns_doc": "... e voglio un servizio DNS dinamico.",
"domain_add_panel_with_domain": "Ho già un nome di domino…", "domain_add_panel_with_domain": "Ho già un nome di domino…",
"domain_add_panel_without_domain": "Non ho un nome di domino…", "domain_add_panel_without_domain": "Non ho un nome di domino…",

View file

@ -35,7 +35,7 @@
"description": "Beschrijving", "description": "Beschrijving",
"disable": "Uitschakelen", "disable": "Uitschakelen",
"domain_add": "Domeinnaam toevoegen", "domain_add": "Domeinnaam toevoegen",
"domain_add_dns_doc": "... en ik heb <a href='//yunohost.org/dns_config'>mijn DNS correct ingesteld</a>.", "domain_add_dns_doc": "... en ik heb <a href='//yunohost.org/dns_config' target='_blank'>mijn DNS correct ingesteld</a>.",
"domain_add_dyndns_doc": "... en ik wil een dynamische DNS-dienst (Dynamic DNS).", "domain_add_dyndns_doc": "... en ik wil een dynamische DNS-dienst (Dynamic DNS).",
"domain_add_panel_with_domain": "Ik heb al een domeinnaam…", "domain_add_panel_with_domain": "Ik heb al een domeinnaam…",
"domain_add_panel_without_domain": "Ik heb nog geen domeinnaam…", "domain_add_panel_without_domain": "Ik heb nog geen domeinnaam…",

View file

@ -54,7 +54,7 @@
"disable": "Desactivar", "disable": "Desactivar",
"dns": "DNS", "dns": "DNS",
"domain_add": "Ajustar un domeni", "domain_add": "Ajustar un domeni",
"domain_add_dns_doc": "… e ai <a href='//yunohost.org/dns_config'>>corrèctament configurat mos DNS</a>.", "domain_add_dns_doc": "… e ai <a href='//yunohost.org/dns_config' target='_blank'>>corrèctament configurat mos DNS</a>.",
"domain_add_dyndns_doc": "… e desiri un nom de domeni preconfigurat.", "domain_add_dyndns_doc": "… e desiri un nom de domeni preconfigurat.",
"domain_add_panel_with_domain": "Ai ja mon nom de domeni…", "domain_add_panel_with_domain": "Ai ja mon nom de domeni…",
"domain_add_panel_without_domain": "Ai pas de nom de domeni…", "domain_add_panel_without_domain": "Ai pas de nom de domeni…",

View file

@ -23,7 +23,7 @@
"description": "Descrição", "description": "Descrição",
"disable": "Desativar", "disable": "Desativar",
"domain_add": "Adicionar domínio", "domain_add": "Adicionar domínio",
"domain_add_dns_doc": "… coloco <a href='//yunohost.org/dns_config'>para definir o meu DNS</a>.", "domain_add_dns_doc": "… coloco <a href='//yunohost.org/dns_config' target='_blank'>para definir o meu DNS</a>.",
"domain_add_dyndns_doc": "... quero um serviço DNS dinâmico.", "domain_add_dyndns_doc": "... quero um serviço DNS dinâmico.",
"domain_add_panel_with_domain": "Já tenho um domínio registado…", "domain_add_panel_with_domain": "Já tenho um domínio registado…",
"domain_add_panel_without_domain": "Ainda não registei um domínio…", "domain_add_panel_without_domain": "Ainda não registei um domínio…",

View file

@ -138,7 +138,7 @@
"manually_renew_letsencrypt_message": "Сертификат будет автоматически обновлён в последние 15 дней своего действия. Вы может вручную обновить его, если хотите. (Не рекомендуется).", "manually_renew_letsencrypt_message": "Сертификат будет автоматически обновлён в последние 15 дней своего действия. Вы может вручную обновить его, если хотите. (Не рекомендуется).",
"manually_renew_letsencrypt": "Теперь обновить вручную", "manually_renew_letsencrypt": "Теперь обновить вручную",
"confirm_postinstall": "Вы начинаете процесс конфигурации домена {domain}. Это займёт несколько минут, *не прерывайте процесс*.", "confirm_postinstall": "Вы начинаете процесс конфигурации домена {domain}. Это займёт несколько минут, *не прерывайте процесс*.",
"domain_add_dns_doc": "… я <a href='//yunohost.org/dns_config'>set my DNS установил мой DNS правильно</a>.", "domain_add_dns_doc": "… я <a href='//yunohost.org/dns_config' target='_blank'>set my DNS установил мой DNS правильно</a>.",
"tools": "Инструменты", "tools": "Инструменты",
"tools_adminpw": "Смените пароль администратора", "tools_adminpw": "Смените пароль администратора",
"tools_adminpw_current": "Действующий пароль", "tools_adminpw_current": "Действующий пароль",

View file

@ -73,7 +73,7 @@
"logs_path": "Sökväg", "logs_path": "Sökväg",
"add": "Lägg till", "add": "Lägg till",
"install_name": "Installera {id}", "install_name": "Installera {id}",
"domain_add_dns_doc": "… och jag har <a href='//yunohost.org/dns_config'>konfigurerat min DNS korrekt</a>.", "domain_add_dns_doc": "… och jag har <a href='//yunohost.org/dns_config' target='_blank'>konfigurerat min DNS korrekt</a>.",
"error_server_unexpected": "Oväntat serverfel", "error_server_unexpected": "Oväntat serverfel",
"previous": "Föregående", "previous": "Föregående",
"save": "Spara", "save": "Spara",

View file

@ -1,22 +1,33 @@
/*
//
//
// /!\ DO NOT IMPORT OR DEFINE ACTUAL RULES INTO THIS FILE /!\
//
// Only things that disappear after scss compilation is allowed.
//
//
//
// This file is magically imported into every components so that scss variables,
// functions and mixins can be accessed.
// But if some rules are defined here, they will be copied into the final build as many
// times as there are components
Bootstrap and BootstrapVue overrides.
Bootstrap default: `app/node_modules/bootstrap/scss/_variables.scss`
BootstrapVue default: `app/node_modules/bootstrap-vue/src/_variables.scss`
*/ //
//
//
//
//
//
// Bootstrap and BootstrapVue overrides.
// Bootstrap default: `app/node_modules/bootstrap/scss/_variables.scss`
// BootstrapVue default: `app/node_modules/bootstrap-vue/src/_variables.scss`
// TODO: add a feature so the user can set some css variables to change the global aspects ? // TODO: add a feature so the user can set some css variables to change the global aspects ?
// For exemple, turning rounding of elements off, the bases colors, etc. // For exemple, turning rounding of elements off, the bases colors, etc.
// $enable-rounded: false; // $enable-rounded: false;
$font-size-base: 1rem; $font-size-base: .9rem;
$font-weight-bold: 500; $font-weight-bold: 500;
$blue: #2f7ed2; $blue: #2f7ed2;
@ -49,44 +60,40 @@ $alert-padding-x: 1rem;
$card-spacer-y: .6rem; $card-spacer-y: .6rem;
$card-spacer-x: 1rem; $card-spacer-x: 1rem;
$list-group-item-padding-x: 1rem;
// Import default variables after the above setup to compute all other variables.
@import '~bootstrap/scss/functions.scss'; @import '~bootstrap/scss/functions.scss';
@import '~bootstrap/scss/variables'; @import '~bootstrap/scss/variables';
@import '~bootstrap/scss/mixins.scss'; @import '~bootstrap/scss/mixins.scss';
@import '~bootstrap-vue/src/variables';
// Overwrite list-group-item variants to lighter ones (used in diagnosis for example)
@each $color, $value in $theme-colors {
@include list-group-item-variant($color, theme-color-level($color, -11), theme-color-level($color, 6));
}
// Add breakpoints for w-* $body-color: $gray-800;
@each $breakpoint in map-keys($grid-breakpoints) {
@each $size, $length in $sizes {
@include media-breakpoint-up($breakpoint) {
.w-#{$breakpoint}-#{$size} {
width: $length !important;
}
}
}
}
/* $hr-border-color: $gray-200;
$list-group-action-color: $gray-800;
Fork-awesome variable overrides. //
default: `app/node_modules/fork-awesome/scss/_variables.scss` //
//
*/ //
//
//
// Fork-awesome variable overrides.
// default: `app/node_modules/fork-awesome/scss/_variables.scss`
$fa-font-path: '~fork-awesome/fonts'; $fa-font-path: '~fork-awesome/fonts';
$fa-font-size-base: 1rem; $fa-font-size-base: $font-size-base;
@import '~fork-awesome/scss/variables';
//
//
//
//
//
$thin-border: 1px solid #eee; $thin-border: $hr-border-width solid $hr-border-color;
$skeleton-color: #eaeaea;

View file

@ -1,25 +0,0 @@
/*
/!\ DO NOT IMPORT OR DEFINE ACTUAL RULES INTO THIS FILE /!\
Only things that disappear after scss compilation is allowed.
This file is magically imported into every components so that scss variables and
mixins can be accessed.
But if some rules are defined here, they will be copied into the final build as many
times as there are components
*/
@import 'variables';
@import '~bootstrap/scss/functions';
@import '~bootstrap/scss/variables';
@import '~bootstrap/scss/mixins';
@import '~bootstrap-vue/src/variables';
@import '~fork-awesome/scss/variables';

View file

@ -25,8 +25,6 @@ body {
overflow-x: hidden; overflow-x: hidden;
min-height: 100vh; min-height: 100vh;
margin: 0; margin: 0;
color: #333;
font-size: 14px;
} }
#app { #app {
@ -37,29 +35,29 @@ body {
.menu-list { .menu-list {
.list-group-item { .list-group-item {
padding: 0.75rem 0; padding: $list-group-item-padding-y 0;
display: flex; display: flex;
align-items: center; align-items: center;
} }
h2 {
font-size: 1.25rem;
font-weight: 400;
margin: 0;
}
} }
.font-weight-bold {
font-weight: 500 !important;
}
// Bootstrap overrides // Bootstrap overrides
.list-group-item { // Overwrite list-group-item variants to lighter ones (used in diagnosis for example)
padding: 0.75rem 1rem; @each $color, $value in $theme-colors {
@include list-group-item-variant($color, theme-color-level($color, -11), theme-color-level($color, 6));
}
// Add breakpoints for w-*
@each $breakpoint in map-keys($grid-breakpoints) {
@each $size, $length in $sizes {
@include media-breakpoint-up($breakpoint) {
.w-#{$breakpoint}-#{$size} {
width: $length !important;
}
}
} }
.list-group-item-action {
color: #333;
} }
// Allow state of input group to be displayed under the group // Allow state of input group to be displayed under the group
@ -94,15 +92,15 @@ body {
margin-top: 0; margin-top: 0;
} }
.card { .card, .list-group-item {
h1, h2, h3, h4, h5, h6 { h1, h2, h3, h4, h5, h6 {
margin: 0; margin: 0;
} }
} }
.card-header { .card-header, .list-group-item {
h1, h2, h3, h4, h5, h6 { h1, h2, h3, h4, h5, h6 {
font-weight: 400; font-weight: $font-weight-normal;
} }
} }
@ -117,7 +115,7 @@ body {
} }
.list-group-item .icon { .list-group-item .icon {
margin-left: 0.3em; margin-left: 0.3rem;
} }
// Fork-awesome overrides // Fork-awesome overrides
@ -141,8 +139,3 @@ code {
padding: 1rem; padding: 1rem;
background-color: $light; background-color: $light;
} }
.btn {
font-size: 1em;
line-height: 1.7;
}

View file

@ -7,7 +7,7 @@
:to="{ name: item.routeName }" :to="{ name: item.routeName }"
> >
<icon :iname="item.icon" class="lg" /> <icon :iname="item.icon" class="lg" />
<h2>{{ $t(item.translation) }}</h2> <h4>{{ $t(item.translation) }}</h4>
<icon iname="chevron-right" class="lg fs-sm ml-auto" /> <icon iname="chevron-right" class="lg fs-sm ml-auto" />
</b-list-group-item> </b-list-group-item>
</b-list-group> </b-list-group>

View file

@ -20,7 +20,8 @@
</p> </p>
<p> <p>
<strong v-t="'api_error.error_message'" /> <span v-html="error.message" /> <strong v-t="'api_error.error_message'" />
<b-alert class="mt-2" variant="danger" v-html="error.message" />
</p> </p>
<template v-if="error.traceback"> <template v-if="error.traceback">
@ -42,7 +43,7 @@
<!-- TODO add copy error ? --> <!-- TODO add copy error ? -->
<b-button <b-button
variant="light" size="sm" variant="light" size="sm"
v-t="'words.dismiss'" @click="dismiss" v-t="'ok'" @click="dismiss"
/> />
</b-card-footer> </b-card-footer>
</div> </div>

View file

@ -10,9 +10,9 @@
@mousedown.left.prevent="onHistoryBarClick" @mousedown.left.prevent="onHistoryBarClick"
@keyup.space.enter.prevent="onHistoryBarKey" @keyup.space.enter.prevent="onHistoryBarKey"
> >
<h6 class="m-0"> <h5 class="m-0">
<icon iname="history" /> <span class="d-none d-sm-inline">{{ $t('history.title') }}</span> <icon iname="history" /> <span class="d-none d-sm-inline font-weight-bold">{{ $t('history.title') }}</span>
</h6> </h5>
<!-- CURRENT/LAST ACTION --> <!-- CURRENT/LAST ACTION -->
<b-button <b-button

View file

@ -5,7 +5,7 @@
<!-- PROGRESS BAR --> <!-- PROGRESS BAR -->
<b-progress <b-progress
v-if="progress" class="mt-4" v-if="progress" class="my-4"
:max="progress.max" height=".5rem" :max="progress.max" height=".5rem"
> >
<b-progress-bar variant="success" :value="progress.values[0]" /> <b-progress-bar variant="success" :value="progress.values[0]" />

View file

@ -66,15 +66,20 @@
<b-card-group v-else deck> <b-card-group v-else deck>
<b-card no-body v-for="app in filteredApps" :key="app.id"> <b-card no-body v-for="app in filteredApps" :key="app.id">
<b-card-body class="d-flex flex-column"> <b-card-body class="d-flex flex-column">
<b-card-title class="d-flex"> <b-card-title class="d-flex mb-2">
{{ app.manifest.name }} {{ app.manifest.name }}
<small v-if="app.state !== 'working'" class="ml-2"> <small v-if="app.state !== 'working'" class="d-flex align-items-center ml-2">
<b-badge <b-badge
v-if="app.state !== 'highquality'"
:variant="(app.color === 'danger' && app.state === 'lowquality') ? 'warning' : app.color" :variant="(app.color === 'danger' && app.state === 'lowquality') ? 'warning' : app.color"
v-b-popover.hover.bottom="$t(`app_state_${app.state}_explanation`)" v-b-popover.hover.bottom="$t(`app_state_${app.state}_explanation`)"
> >
{{ $t('app_state_' + app.state) }} {{ $t('app_state_' + app.state) }}
</b-badge> </b-badge>
<icon
v-else iname="star" class="star"
v-b-popover.hover.bottom="$t(`app_state_${app.state}_explanation`)"
/>
</small> </small>
</b-card-title> </b-card-title>
@ -268,7 +273,7 @@ export default {
} else { } else {
filters.isDecentQuality = true filters.isDecentQuality = true
} }
if (app.high_quality && app.level > 7) { if (app.level >= 8) {
filters.state = 'highquality' filters.state = 'highquality'
filters.isHighQuality = true filters.isHighQuality = true
} }
@ -276,8 +281,7 @@ export default {
}, },
formatColor (app) { formatColor (app) {
if (app.isHighQuality) return 'best' if (app.isDecentQuality || app.isHighQuality) return 'success'
if (app.isDecentQuality) return 'success'
if (app.isWorking) return 'warning' if (app.isWorking) return 'warning'
return 'danger' return 'danger'
}, },
@ -389,6 +393,10 @@ export default {
.alert-warning { .alert-warning {
font-size: .75em; font-size: .75em;
} }
.star {
color: goldenrod;
}
} }
.category-card { .category-card {

View file

@ -1,7 +1,7 @@
<template> <template>
<view-base :queries="queries" @queries-response="onQueriesResponse" ref="view"> <view-base :queries="queries" @queries-response="onQueriesResponse" ref="view">
<!-- BASIC INFOS --> <!-- BASIC INFOS -->
<card v-if="infos" :title="`${infos.label}`" icon="cube"> <card v-if="infos" :title="infos.label" icon="cube">
<b-row <b-row
v-for="(value, prop) in infos" :key="prop" v-for="(value, prop) in infos" :key="prop"
no-gutters class="row-line" no-gutters class="row-line"
@ -59,7 +59,7 @@
</b-input-group> </b-input-group>
</template> </template>
<template #description> <template v-if="perm.url" #description>
{{ $t('permission_corresponding_url') }}: {{ $t('permission_corresponding_url') }}:
<b-link :href="'https:' + perm.url"> <b-link :href="'https:' + perm.url">
https://{{ perm.url }} https://{{ perm.url }}
@ -234,7 +234,7 @@ export default {
multi_instance: this.$i18n.t(app.manifest.multi_instance ? 'yes' : 'no'), multi_instance: this.$i18n.t(app.manifest.multi_instance ? 'yes' : 'no'),
install_time: readableDate(app.settings.install_time, true, true) install_time: readableDate(app.settings.install_time, true, true)
} }
if (app.settings.domain) { if (app.settings.domain && app.settings.path) {
this.infos.url = 'https://' + app.settings.domain + app.settings.path this.infos.url = 'https://' + app.settings.domain + app.settings.path
form.url = { form.url = {
domain: app.settings.domain, domain: app.settings.domain,

View file

@ -7,7 +7,7 @@
:to="{name: item.routeName}" :to="{name: item.routeName}"
> >
<icon :iname="item.icon" class="lg" /> <icon :iname="item.icon" class="lg" />
<h2>{{ $t(item.translation) }}</h2> <h4>{{ $t(item.translation) }}</h4>
<icon iname="chevron-right" class="lg fs-sm ml-auto" /> <icon iname="chevron-right" class="lg fs-sm ml-auto" />
</b-list-group-item> </b-list-group-item>
</b-list-group> </b-list-group>

View file

@ -126,7 +126,7 @@ export default {
.row { .row {
+ .row { + .row {
border-top: 1px solid #eee; border-top: $thin-border;
} }
padding: .5rem; padding: .5rem;

View file

@ -48,7 +48,7 @@ module.exports = {
css: { css: {
loaderOptions: { loaderOptions: {
sass: { sass: {
prependData: '@import "@/scss/globals.scss";' prependData: '@import "@/scss/_variables.scss";'
} }
} }
}, },