#!/bin/sh
# env
# Written in 2020 by Lucas
# CC0 1.0 Universal/Public domain - No rights reserved
#
# To the extent possible under law, the author(s) have dedicated all
# copyright and related and neighboring rights to this software to the
# public domain worldwide. This software is distributed without any
# warranty. You should have received a copy of the CC0 Public Domain
# Dedication along with this software. If not, see
# <http://creativecommons.org/publicdomain/zero/1.0/>.

usage()
{
	printf "Usage: %s version\n" "${0##*/}" >&2
	exit 1
}

err()
{
	printf "%s: %s\n" "${0##*/}" "$*" >&2
	exit 1
}

isversion()
{
	printf "%s\n" "$*" | grep -Eq "^v[0-9]+\.[0-9]+\.[0-9]+$"
}

[ -n "${ELEMENT_WEB_UI_DIR:-}" ] ||
    err "environment var ELEMENT_WEB_UI_DIR unset"
[ $# -eq 1 ] && isversion "$1" || usage
ver=$1

GH_BASE_URL=https://github.com/vector-im/element-web/releases/download

cd "$ELEMENT_WEB_UI_DIR" || err "can't cd to web UI directory"
ftp -o - "$GH_BASE_URL/$ver/element-$ver.tar.gz" | pax -rz ||
    err "can't fetch and extract release"
rm -f element && ln -s "element-$ver" element ||
    err "can't point web UI directory to new release"
