From 885db355ab467262c6407ef5d8be3ac9765f786b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Sch=C3=A4fer?= Date: Sat, 20 Mar 2021 16:15:20 +0100 Subject: [PATCH] Add F-Droid download button Using the mechanism introduced for iOS to describe the multi-step process. Fixes #52. --- snikket_web/invite.py | 1 + snikket_web/scss/invite.scss | 4 ++++ snikket_web/static/img/f-droid-badge.png | Bin 0 -> 14224 bytes snikket_web/templates/invite_view.html | 28 +++++++++++++++++++++++ 4 files changed, 33 insertions(+) create mode 100644 snikket_web/static/img/f-droid-badge.png diff --git a/snikket_web/invite.py b/snikket_web/invite.py index 05eff0e..6462e2c 100644 --- a/snikket_web/invite.py +++ b/snikket_web/invite.py @@ -91,6 +91,7 @@ async def view(id_: str) -> typing.Union[quart.Response, invite=invite, play_store_url=play_store_url, apple_store_url=apple_store_url, + f_droid_url="market://details?id=org.snikket.android", invite_id=id_, ) return quart.Response( diff --git a/snikket_web/scss/invite.scss b/snikket_web/scss/invite.scss index 60e81de..ba34b43 100644 --- a/snikket_web/scss/invite.scss +++ b/snikket_web/scss/invite.scss @@ -74,6 +74,10 @@ img.play { height: $w-l3; } +img.fdroid { + height: $w-l3; +} + .tabbox { display: flex; flex-direction: column; diff --git a/snikket_web/static/img/f-droid-badge.png b/snikket_web/static/img/f-droid-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..afa603cf6df6cb9f13a4d4cd568e279caa5b0e6e GIT binary patch literal 14224 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 trans %}Download on the App Store{% endtrans %} {%- endif -%} +
  • {% trans %}Get it on F-Droid{% endtrans %}
  • {%- call standard_button("qrcode", "#qr-modal", class="primary", onclick="open_modal(this); return false;") -%} {% trans %}Send to mobile device{% endtrans %} @@ -113,6 +114,33 @@ {%- endif -%} +