46 lines
2.0 KiB
Django/Jinja
46 lines
2.0 KiB
Django/Jinja
#!/bin/sh
|
|
WEB_JS=/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
|
|
if [ -s "$WEB_JS" ] && ! grep -q NoMoreNagging "$WEB_JS"; then
|
|
echo "Patching Web UI nag..."
|
|
sed -i -e "/data\.status/ s/!//" -e "/data\.status/ s/active/NoMoreNagging/" "$WEB_JS"
|
|
fi
|
|
|
|
MOBILE_TPL=/usr/share/pve-yew-mobile-gui/index.html.tpl
|
|
MARKER="<!-- MANAGED BLOCK FOR MOBILE NAG -->"
|
|
if [ -f "$MOBILE_TPL" ] && ! grep -q "$MARKER" "$MOBILE_TPL"; then
|
|
echo "Patching Mobile UI nag..."
|
|
printf "%s\n" \
|
|
"$MARKER" \
|
|
"<script>" \
|
|
" function removeSubscriptionElements() {" \
|
|
" // --- Remove subscription dialogs ---" \
|
|
" const dialogs = document.querySelectorAll('dialog.pwt-outer-dialog');" \
|
|
" dialogs.forEach(dialog => {" \
|
|
" const text = (dialog.textContent || '').toLowerCase();" \
|
|
" if (text.includes('subscription')) {" \
|
|
" dialog.remove();" \
|
|
" console.log('Removed subscription dialog');" \
|
|
" }" \
|
|
" });" \
|
|
"" \
|
|
" // --- Remove subscription cards, but keep Reboot/Shutdown/Console ---" \
|
|
" const cards = document.querySelectorAll('.pwt-card.pwt-p-2.pwt-d-flex.pwt-interactive.pwt-justify-content-center');" \
|
|
" cards.forEach(card => {" \
|
|
" const text = (card.textContent || '').toLowerCase();" \
|
|
" const hasButton = card.querySelector('button');" \
|
|
" if (!hasButton && text.includes('subscription')) {" \
|
|
" card.remove();" \
|
|
" console.log('Removed subscription card');" \
|
|
" }" \
|
|
" });" \
|
|
" }" \
|
|
"" \
|
|
" const observer = new MutationObserver(removeSubscriptionElements);" \
|
|
" observer.observe(document.body, { childList: true, subtree: true });" \
|
|
" removeSubscriptionElements();" \
|
|
" setInterval(removeSubscriptionElements, 300);" \
|
|
" setTimeout(() => {observer.disconnect();}, 10000);" \
|
|
"</script>" \
|
|
"" >>"$MOBILE_TPL"
|
|
fi
|