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 {
border-top: 1px solid #eee;
border-top: $thin-border;
font-size: $font-size-sm;
margin-top: 2rem;

View file

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

View file

@ -54,7 +54,7 @@
"disable": "تعطيل",
"dns": "خدمة أسماء النطاقات",
"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_panel_with_domain": "عندي إسم نطاق …",
"domain_add_panel_without_domain": "لا أمتلك إسم نطاق …",

View file

@ -55,7 +55,7 @@
"disable": "Desactivar",
"dns": "DNS",
"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_panel_with_domain": "Ja tinc un nom de domini…",
"domain_add_panel_without_domain": "No tinc un nom de domini…",

View file

@ -35,7 +35,7 @@
"description": "Beschreibung",
"disable": "Deaktivieren",
"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_panel_with_domain": "Ich habe schon eine Domain…",
"domain_add_panel_without_domain": "Ich habe keine Domain…",

View file

@ -65,7 +65,7 @@
"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_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_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",
@ -131,7 +131,7 @@
"disabled": "Disabled",
"dns": "DNS",
"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_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…",
@ -314,7 +314,7 @@
"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.",
"permission_corresponding_url": "Corresponding URL",
"permission_main": "Main permission",
"permission_main": "Main label",
"permission_show_tile_enabled": "Visible as tile in user portal",
"port": "Port",
"ports": "Ports",
@ -414,8 +414,7 @@
"warnings": "{count} warnings",
"words": {
"collapse": "Collapse",
"default": "Default",
"dismiss": "Dismiss"
"default": "Default"
},
"wrong_password": "Wrong password",
"yes": "Yes",

View file

@ -64,7 +64,7 @@
"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_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_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",

View file

@ -40,7 +40,7 @@
"disable": "Inhabilitar",
"dns": "DNS",
"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_panel_with_domain": "Ya 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",
"dns": "DNS",
"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_panel_with_domain": "J'ai déjà un nom de domaine …",
"domain_add_panel_without_domain": "Je n'ai pas de nom de domaine …",

View file

@ -29,7 +29,7 @@
"description": "Descrizione",
"disable": "Disabilita",
"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_panel_with_domain": "Ho già un nome di domino…",
"domain_add_panel_without_domain": "Non ho un nome di domino…",

View file

@ -35,7 +35,7 @@
"description": "Beschrijving",
"disable": "Uitschakelen",
"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_panel_with_domain": "Ik heb al een domeinnaam…",
"domain_add_panel_without_domain": "Ik heb nog geen domeinnaam…",

View file

@ -54,7 +54,7 @@
"disable": "Desactivar",
"dns": "DNS",
"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_panel_with_domain": "Ai ja mon nom de domeni…",
"domain_add_panel_without_domain": "Ai pas de nom de domeni…",

View file

@ -23,7 +23,7 @@
"description": "Descrição",
"disable": "Desativar",
"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_panel_with_domain": "Já tenho um domínio registado…",
"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": "Теперь обновить вручную",
"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_adminpw": "Смените пароль администратора",
"tools_adminpw_current": "Действующий пароль",

View file

@ -73,7 +73,7 @@
"logs_path": "Sökväg",
"add": "Lägg till",
"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",
"previous": "Föregående",
"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 ?
// For exemple, turning rounding of elements off, the bases colors, etc.
// $enable-rounded: false;
$font-size-base: 1rem;
$font-size-base: .9rem;
$font-weight-bold: 500;
$blue: #2f7ed2;
@ -49,44 +60,40 @@ $alert-padding-x: 1rem;
$card-spacer-y: .6rem;
$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/variables';
@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-*
@each $breakpoint in map-keys($grid-breakpoints) {
@each $size, $length in $sizes {
@include media-breakpoint-up($breakpoint) {
.w-#{$breakpoint}-#{$size} {
width: $length !important;
}
}
}
}
$body-color: $gray-800;
/*
$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-size-base: 1rem;
$fa-font-size-base: $font-size-base;
@import '~fork-awesome/scss/variables';
//
//
//
//
//
$thin-border: 1px solid #eee;
$skeleton-color: #eaeaea;
$thin-border: $hr-border-width solid $hr-border-color;

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;
min-height: 100vh;
margin: 0;
color: #333;
font-size: 14px;
}
#app {
@ -37,29 +35,29 @@ body {
.menu-list {
.list-group-item {
padding: 0.75rem 0;
padding: $list-group-item-padding-y 0;
display: flex;
align-items: center;
}
h2 {
font-size: 1.25rem;
font-weight: 400;
margin: 0;
}
}
.font-weight-bold {
font-weight: 500 !important;
}
// Bootstrap overrides
.list-group-item {
padding: 0.75rem 1rem;
// 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));
}
.list-group-item-action {
color: #333;
// 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;
}
}
}
}
// Allow state of input group to be displayed under the group
@ -94,15 +92,15 @@ body {
margin-top: 0;
}
.card {
.card, .list-group-item {
h1, h2, h3, h4, h5, h6 {
margin: 0;
}
}
.card-header {
.card-header, .list-group-item {
h1, h2, h3, h4, h5, h6 {
font-weight: 400;
font-weight: $font-weight-normal;
}
}
@ -117,7 +115,7 @@ body {
}
.list-group-item .icon {
margin-left: 0.3em;
margin-left: 0.3rem;
}
// Fork-awesome overrides
@ -141,8 +139,3 @@ code {
padding: 1rem;
background-color: $light;
}
.btn {
font-size: 1em;
line-height: 1.7;
}

View file

@ -7,7 +7,7 @@
:to="{ name: item.routeName }"
>
<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" />
</b-list-group-item>
</b-list-group>

View file

@ -20,7 +20,8 @@
</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>
<template v-if="error.traceback">
@ -42,7 +43,7 @@
<!-- TODO add copy error ? -->
<b-button
variant="light" size="sm"
v-t="'words.dismiss'" @click="dismiss"
v-t="'ok'" @click="dismiss"
/>
</b-card-footer>
</div>

View file

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

View file

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

View file

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

View file

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

View file

@ -7,7 +7,7 @@
:to="{name: item.routeName}"
>
<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" />
</b-list-group-item>
</b-list-group>

View file

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

View file

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