ui: Drop the temporary fix for missing popper.js 2.0

- Latest version of libjs-bootstrap5 depends on
node-popper2. However, version in Debian bookworm still continue to have
incorrect dependency. So, add explicit dependency on node-popper2 until we stop
supporting Bookworm.

Tests:

- In stable and testing VMs, install node-popper2 and notices that the following
work as expected:
  - User menu dropdown in desktop and mobile layouts.
  - Help menu dropdown in desktop and mobile layouts.
  - Notification dropdown.
  - App extra actions dropdown.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
This commit is contained in:
Sunil Mohan Adapa 2025-01-22 15:37:12 -08:00 committed by Veiko Aasa
parent d14739c8ad
commit 54b956c602
No known key found for this signature in database
GPG Key ID: 478539CAE680674E
3 changed files with 5 additions and 46 deletions

4
debian/control vendored
View File

@ -18,6 +18,8 @@ Build-Depends:
e2fsprogs,
gir1.2-nm-1.0,
libjs-bootstrap5,
# Older libjs-bootstrap5 does not have proper dependency on popper.js >= 2.0
node-popper2,
pybuild-plugin-pyproject,
python3-all:any,
python3-apt,
@ -94,6 +96,8 @@ Depends:
lsof,
netcat-openbsd,
network-manager,
# Older libjs-bootstrap5 does not have proper dependency on popper.js >= 2.0
node-popper2,
ppp,
pppoe,
python3-apt,

View File

@ -59,8 +59,7 @@
{% endif %}
<!-- Local link to system Bootstrap JS -->
<script type="text/javascript" src="{% static '/javascript/popper.js/umd/popper.js' %}" defer></script>
<script type="text/javascript" src="{% static 'theme/js/fix.js' %}" defer></script>
<script type="text/javascript" src="{% static '/javascript/popperjs2/popper.min.js' %}" defer></script>
<script type="text/javascript" src="{% static '/javascript/bootstrap5/js/bootstrap.bundle.min.js' %}" defer></script>
<script type="text/javascript" src="{% static 'theme/js/main.js' %}" defer></script>

View File

@ -1,44 +0,0 @@
// SPDX-License-Identifier: AGPL-3.0-or-later
/*
This file is part of FreedomBox.
@licstart The following is the entire license notice for the
JavaScript code in this page.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
@licend The above is the entire license notice
for the JavaScript code in this page.
*/
// Workaround Debian bug #1087969. popper.js 2.x is needed for Bootstrap 5,
// however, the current version on in Debian is 1.x.
if (typeof(Popper.createPopper) === 'undefined') {
window.Popper.createPopper = function(reference, popper, options) {
if (options.modifiers.length == 1) {
// Navbar dropdown
options.modifiers = {
'applyStyle': {'enabled': false}
};
} else {
// Regular dropdown
options.modifiers = {
'flip': {'enabled': true},
'offset': {'offset': 0},
'preventOverflow': {'boundariesElement': 'scrollParent'}
};
}
return new Popper(reference, popper, options);
};
}