# Maintainer: local
pkgname=tokentracker-linux
pkgver=1.4.11
pkgrel=1
pkgdesc='Local TokenTracker Linux desktop client for Arch KDE'
arch=('x86_64')
url='https://github.com/mm7894215/TokenTracker'
license=('MIT')
options=(!debug)
depends=(
  'webkit2gtk-4.1'
  'gtk3'
  'libayatana-appindicator'
  'librsvg'
  'xdg-utils'
)
makedepends=(
  'nodejs'
  'npm'
  'rust'
  'cargo'
  'pkgconf'
  'base-devel'
)
install='tokentracker-linux.install'
source=()
sha256sums=()

_repo_root="${startdir}/../../../.."
_linux_dir="${_repo_root}/TokenTrackerLinux"

build() {
  cd "${_repo_root}"
  npm ci
  npm --prefix dashboard ci
  # pet.html is the floating pet's page; vite only emits it with this flag.
  TOKENTRACKER_BUILD_PET=1 npm run dashboard:build
  npm --prefix TokenTrackerLinux ci
  npm --prefix TokenTrackerLinux run bundle:node
  npm --prefix TokenTrackerLinux run build
}

package() {
  cd "${_repo_root}"

  install -Dm755 "TokenTrackerLinux/src-tauri/target/release/tokentracker-linux" \
    "${pkgdir}/usr/bin/tokentracker-linux"

  install -dm755 "${pkgdir}/usr/lib/tokentracker-linux"
  cp -a "TokenTrackerLinux/EmbeddedServer/." "${pkgdir}/usr/lib/tokentracker-linux/"
  chmod 755 "${pkgdir}/usr/lib/tokentracker-linux/node"

  install -Dm644 "TokenTrackerLinux/packaging/arch/tokentracker-linux/tokentracker-linux.desktop" \
    "${pkgdir}/usr/share/applications/tokentracker-linux.desktop"

  install -Dm644 "dashboard/public/icon-512.png" \
    "${pkgdir}/usr/share/icons/hicolor/512x512/apps/tokentracker-linux.png"

  install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/tokentracker-linux/LICENSE"

  local _ext=tokentracker@tokentracker.cc
  for _file in metadata.json extension.js stylesheet.css; do
    install -Dm644 "TokenTrackerLinux/gnome-extension/${_ext}/${_file}" \
      "${pkgdir}/usr/share/gnome-shell/extensions/${_ext}/${_file}"
  done
}
