diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-08-08 16:14:03 +0200 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-08-08 18:24:35 +0200 |
commit | ed167930896cee93523780675a05d971e16c1a43 (patch) | |
tree | 2db7d8f56906a642ed485a7ba7cf5c23a1a2da34 /core/src/components/AppMenuEntry.vue | |
parent | e49c55df12349a12245f35f044eb443c59a52862 (diff) | |
download | nextcloud-server-ed167930896cee93523780675a05d971e16c1a43.tar.gz nextcloud-server-ed167930896cee93523780675a05d971e16c1a43.zip |
fix: Make focussed app menu entry wider to see full name
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'core/src/components/AppMenuEntry.vue')
-rw-r--r-- | core/src/components/AppMenuEntry.vue | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/core/src/components/AppMenuEntry.vue b/core/src/components/AppMenuEntry.vue index ead86759e4a..cef6d413dcd 100644 --- a/core/src/components/AppMenuEntry.vue +++ b/core/src/components/AppMenuEntry.vue @@ -37,6 +37,8 @@ defineProps<{ width: var(--header-height); height: var(--header-height); position: relative; + // Needed to prevent jumping when hover an entry (keep in sync with :hover styles) + transition: width var(--animation-quick) ease-in-out; &__link { position: relative; @@ -95,14 +97,14 @@ defineProps<{ left: 50%; bottom: 8px; display: block; - transition: all 0.1s ease-in-out; + transition: all var(--animation-quick) ease-in-out; opacity: 1; } } &__icon, &__label { - transition: all 0.1s ease-in-out; + transition: all var(--animation-quick) ease-in-out; } // Make the hovered entry bold to see that it is hovered @@ -110,6 +112,30 @@ defineProps<{ &:focus-within .app-menu-entry__label { font-weight: bold; } + + // Adjust the width when an entry is focussed + // The focussed / hovered entry should grow, while both neighbors need to shrink + &:hover, + &:focus-within { + width: calc(var(--header-height) + var(--app-menu-entry-growth)); + + // The next entry needs to shrink half the growth + + .app-menu-entry { + width: calc(var(--header-height) - (var(--app-menu-entry-growth) / 2)); + .app-menu-entry__icon { + margin-inline-end: calc(var(--app-menu-entry-growth) / 2); + } + } + } + + // The previous entry needs to shrink half the growth + &:has(+ .app-menu-entry:hover), + &:has(+ .app-menu-entry:focus-within) { + width: calc(var(--header-height) - (var(--app-menu-entry-growth) / 2)); + .app-menu-entry__icon { + margin-inline-start: calc(var(--app-menu-entry-growth) / 2); + } + } } </style> |