Adds web-overrides/popup-designs/ with the 4-up preview (preview.html) and three standalone candidate designs (a-strip.html / b-terminal.html / c-minimal.html) so we can revisit the alternates later without re-running the design generator. Owner picked A. Design A is wired into Jellyfin's stock .upNextDialog by overriding its CSS to a full-bleed bottom 26 % strip with white 'Start Now' CTA and a custom SVG countdown ring that mirrors .upNextDialog-countdownText. The DOM stays intact so Jellyfin's own countdown timer and click handlers on .btnStartNow / .btnHide keep working untouched. Shim is bracketed by NEXT-EP-POPUP-BEGIN / NEXT-EP-POPUP-END markers inside the existing ARRFLIX-SHIM block in web-overrides/index-dev.html. Only deployed to dev (dev.arrflix.s8n.ru) for spot-check; promote to prod once verified by editing prod's index.html the same way and redeploying via the nsenter trick. Adds bin/revert-next-ep-popup.sh — sed-deletes between markers, defaults to dev with --prod flag for prod target. Saves a timestamped backup and prints the redeploy command.
54 lines
1.8 KiB
Bash
Executable file
54 lines
1.8 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Revert the NEXT-EP-POPUP shim injected into dev's index-dev.html on 2026-05-10.
|
|
#
|
|
# What it removes:
|
|
# /* NEXT-EP-POPUP-BEGIN ... */ ... /* NEXT-EP-POPUP-END */
|
|
#
|
|
# Defaults to dev. Pass --prod to remove from prod's index.html instead.
|
|
# Idempotent: safe to re-run.
|
|
#
|
|
# After local edit, redeploy to nullstone via the same nsenter cp trick used
|
|
# for sub-label-shim revert (see comment at end).
|
|
|
|
set -euo pipefail
|
|
|
|
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
TARGET_DEV="$REPO_ROOT/web-overrides/index-dev.html"
|
|
TARGET_PROD="$REPO_ROOT/web-overrides/index.html"
|
|
|
|
TARGET="$TARGET_DEV"
|
|
ENV="dev"
|
|
if [[ "${1:-}" == "--prod" ]]; then
|
|
TARGET="$TARGET_PROD"
|
|
ENV="prod"
|
|
fi
|
|
|
|
if [[ ! -f "$TARGET" ]]; then
|
|
echo "ERROR: $TARGET not found" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! grep -q "NEXT-EP-POPUP-BEGIN" "$TARGET"; then
|
|
echo "shim already absent in $ENV — nothing to do"
|
|
exit 0
|
|
fi
|
|
|
|
cp "$TARGET" "$TARGET.bak.$(date -u +%Y%m%dT%H%M%SZ)"
|
|
sed -i '/NEXT-EP-POPUP-BEGIN/,/NEXT-EP-POPUP-END/d' "$TARGET"
|
|
|
|
if grep -q "NEXT-EP-POPUP" "$TARGET"; then
|
|
echo "ERROR: revert left orphan markers in $TARGET" >&2
|
|
exit 2
|
|
fi
|
|
|
|
echo "reverted ($ENV). backup at $TARGET.bak.*"
|
|
echo
|
|
echo "Now redeploy to nullstone:"
|
|
if [[ "$ENV" == "dev" ]]; then
|
|
echo " scp $TARGET user@192.168.0.100:/tmp/index-dev-new.html"
|
|
echo " ssh user@192.168.0.100 'docker run --rm --privileged --pid=host --userns=host -v /opt:/opt -v /tmp:/tmp alpine nsenter -t 1 -m -u -i -n cp /tmp/index-dev-new.html /opt/docker/jellyfin-dev/web-overrides/index-dev.html'"
|
|
else
|
|
echo " scp $TARGET user@192.168.0.100:/tmp/arrflix-index.html"
|
|
echo " ssh user@192.168.0.100 'docker run --rm --privileged --pid=host --userns=host -v /opt:/opt -v /tmp:/tmp alpine nsenter -t 1 -m -u -i -n cp /tmp/arrflix-index.html /opt/docker/jellyfin/web-overrides/index.html'"
|
|
fi
|
|
echo "Then hard-refresh the browser (Ctrl+Shift+R)."
|