Merge pull request 'release v3.8.0' (#255) from develop into master
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful

Reviewed-on: #255
This commit is contained in:
Simon Vieille 2023-05-25 13:49:08 +02:00
commit 29f0ead9cc
14 changed files with 57 additions and 24 deletions

View file

@ -50,20 +50,20 @@ pipeline:
when: when:
event: [tag] event: [tag]
check-code-quality: # check-code-quality:
image: sonarsource/sonar-scanner-cli # image: sonarsource/sonar-scanner-cli
secrets: [sonar_token, sonar_host, sonar_project] # secrets: [sonar_token, sonar_host, sonar_project]
commands: # commands:
- sonar-scanner # - sonar-scanner
-Dsonar.projectKey=$SONAR_PROJECT # -Dsonar.projectKey=$SONAR_PROJECT
-Dsonar.sources=. # -Dsonar.sources=.
-Dsonar.host.url=$SONAR_HOST # -Dsonar.host.url=$SONAR_HOST
-Dsonar.pullrequest.key=$CI_COMMIT_PULL_REQUEST # -Dsonar.pullrequest.key=$CI_COMMIT_PULL_REQUEST
-Dsonar.pullrequest.branch=$CI_COMMIT_SOURCE_BRANCH # -Dsonar.pullrequest.branch=$CI_COMMIT_SOURCE_BRANCH
-Dsonar.pullrequest.base=$CI_COMMIT_TARGET_BRANCH # -Dsonar.pullrequest.base=$CI_COMMIT_TARGET_BRANCH
failure: ignore # failure: ignore
when: # when:
event: [pull_request] # event: [pull_request]
create-package: create-package:
image: deblan/php:8.0 image: deblan/php:8.0

View file

@ -1,5 +1,9 @@
## [Unreleased] ## [Unreleased]
## 3.8.0
### Added
* add option to show hovered label only on top menu (fix #253)
## 3.7.4 ## 3.7.4
### Fixed ### Fixed
* fix Integrity failed (#247) * fix Integrity failed (#247)

View file

@ -32,7 +32,7 @@ Notice
Because I believe in a free and decentralized Internet, [Gitnet](https://gitnet.fr) is **self-hosted at home**. Because I believe in a free and decentralized Internet, [Gitnet](https://gitnet.fr) is **self-hosted at home**.
In case of downtime, you can download **Custom Menu** from [here](https://kim.deblan.fr/~side_menu/). In case of downtime, you can download **Custom Menu** from [here](https://kim.deblan.fr/~side_menu/).
]]></description> ]]></description>
<version>3.7.4</version> <version>3.8.0</version>
<licence>agpl</licence> <licence>agpl</licence>
<author mail="contact@deblan.fr" homepage="https://www.deblan.io/">Simon Vieille</author> <author mail="contact@deblan.fr" homepage="https://www.deblan.io/">Simon Vieille</author>
<namespace>SideMenu</namespace> <namespace>SideMenu</namespace>

View file

@ -171,7 +171,7 @@ class JsController extends Controller
'avatar' => $avatar, 'avatar' => $avatar,
'top-menu-apps' => $topMenuApps, 'top-menu-apps' => $topMenuApps,
'top-side-menu-apps' => $topSideMenuApps, 'top-side-menu-apps' => $topSideMenuApps,
'top-menu-mouse-over-hidden-label' => $this->config->getAppValueBool( 'top-menu-mouse-over-hidden-label' => $this->config->getAppValueInt(
'top-menu-mouse-over-hidden-label', 'top-menu-mouse-over-hidden-label',
'0' '0'
), ),

View file

@ -24,14 +24,14 @@
<nav class="app-menu show"> <nav class="app-menu show">
<ul <ul
class="app-menu-main" class="app-menu-main"
:class="{ 'app-menu-main__hidden-label': hiddenLabels }" :class="{ 'app-menu-main__hidden-label': hiddenLabels === 1, 'app-menu-main__show-hovered': hiddenLabels === 2 }"
v-if="apps !== null" v-if="apps !== null"
> >
<li v-for="app in mainAppList()" <li v-for="app in mainAppList()"
:key="app.id" :key="app.id"
:data-app-id="app.id" :data-app-id="app.id"
class="app-menu-entry" class="app-menu-entry"
:class="{ 'app-menu-entry__active': app.active, 'app-menu-entry__hidden-label': hiddenLabels }" :class="{ 'app-menu-entry__active': app.active, 'app-menu-entry__hidden-label': hiddenLabels === 1, 'app-menu-main__show-hovered': hiddenLabels === 2 }"
:style="makeStyle(app)" :style="makeStyle(app)"
> >
<a :href="app.href" <a :href="app.href"
@ -233,8 +233,8 @@ $header-icon-size: 20px;
overflow: hidden; overflow: hidden;
} }
&:not(.app-menu-entry__hidden-label):hover, &:not(.app-menu-entry__hidden-label):not(.app-menu-entry__show-hovered):hover,
&:not(.app-menu-entry__hidden-label):focus-within { &:not(.app-menu-entry__hidden-label):not(.app-menu-entry__show-hovered):focus-within {
opacity: 1; opacity: 1;
.app-menu-entry--label { .app-menu-entry--label {
opacity: 1; opacity: 1;
@ -245,7 +245,6 @@ $header-icon-size: 20px;
overflow: visible; overflow: visible;
} }
} }
} }
// Show labels // Show labels
@ -256,8 +255,8 @@ $header-icon-size: 20px;
opacity: 1; opacity: 1;
} }
&:not(.app-menu-main__hidden-label):hover, &:not(.app-menu-main__hidden-label):not(.app-menu-main__show-hovered):hover,
&:not(.app-menu-main__hidden-label):focus-within, &:not(.app-menu-main__hidden-label):not(.app-menu-main__show-hovered):focus-within,
.app-menu-entry:not(.app-menu-entry__hidden-label):hover, .app-menu-entry:not(.app-menu-entry__hidden-label):hover,
.app-menu-entry:not(.app-menu-entry__hidden-label):focus { .app-menu-entry:not(.app-menu-entry__hidden-label):focus {
img { img {
@ -273,6 +272,22 @@ $header-icon-size: 20px;
opacity: 0; opacity: 0;
} }
} }
&.app-menu-main__show-hovered .app-menu-entry:hover,
&.app-menu-main__show-hovered .app-menu-entry:focus {
img {
margin-top: -6px;
}
.app-menu-entry--label {
opacity: 1;
bottom: 0;
}
&::before, .app-menu-entry::before {
opacity: 0;
}
}
} }
::v-deep .app-menu-more .button-vue--vue-tertiary { ::v-deep .app-menu-more .button-vue--vue-tertiary {

View file

@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Aplikace ponechané v horní nabídce ale také zobrazené v té boční" "Applications kept in the top menu but also shown in side menu": "Aplikace ponechané v horní nabídce ale také zobrazené v té boční"
"These applications must be selected in the previous option.": "Tyto aplikace je třeba vybrat v předchozí volbě." "These applications must be selected in the previous option.": "Tyto aplikace je třeba vybrat v předchozí volbě."
"Hide labels on mouse over": "Skrýt popisky při najetím ukazatele myši" "Hide labels on mouse over": "Skrýt popisky při najetím ukazatele myši"
"Except the hovered app": "Except the hovered app"

View file

@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu" "Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu"
"These applications must be selected in the previous option.": "These applications must be selected in the previous option." "These applications must be selected in the previous option.": "These applications must be selected in the previous option."
"Hide labels on mouse over": "Hide labels on mouse over" "Hide labels on mouse over": "Hide labels on mouse over"
"Except the hovered app": "Except the hovered app"

View file

@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Las aplicaciones se mantienen en el menú superior pero también se muestran en el menú lateral" "Applications kept in the top menu but also shown in side menu": "Las aplicaciones se mantienen en el menú superior pero también se muestran en el menú lateral"
"These applications must be selected in the previous option.": "Estas aplicaciones deben ser seleccionadas en las opciones anteriores." "These applications must be selected in the previous option.": "Estas aplicaciones deben ser seleccionadas en las opciones anteriores."
"Hide labels on mouse over": "Ocultar las etiquetas al pasar el ratón" "Hide labels on mouse over": "Ocultar las etiquetas al pasar el ratón"
"Except the hovered app": "Except the hovered app"

View file

@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applications conservées dans le menu supérieur mais également affichées dans le menu latéral" "Applications kept in the top menu but also shown in side menu": "Applications conservées dans le menu supérieur mais également affichées dans le menu latéral"
"These applications must be selected in the previous option.": "Ces applications doivent également être sélectionnées dans l'option précédente." "These applications must be selected in the previous option.": "Ces applications doivent également être sélectionnées dans l'option précédente."
"Hide labels on mouse over": "Masquer le libellé des applications au passage de la souris" "Hide labels on mouse over": "Masquer le libellé des applications au passage de la souris"
"Except the hovered app": "À l'exception de l'application survolée"

View file

@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applicaties blijven in het topmenu maar worden ook in het zijmenu getoond" "Applications kept in the top menu but also shown in side menu": "Applicaties blijven in het topmenu maar worden ook in het zijmenu getoond"
"These applications must be selected in the previous option.": "Deze toepassingen moeten bij de vorige optie zijn geselecteerd." "These applications must be selected in the previous option.": "Deze toepassingen moeten bij de vorige optie zijn geselecteerd."
"Hide labels on mouse over": "Hide labels on mouse over" "Hide labels on mouse over": "Hide labels on mouse over"
"Except the hovered app": "Except the hovered app"

View file

@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu" "Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu"
"These applications must be selected in the previous option.": "These applications must be selected in the previous option." "These applications must be selected in the previous option.": "These applications must be selected in the previous option."
"Hide labels on mouse over": "Скрыть название при наведении мыши" "Hide labels on mouse over": "Скрыть название при наведении мыши"
"Except the hovered app": "Except the hovered app"

View file

@ -93,3 +93,4 @@
"Applications kept in the top menu but also shown in side menu": "" "Applications kept in the top menu but also shown in side menu": ""
"These applications must be selected in the previous option.": "" "These applications must be selected in the previous option.": ""
"Hide labels on mouse over": "" "Hide labels on mouse over": ""
"Except the hovered app": ""

View file

@ -91,3 +91,4 @@
"Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu" "Applications kept in the top menu but also shown in side menu": "Applications kept in the top menu but also shown in side menu"
"These applications must be selected in the previous option.": "These applications must be selected in the previous option." "These applications must be selected in the previous option.": "These applications must be selected in the previous option."
"Hide labels on mouse over": "Hide labels on mouse over" "Hide labels on mouse over": "Hide labels on mouse over"
"Except the hovered app": "Except the hovered app"

View file

@ -878,9 +878,15 @@ $labelAlwaysDisplayed = 'Always displayed';
<div class="side-menu-setting-label"> <div class="side-menu-setting-label">
<?php p($l->t('Hide labels on mouse over')); ?> <?php p($l->t('Hide labels on mouse over')); ?>
</div> </div>
<?php
$choices = array_merge(
$choicesYesNo,
['Except the hovered app' => '2']
);
?>
<div class="side-menu-setting-form"> <div class="side-menu-setting-form">
<select id="side-menu-top-menu-mouse-over-hidden-label" name="top-menu-mouse-over-hidden-label" class="side-menu-setting"> <select id="side-menu-top-menu-mouse-over-hidden-label" name="top-menu-mouse-over-hidden-label" class="side-menu-setting">
<?php foreach ($choicesYesNo as $label => $value): ?> <?php foreach ($choices as $label => $value): ?>
<option value="<?php echo $value ?>" <?php if ($value === $_['top-menu-mouse-over-hidden-label']): ?>selected<?php endif; ?>> <option value="<?php echo $value ?>" <?php if ($value === $_['top-menu-mouse-over-hidden-label']): ?>selected<?php endif; ?>>
<?php echo $l->t($label); ?> <?php echo $l->t($label); ?>
</option> </option>