Compare commits

..

11 Commits

Author SHA1 Message Date
Simon Vieille 077191cf47 Merge pull request 'develop' (#508) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/508
2026-07-18 16:29:20 +02:00
Simon Vieille 9eab478c36 chore(info): set version 2026-07-18 16:28:51 +02:00
Simon Vieille c1588dfc2e Merge pull request 'feat(standard-menu): add unified-search-input size handling' (#507) from bugfix/top-menu-popover into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/507
2026-07-18 16:26:18 +02:00
Simon Vieille c24bb6f8c8 feat(standard-menu): add unified-search-input size handling 2026-07-18 16:26:06 +02:00
Simon Vieille ca689d8b6f Merge pull request 'bugfix/top-menu-popover' (#506) from bugfix/top-menu-popover into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/506
2026-07-18 15:52:52 +02:00
Simon Vieille e81f0e4b76 doc: update changelog 2026-07-18 15:52:34 +02:00
Simon Vieille 7033569bed feat(standard-menu): add unified-search-input size handling 2026-07-18 15:52:21 +02:00
Simon Vieille a9788f0ab8 Merge pull request 'bugfix/always-displays-no-apps' (#505) from bugfix/always-displays-no-apps into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/505
2026-07-18 13:03:22 +02:00
Simon Vieille 1a8063bd94 doc: update changelog 2026-07-18 13:00:51 +02:00
Simon Vieille cc841570ec fix(ui): only apply always-displayed display css rules when the menu is displayed 2026-07-18 13:00:35 +02:00
Simon Vieille d6a2da402c fix(webpack): set global appVersion 2026-07-18 12:44:22 +02:00
6 changed files with 56 additions and 25 deletions
+10
View File
@@ -1,5 +1,15 @@
## [Unreleased]
## 6.0.1
### Added
- feat(standard-menu): add unified-search-input size handling
### Fixed
- fix(ui): only apply always-displayed display css rules when the menu is displayed
## 6.0.0
### Added
+1 -1
View File
@@ -30,7 +30,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/).
]]></description>
<version>6.0.0</version>
<version>6.0.1</version>
<licence>agpl</licence>
<author mail="contact@deblan.fr" homepage="https://www.deblan.fr/">Simon Vieille</author>
<namespace>SideMenu</namespace>
+17 -12
View File
@@ -62,8 +62,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
</li>
</ul>
<NcActions
class="cm-standardmenu-app-menu-more app-menu-more"
class="cm-standardmenu-app-menu-more"
:aria-label="t('core', 'More apps')"
:forceMenu="true"
>
<NcActionLink
v-for="app in popoverAppList"
@@ -132,19 +133,27 @@ const setApps = (value) => {
const appLimit = () => {
const headerStart = document.querySelector('#header .header-start')
const headerEnd = document.querySelector('#header .header-end')
const unifiedSearch = document.querySelector('#header .unified-search-input')
const body = document.querySelector('body')
let size = (headerEnd ? headerEnd.offsetWidth : 0) + 70
let totalWidth = body.offsetWidth
let otherElementsWidth = headerEnd ? headerEnd.offsetWidth : 0
if (unifiedSearch && headerEnd.offsetWidth < unifiedSearch.offsetWidth) {
otherElementsWidth += unifiedSearch.offsetWidth
}
let maxWidth = body.offsetWidth - otherElementsWidth
if (headerStart) {
Array.from(headerStart.children).forEach((child) => {
if (child.id !== 'app-menu-container') {
size += child.offsetWidth
maxWidth -= child.offsetWidth
}
})
}
return Math.max(0, Math.floor((body.offsetWidth - size) / 70))
return Math.max(0, Math.floor(maxWidth / 60))
}
const makeStyle = (app) => {
@@ -156,13 +165,9 @@ const makeStyle = (app) => {
}
const computeLists = () => {
mainAppList.value = appList.value.slice(0, appLimit())
popoverAppList.value = appList.value.slice(appLimit()).sort((a, b) => a.order - b.order)
}
const reComputeLists = (delay) => {
window.clearTimeout(resizeTimeout)
resizeTimeout = window.setTimeout(computeLists, delay || 100)
const limit = appLimit()
mainAppList.value = appList.value.slice(0, limit)
popoverAppList.value = appList.value.slice(limit).sort((a, b) => a.order - b.order)
}
onMounted(async () => {
@@ -177,7 +182,7 @@ onMounted(async () => {
setApps(await navStore.getCoreApps())
window.addEventListener('resize', reComputeLists)
window.setInterval(computeLists, 100)
})
</script>
+26
View File
@@ -363,6 +363,16 @@
right: 0 !important;
margin-left: 0 !important;
}
#content {
left: 53px;
width: calc(100% - (var(--body-container-margin) * 2) - 62px);
}
#content-vue {
width: calc(100% - (var(--body-container-margin) * 2) - 60px);
margin-left: 11px;
}
}
@media screen and (max-width: 1024px) {
@@ -385,6 +395,16 @@
padding: 10px 0;
}
}
#header {
.unified-search-input {
width: 80px !important;
.unified-search-input__label {
display: none;
}
}
}
}
@media screen and (min-width: 1024px) {
@@ -599,3 +619,9 @@ $header-icon-size: 20px;
display: none;
}
}
#header {
.unified-search-input:not(.unified-search-input--mobile) {
position: unset !important;
}
}
-12
View File
@@ -117,15 +117,3 @@ body[data-theme-light], body[data-theme-light-highcontrast] {
font-size: 16px;
}
<?php } ?>
<?php if ($_['always-displayed']) { ?>
#content {
left: 53px;
width: calc(100% - (var(--body-container-margin) * 2) - 62px);
}
#content-vue {
width: calc(100% - (var(--body-container-margin) * 2) - 60px);
margin-left: 11px;
}
<?php } ?>
+2
View File
@@ -7,6 +7,7 @@ const NodePolyfillPlugin = require('node-polyfill-webpack-plugin')
const TerserPlugin = require('terser-webpack-plugin')
const appName = 'side_menu'
const appVersion = '6.x'
const buildMode = process.env.NODE_ENV
const isDev = buildMode === 'development'
@@ -80,6 +81,7 @@ module.exports = {
new webpack.DefinePlugin({
appName: JSON.stringify(appName),
appVersion: JSON.stringify(appVersion),
}),
],