post_install() {
    :
#!/bin/bash

set -e

if type update-alternatives >/dev/null 2>&1; then
    # Remove previous link if it doesn't use update-alternatives
    if [ -L '/usr/bin/clash-party' ] && [ -e '/usr/bin/clash-party' ] && [ "$(readlink '/usr/bin/clash-party')" != '/etc/alternatives/clash-party' ]; then
        rm -f '/usr/bin/clash-party'
    fi
    update-alternatives --install '/usr/bin/clash-party' 'clash-party' '/opt/clash-party/mihomo-party' 100 || ln -sf '/opt/clash-party/mihomo-party' '/usr/bin/clash-party'
else
    ln -sf '/opt/clash-party/mihomo-party' '/usr/bin/clash-party'
fi

chmod 4755 '/opt/clash-party/chrome-sandbox' 2>/dev/null || true

chmod +sx /opt/clash-party/resources/sidecar/mihomo 2>/dev/null || true
chmod +sx /opt/clash-party/resources/sidecar/mihomo-alpha 2>/dev/null || true
chmod +sx /opt/clash-party/resources/sidecar/mihomo-smart 2>/dev/null || true

if hash update-mime-database 2>/dev/null; then
    update-mime-database /usr/share/mime || true
fi

if hash update-desktop-database 2>/dev/null; then
    update-desktop-database /usr/share/applications || true
fi

# Update icon cache for GNOME/GTK environments
if hash gtk-update-icon-cache 2>/dev/null; then
    for dir in /usr/share/icons/hicolor /usr/share/icons/gnome; do
        [ -d "$dir" ] && gtk-update-icon-cache -f -t "$dir" 2>/dev/null || true
    done
fi

# Refresh GNOME Shell icon cache
if hash update-icon-caches 2>/dev/null; then
    update-icon-caches /usr/share/icons/* 2>/dev/null || true
fi

}
post_remove() {
    :
#!/bin/bash

case "$1" in
  remove|purge|0)
    if type update-alternatives >/dev/null 2>&1; then
        update-alternatives --remove 'clash-party' '/opt/clash-party/mihomo-party' 2>/dev/null || true
    fi
    
    [ -L '/usr/bin/clash-party' ] && rm -f '/usr/bin/clash-party'

    if hash update-mime-database 2>/dev/null; then
      update-mime-database /usr/share/mime || true
    fi

    if hash update-desktop-database 2>/dev/null; then
        update-desktop-database /usr/share/applications || true
    fi

    # Update icon cache
    if hash gtk-update-icon-cache 2>/dev/null; then
        for dir in /usr/share/icons/hicolor /usr/share/icons/gnome; do
            [ -d "$dir" ] && gtk-update-icon-cache -f -t "$dir" 2>/dev/null || true
        done
    fi
    ;;
  *)
    # others
    ;;
esac

}
