#!/usr/bin/env bash

set -euxo pipefail
cd "$(dirname "$0")/../.."
shopt -s extglob

script/bundle-linux --flatpak --tarball
channel=$(<crates/gram/RELEASE_CHANNEL)
if [[ "$channel" = "dev" ]]; then
  archive="gram-dev-linux-$(uname -m).tar.gz"
else
  archive="gram-linux-$(uname -m).tar.gz"
fi

export CHANNEL="$channel"
export ARCHIVE="$archive"
export BRANDING_LIGHT="#b2d88f"
export BRANDING_DARK="#4e4b5c"
if [[ "$channel" == "dev" ]]; then
    export APP_ID="app.liten.GramDev"
    export APP_NAME="Gram Devel"
    export ICON_SCALABLE="app.liten.Gram.Devel.svg"
    export ICON_SYMBOLIC="app.liten.Gram-symbolic.svg"
elif [[ "$channel" == "stable" ]]; then
    export APP_ID="app.liten.Gram"
    export APP_NAME="Gram"
    export ICON_SCALABLE="app.liten.Gram.svg"
    export ICON_SYMBOLIC="app.liten.Gram-symbolic.svg"
else
    echo "Invalid channel: '$channel'"
    exit
fi

envsubst < "crates/gram/resources/flatpak/manifest-template.json" > "$APP_ID.json"
flatpak-builder --user --install --force-clean build "$APP_ID.json"
flatpak build-bundle ~/.local/share/flatpak/repo "target/release/$APP_ID.flatpak" "$APP_ID"
echo "Created 'target/release/$APP_ID.flatpak'"
