From f7742d5a6987deb68bfa60e6b92e2636f4326456 Mon Sep 17 00:00:00 2001
From: Taras <tarassmakula@gmail.com>
Date: Wed, 2 Mar 2022 19:51:01 +0200
Subject: [PATCH] Add invite button

---
 .../java/com/futo/circles/view/LoadingButton.kt  |  9 +++++++++
 .../layout/invite_members_dialog_fragment.xml    | 16 +++++++++++++++-
 app/src/main/res/values/attrs.xml                |  2 ++
 app/src/main/res/values/strings.xml              |  3 ++-
 4 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/app/src/main/java/com/futo/circles/view/LoadingButton.kt b/app/src/main/java/com/futo/circles/view/LoadingButton.kt
index 70cdbe35e..77f7fd49a 100644
--- a/app/src/main/java/com/futo/circles/view/LoadingButton.kt
+++ b/app/src/main/java/com/futo/circles/view/LoadingButton.kt
@@ -2,6 +2,7 @@ package com.futo.circles.view
 
 import android.content.Context
 import android.util.AttributeSet
+import android.util.TypedValue
 import android.view.LayoutInflater
 import androidx.constraintlayout.widget.ConstraintLayout
 import com.futo.circles.R
@@ -25,6 +26,14 @@ class LoadingButton(
                 buttonText = it.toString()
                 binding.button.text = it
             }
+            getDimensionPixelSize(R.styleable.LoadingButton_android_textSize, 0).takeIf { it > 0 }
+                ?.let {
+                    binding.button.setTextSize(TypedValue.COMPLEX_UNIT_PX, it.toFloat())
+                }
+            getDimensionPixelSize(R.styleable.LoadingButton_textPadding, 0).takeIf { it > 0 }
+                ?.let {
+                    binding.button.setPadding(it, it, it, it)
+                }
         }
     }
 
diff --git a/app/src/main/res/layout/invite_members_dialog_fragment.xml b/app/src/main/res/layout/invite_members_dialog_fragment.xml
index efc7d3427..9577df6c1 100644
--- a/app/src/main/res/layout/invite_members_dialog_fragment.xml
+++ b/app/src/main/res/layout/invite_members_dialog_fragment.xml
@@ -14,7 +14,21 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:navigationIcon="?attr/homeAsUpIndicator"
-        app:titleCentered="true" />
+        app:titleCentered="true"
+        app:titleMarginEnd="72dp">
+
+        <com.futo.circles.view.LoadingButton
+            android:id="@+id/btnInvite"
+            android:layout_width="56dp"
+            android:layout_height="match_parent"
+            android:layout_gravity="end"
+            android:layout_marginVertical="8dp"
+            android:layout_marginEnd="8dp"
+            android:text="@string/invite"
+            android:textSize="13sp"
+            app:textPadding="1dp" />
+
+    </com.google.android.material.appbar.MaterialToolbar>
 
     <View
         android:id="@+id/toolbarDivider"
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index eee4ca855..1ac5bb371 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -3,6 +3,8 @@
 
     <declare-styleable name="LoadingButton">
         <attr name="android:text" />
+        <attr name="android:textSize" />
+        <attr name="textPadding" format="dimension" />
     </declare-styleable>
 
     <declare-styleable name="ExpandContentButton">
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 185312242..ab747ba9b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -27,11 +27,12 @@
     <string name="share">Share</string>
     <string name="hide_replies">Hide replies</string>
     <string name="invite_members">Invite members</string>
-    <string name="invite_members_to_format">Invite members to %s</string>
+    <string name="invite_to_format">Invite to %s</string>
     <string name="search_by_name_or_id">Search by name or id</string>
     <string name="known_users">Known users</string>
     <string name="suggestion">Suggestions</string>
     <string name="no_results">No results</string>
+    <string name="invite">Invite</string>
 
     <plurals name="member_plurals">
         <item quantity="one">%d member</item>
-- 
GitLab