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 0000000..afa603c
Binary files /dev/null and b/snikket_web/static/img/f-droid-badge.png differ
diff --git a/snikket_web/templates/invite_view.html b/snikket_web/templates/invite_view.html
index 8f44d65..fd7ee5e 100644
--- a/snikket_web/templates/invite_view.html
+++ b/snikket_web/templates/invite_view.html
@@ -29,6 +29,7 @@
{%- if apple_store_url -%}
{%- endif -%}
+
{%- 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 -%}
+
+
+
+ {#- -#}
+ {% trans %}Install via F-Droid{% endtrans %}
+ {#- -#}
+ {%- call action_button("close", "#", onclick="close_modal(this.parentNode.parentNode.parentNode); return false;", class="tertiary") -%}
+ {% trans %}Close{% endtrans %}
+ {%- endcall -%}
+
+
{% trans %}After installing Snikket via F-Droid, you have to return to this invite link and tap on "Open the app" to proceed.{% endtrans %}
+
+ {% trans %}First install Snikket from F-Droid using the button below:{% endtrans %}
+ 
+ {% trans %}After the installation is complete, you can return to this page and tap the "Open the app" button to continue with the setup:{% endtrans %}
+
+ {%- call standard_button("exit_to_app", invite.xmpp_uri, class="primary") -%}
+ {% trans %}Open the app{% endtrans %}
+ {%- endcall -%}
+
+
+ {#- -#}
+ {%- call standard_button("close", "#", onclick="close_modal(this.parentNode.parentNode); return false;", class="secondary") -%}
+ {% trans %}Close{% endtrans %}
+ {%- endcall -%}
+
+