diff --git a/.woodpecker.yml b/.woodpecker.yml
index a8fb90f..61563c0 100644
--- a/.woodpecker.yml
+++ b/.woodpecker.yml
@@ -1,5 +1,5 @@
steps:
- check-tag:
+ "Verify tag and app version":
image: alpine
commands:
- TAG=${CI_COMMIT_TAG/v//}
@@ -7,7 +7,7 @@ steps:
when:
event: [tag]
- dependencies:
+ "Install dependencies":
image: node:16
pull: true
commands:
@@ -16,13 +16,13 @@ steps:
event: [tag, push, pull_request, manual]
branch: [master, develop, feature/*, fix/*, bugfix/*, translations]
- osv-detector:
+ "Check dependencies":
image: gitnet.fr/deblan/osv-detector:v0.10
commands:
- osv-detector package-lock.json
failure: ignore
- build-js:
+ "Build JS":
image: node:16
commands:
- npm run build
@@ -30,7 +30,7 @@ steps:
event: [tag, push, pull_request, manual]
branch: [master, develop, feature/*, fix/*, bugfix/*, translations]
- build-translations:
+ "Build translations":
image: deblan/php:8.0
commands:
- php bin/generate_l10n.php
@@ -38,7 +38,7 @@ steps:
event: [tag, push, pull_request, manual]
branch: [master, develop, feature/*, fix/*, bugfix/*, translations]
- create-signature:
+ "Create signature":
image: nextcloud:25
secrets: [app_certificate, app_public_certificate]
environment:
@@ -73,7 +73,7 @@ steps:
# when:
# event: [pull_request]
- create-package:
+ "Create package":
image: deblan/php:8.0
volumes:
- /var/www/html/artifacts:/var/www/html/artifacts
@@ -89,7 +89,7 @@ steps:
when:
event: [tag]
- push-release:
+ "Push release":
image: plugins/gitea-release
volumes:
- /var/www/html/artifacts:/var/www/html/artifacts
diff --git a/CHANGELOG.md b/CHANGELOG.md
index be801f6..3533d10 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,17 @@
## [Unreleased]
+## 3.11.7
+### Added
+* update translations
+* update ci steps names
+### Fixed
+* add accessibility to open and close buttons (#311)
+* fully apply Nextcloud AppMenu.vue updated (#326)
+* add missing label on the 'save' button in personal settings (fix #318)
+### Changed
+* upgrade axios
+* upgrade css-loader
+
## 3.11.6
### Fixed
* add --background-invert-if-bright in top menu (fix #326)
diff --git a/appinfo/info.xml b/appinfo/info.xml
index 6d049ae..c293e56 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -32,7 +32,7 @@ Notice
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/).
]]>
- 3.11.6
+ 3.11.7
agpl
Simon Vieille
SideMenu
diff --git a/css/sideMenu.css b/css/sideMenu.css
index b66e53a..8a63202 100644
--- a/css/sideMenu.css
+++ b/css/sideMenu.css
@@ -83,6 +83,12 @@
padding-left: 12px !important;
margin-left: 5px !important;
margin-left: 3px !important;
+ overflow: hidden;
+}
+
+.side-menu-opener span {
+ position: relative;
+ left: 50px;
}
.side-menu-opener:active, .side-menu-opener:focus {
diff --git a/package.json b/package.json
index 05e2ef7..9298a83 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,7 @@
"stylelint:fix": "./node_modules/.bin/stylelint src --fix"
},
"dependencies": {
- "axios": "^0.24.0",
+ "axios": "^1.6.7",
"trim": "^1.0.1",
"vue": "^2.6.11"
},
@@ -33,7 +33,7 @@
"@nextcloud/vue": "^7.12.1",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.1.0",
- "css-loader": "^3.4.2",
+ "css-loader": "^6.10.0",
"eslint": "^8.0.0",
"eslint-config-standard": "^17.0.0",
"eslint-import-resolver-webpack": "^0.12.1",
diff --git a/src/AppMenu.vue b/src/AppMenu.vue
index f90ebad..4e31f12 100644
--- a/src/AppMenu.vue
+++ b/src/AppMenu.vue
@@ -168,6 +168,7 @@ $header-icon-size: 20px;
flex-shrink: 1;
flex-wrap: wrap;
}
+
.app-menu-main {
display: flex;
flex-wrap: nowrap;
@@ -177,7 +178,6 @@ $header-icon-size: 20px;
height: 50px;
position: relative;
display: flex;
- opacity: .7;
&.app-menu-entry__active {
opacity: 1;
@@ -217,6 +217,7 @@ $header-icon-size: 20px;
width: $header-icon-size;
height: $header-icon-size;
padding: calc((100% - $header-icon-size) / 2);
+ box-sizing: content-box;
filter: var(--background-image-invert-if-bright, var(--primary-invert-if-bright));
}
@@ -226,8 +227,8 @@ $header-icon-size: 20px;
font-size: 12px;
color: var(--color-primary-text);
text-align: center;
- bottom: -5px;
left: 50%;
+ top: 45%;
display: block;
min-width: 100%;
transform: translateX(-50%);
@@ -235,6 +236,7 @@ $header-icon-size: 20px;
width: 100%;
text-overflow: ellipsis;
overflow: hidden;
+ letter-spacing: -0.5px;
}
&:not(.app-menu-entry__hidden-label):not(.app-menu-entry__show-hovered):hover,
@@ -242,11 +244,11 @@ $header-icon-size: 20px;
opacity: 1;
.app-menu-entry--label {
opacity: 1;
- font-weight: bold;
- font-size: 14px;
+ font-weight: bolder;
bottom: 0;
- width: auto;
- overflow: visible;
+ width: 100%;
+ text-overflow: ellipsis;
+ overflow: hidden;
}
}
}
@@ -263,8 +265,10 @@ $header-icon-size: 20px;
&: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):focus {
+ opacity: 1;
+
img {
- margin-top: -6px;
+ margin-top: -8px;
}
.app-menu-entry--label {
@@ -280,7 +284,7 @@ $header-icon-size: 20px;
&.app-menu-main__show-hovered .app-menu-entry:hover,
&.app-menu-main__show-hovered .app-menu-entry:focus {
img {
- margin-top: -6px;
+ margin-top: -8px;
}
.app-menu-entry--label {
@@ -295,38 +299,42 @@ $header-icon-size: 20px;
}
::v-deep .app-menu-more .button-vue--vue-tertiary {
- color: var(--color-primary-text);
opacity: .7;
margin: 3px;
+ filter: var(--background-image-invert-if-bright, var(--primary-invert-if-bright));
- &:hover {
- opacity: 1;
- background-color: transparent !important;
+ &:not([aria-expanded="true"]) {
+ color: var(--color-primary-element-text);
+
+ &:hover {
+ opacity: 1;
+ background-color: transparent !important;
+ }
}
- &:focus-visible {
- opacity: 1;
- background-color: transparent !important;
- border-radius: var(--border-radius);
- outline: none;
- box-shadow: 0 0 0 2px var(--color-primary-text);
- }
+ &:focus-visible {
+ opacity: 1;
+ outline: none !important;
+ }
}
.app-menu-popover-entry {
.app-icon {
position: relative;
height: 44px;
+ width: 48px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ filter: var(--background-invert-if-bright, var(--primary-invert-if-bright));
&.has-unread::after {
background-color: var(--color-main-text);
}
img {
- filter: var(--background-invert-if-bright, var(--primary-invert-if-bright));
width: $header-icon-size;
height: $header-icon-size;
- padding: calc((50px - $header-icon-size) / 2);
}
}
}
@@ -335,7 +343,7 @@ $header-icon-size: 20px;
content: "";
width: 8px;
height: 8px;
- background-color: var(--color-primary-text);
+ background-color: var(--color-primary-element-text);
border-radius: 50%;
position: absolute;
display: block;
diff --git a/src/CloserButton.vue b/src/CloserButton.vue
index 99779f8..80ed747 100644
--- a/src/CloserButton.vue
+++ b/src/CloserButton.vue
@@ -15,11 +15,18 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
-->
-
+
diff --git a/src/OpenerButton.vue b/src/OpenerButton.vue
index 58298ae..538291c 100644
--- a/src/OpenerButton.vue
+++ b/src/OpenerButton.vue
@@ -15,7 +15,9 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
-->
-
+