feat: reply in comments(WIP)

This commit is contained in:
aayush262 2024-02-17 12:29:39 +05:30
parent 420c0348f9
commit 1fe50d2cca
3 changed files with 251 additions and 188 deletions

View file

@ -73,7 +73,7 @@ class CommentsActivity : AppCompatActivity() {
markwonEditor markwonEditor
) )
) )
binding.commentReplyToContainer.visibility = View.GONE //TODO: implement reply
var editing = false var editing = false
var editingCommentId = -1 var editingCommentId = -1
fun editCallback(comment: CommentItem) { fun editCallback(comment: CommentItem) {

View file

@ -64,55 +64,98 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone" android:visibility="gone"
tools:visibility="visible"
tools:listitem="@layout/item_comments" /> tools:listitem="@layout/item_comments" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/commentInputLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingTop="8dp"
android:layout_gravity="bottom|end" android:layout_gravity="bottom|end"
android:windowSoftInputMode="adjustResize" android:windowSoftInputMode="adjustResize"
android:background="@color/nav_bg"> android:background="@color/nav_bg">
<com.google.android.material.imageview.ShapeableImageView <LinearLayout
android:id="@+id/commentUserAvatar" android:id="@+id/commentReplyToContainer"
android:layout_width="42dp" android:layout_width="match_parent"
android:layout_height="42dp" android:layout_height="wrap_content"
android:scaleType="center" android:orientation="horizontal"
android:layout_marginStart="12dp" android:layout_marginTop="10dp"
style="@style/CircularImageView" android:layout_marginBottom="10dp"
app:srcCompat="@drawable/ic_round_add_circle_24" tools:ignore="UseCompoundDrawables">
tools:ignore="ContentDescription,ImageContrastCheck" /> <TextView
android:id="@+id/commentReplyTo"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:singleLine="true"
android:ellipsize="end"
android:fontFamily="@font/poppins_semi_bold"
android:text="Replying to "
android:textColor="?attr/colorOnBackground"
android:textSize="14sp"
tools:ignore="HardcodedText" />
<EditText <ImageView
android:id="@+id/commentInput" android:id="@+id/commentReplyToCancel"
android:layout_width="0dp" android:layout_width="24dp"
android:layout_height="match_parent" android:layout_height="24dp"
android:layout_weight="1" android:layout_gravity="center_vertical"
android:textSize="12sp" android:layout_marginEnd="16dp"
android:fontFamily="@font/poppins_semi_bold" android:background="?android:attr/selectableItemBackground"
android:hint="Add a comment..." app:srcCompat="@drawable/ic_round_close_24"
android:inputType="textMultiLine" app:tint="?attr/colorOnBackground"
android:padding="8dp" tools:ignore="ContentDescription" />
android:background="@drawable/card_outline"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:maxLength="300"
android:maxLines="15"
tools:ignore="HardcodedText"
android:autofillHints="The One Piece is real" />
<ImageButton </LinearLayout>
android:id="@+id/commentSend" <LinearLayout
android:layout_width="42dp" android:id="@+id/commentInputLayout"
android:layout_height="42dp" android:layout_width="match_parent"
android:layout_marginEnd="12dp" android:layout_height="wrap_content"
android:background="@drawable/ic_round_send_24" android:orientation="horizontal"
tools:ignore="ContentDescription" /> android:paddingBottom="8dp"
android:paddingTop="8dp"
android:windowSoftInputMode="adjustResize">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/commentUserAvatar"
android:layout_width="42dp"
android:layout_height="42dp"
android:scaleType="center"
android:layout_marginStart="12dp"
style="@style/CircularImageView"
app:srcCompat="@drawable/ic_round_add_circle_24"
tools:ignore="ContentDescription,ImageContrastCheck" />
<EditText
android:id="@+id/commentInput"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="12sp"
android:fontFamily="@font/poppins_semi_bold"
android:hint="Add a comment..."
android:inputType="textMultiLine"
android:padding="8dp"
android:background="@drawable/card_outline"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:maxLength="300"
android:maxLines="15"
tools:ignore="HardcodedText"
android:autofillHints="The One Piece is real" />
<ImageButton
android:id="@+id/commentSend"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_marginEnd="12dp"
android:background="@drawable/ic_round_send_24"
tools:ignore="ContentDescription" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</FrameLayout> </FrameLayout>

View file

@ -7,188 +7,208 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="6dp" android:layout_marginStart="6dp"
android:layout_marginEnd="6dp" android:layout_marginEnd="6dp"
android:layout_marginBottom="12dp" android:orientation="vertical"
android:orientation="horizontal"
android:padding="6dp" android:padding="6dp"
android:paddingStart="12dp" android:paddingStart="8dp"
android:paddingEnd="12dp"> android:paddingEnd="8dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/commentUserAvatar"
android:layout_marginTop="4dp"
android:layout_width="36dp"
android:layout_height="36dp"
android:scaleType="center"
style="@style/CircularImageView"
app:srcCompat="@drawable/ic_round_add_circle_24"
tools:ignore="ContentDescription,ImageContrastCheck" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:orientation="horizontal">
android:layout_weight="1"
android:layout_marginStart="8dp" <com.google.android.material.imageview.ShapeableImageView
android:orientation="vertical"> android:id="@+id/commentUserAvatar"
android:layout_marginTop="4dp"
android:layout_width="36dp"
android:layout_height="36dp"
android:scaleType="center"
style="@style/CircularImageView"
app:srcCompat="@drawable/ic_round_add_circle_24"
tools:ignore="ContentDescription,ImageContrastCheck" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:layout_gravity="center_vertical"
android:orientation="horizontal"> android:layout_weight="1"
android:layout_marginStart="8dp"
android:orientation="vertical">
<TextView <LinearLayout
android:id="@+id/commentUserName" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/commentUserName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:fontFamily="@font/poppins_semi_bold"
android:text="Username"
android:singleLine="true"
android:ellipsize="end"
android:textSize="15sp"
android:paddingTop="1dp"
android:paddingBottom="0dp"
tools:ignore="HardcodedText,RtlSymmetry"/>
<TextView
android:id="@+id/commentUserTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold"
android:text="Time"
android:textSize="12sp"
tools:ignore="HardcodedText,RtlSymmetry" />
<ImageView
android:id="@+id/modBadge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:layout_marginEnd="6dp"
android:layout_gravity="top"
android:src="@drawable/ic_shield"
android:visibility="visible"
android:scaleX="0.8"
android:scaleY="0.8"
tools:ignore="ContentDescription,RtlSymmetry" />
<ImageView
android:id="@+id/adminBadge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:layout_marginEnd="6dp"
android:layout_gravity="top"
android:src="@drawable/ic_crown"
android:visibility="visible"
android:scaleX="0.9"
android:scaleY="0.9"
tools:ignore="ContentDescription,RtlSymmetry" />
</LinearLayout>
<ani.dantotsu.media.comments.SpoilerTextView
android:id="@+id/commentText"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:fontFamily="@font/poppins_semi_bold" android:fontFamily="@font/poppins_semi_bold"
android:text="Username" android:maxLines="3"
android:layout_gravity="center_vertical" android:ellipsize="end"
android:gravity="center_vertical" android:text="@string/slogan"
android:textAlignment="gravity" android:textSize="12sp" />
android:textSize="15sp"
android:paddingTop="1dp"
android:paddingBottom="0dp"
tools:ignore="HardcodedText,RtlSymmetry"/>
<ImageView <LinearLayout
android:id="@+id/modBadge"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="6dp" android:orientation="horizontal">
android:layout_gravity="top" <TextView
android:src="@drawable/ic_shield" android:id="@+id/commentReply"
android:visibility="visible" android:layout_width="wrap_content"
android:scaleX="0.8" android:layout_height="wrap_content"
android:scaleY="0.8" android:layout_marginEnd="12dp"
tools:ignore="ContentDescription,RtlSymmetry" /> android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold"
android:text="Reply"
android:textSize="12sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/commentEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold"
android:text="Edit"
android:textSize="12sp"
tools:ignore="HardcodedText" />
<ImageView <TextView
android:id="@+id/adminBadge" android:id="@+id/commentDelete"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="6dp" android:layout_marginEnd="12dp"
android:layout_gravity="top" android:alpha="0.6"
android:src="@drawable/ic_crown" android:fontFamily="@font/poppins_semi_bold"
android:visibility="visible" android:text="Delete"
android:scaleX="0.9" android:textSize="12sp"
android:scaleY="0.9" tools:ignore="HardcodedText" />
tools:ignore="ContentDescription,RtlSymmetry" />
<TextView
android:id="@+id/commentUserTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold"
android:text="Time"
android:textSize="12sp"
tools:ignore="HardcodedText,RtlSymmetry" />
<TextView
android:id="@+id/commentBanUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold"
android:text="Ban User"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<ani.dantotsu.media.comments.SpoilerTextView
android:id="@+id/commentText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/poppins_semi_bold"
android:maxLines="3"
android:ellipsize="end"
android:text="@string/slogan"
android:textSize="12sp" />
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:layout_gravity="center_vertical"
android:orientation="vertical">
<ImageView
android:id="@+id/commentUpVote"
android:layout_width="20dp"
android:layout_height="20dp"
android:alpha="0.4"
app:srcCompat="@drawable/ic_round_upvote_inactive_24"
tools:ignore="ContentDescription" />
<TextView <TextView
android:id="@+id/commentReply" android:id="@+id/commentTotalVotes"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold" android:fontFamily="@font/poppins_semi_bold"
android:text="Reply" android:text="10"
android:textSize="12sp" android:textSize="12sp"
tools:ignore="HardcodedText" /> android:layout_gravity="center"
<TextView
android:id="@+id/commentEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:alpha="0.6" android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold"
android:text="Edit"
android:textSize="12sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/commentDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold"
android:text="Delete"
android:textSize="12sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/commentBanUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold"
android:text="Ban User"
android:textSize="12sp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<ImageView
android:id="@+id/commentDownVote"
android:layout_width="20dp"
android:layout_height="20dp"
android:alpha="0.4"
app:srcCompat="@drawable/ic_round_upvote_inactive_24"
android:rotation="180"
tools:ignore="ContentDescription" />
</LinearLayout> </LinearLayout>
<TextView
android:id="@+id/commentTotalReplies"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:alpha="0.6"
android:fontFamily="@font/poppins_semi_bold"
android:text="View x more replies"
android:textSize="12sp"
android:layout_marginStart="12dp"
android:layout_marginTop="6dp"
tools:ignore="HardcodedText" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:id="@+id/commentTotalRepliesContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:orientation="vertical"> android:orientation="horizontal">
<ImageView
android:id="@+id/commentUpVote"
android:layout_width="20dp"
android:layout_height="20dp"
android:alpha="0.4"
app:srcCompat="@drawable/ic_round_upvote_inactive_24"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/commentTotalVotes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/poppins_semi_bold"
android:text="10"
android:textSize="12sp"
android:layout_gravity="center"
android:alpha="0.6"
tools:ignore="HardcodedText" />
<ImageView
android:id="@+id/commentDownVote"
android:layout_width="20dp"
android:layout_height="20dp"
android:alpha="0.4"
app:srcCompat="@drawable/ic_round_upvote_inactive_24"
android:rotation="180"
tools:ignore="ContentDescription" />
</LinearLayout>
<View
android:layout_width="32dp"
android:layout_height="3dp"
android:layout_gravity="center"
android:layout_marginStart="44dp"
android:background="@color/nav_tab" />
<TextView
android:id="@+id/commentTotalReplies"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:alpha="0.8"
android:fontFamily="@font/poppins_semi_bold"
android:text="View replies"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</LinearLayout> </LinearLayout>