fix: Fix inaccessible content on public pages due to overlapping footer
Signed-off-by: Christopher Ng <chrng8@gmail.com>pull/47649/head
parent
9aafc0f989
commit
65ced2dd40
@ -0,0 +1,26 @@
|
|||||||
|
/**
|
||||||
|
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
*/
|
||||||
|
|
||||||
|
const body = document.body
|
||||||
|
const footer = document.querySelector('footer')
|
||||||
|
let prevHeight = footer?.offsetHeight
|
||||||
|
|
||||||
|
const onResize: ResizeObserverCallback = (entries) => {
|
||||||
|
for (const entry of entries) {
|
||||||
|
const height = entry.contentRect.height
|
||||||
|
if (height === prevHeight) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
prevHeight = height
|
||||||
|
body.style.setProperty('--footer-height', `${height}px`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (footer) {
|
||||||
|
new ResizeObserver(onResize)
|
||||||
|
.observe(footer, {
|
||||||
|
box: 'border-box', // <footer> is border-box
|
||||||
|
})
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue