From 8cdea4b66cf4fde487b73d9471c5c4fab0a98236 Mon Sep 17 00:00:00 2001 From: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> Date: Wed, 24 Jun 2026 12:58:54 -0400 Subject: [PATCH] Continue implementing Reminders. --- .../activities/ReminderListingActivity.kt | 74 +++++++++++++++++-- 1 file changed, 67 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ReminderListingActivity.kt b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ReminderListingActivity.kt index d8c771ed..616f8090 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ReminderListingActivity.kt +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ReminderListingActivity.kt @@ -1,6 +1,7 @@ package ml.docilealligator.infinityforreddit.activities import android.content.Context +import android.content.Intent import android.content.SharedPreferences import android.os.Build import android.os.Bundle @@ -8,6 +9,7 @@ import android.util.Log import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.background +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -151,12 +153,34 @@ class ReminderListingActivity : BaseActivity() { Spacer(Modifier.height(16.dp)) } items(it) { reminder -> - PostReminder( - Modifier - .padding(horizontal = 16.dp) - .padding(bottom = 16.dp), - reminder - ) + if (reminder.commentId.isEmpty()) { + PostReminder( + Modifier + .padding(horizontal = 16.dp) + .padding(bottom = 16.dp), + reminder + ) { + startActivity( + Intent(context, ViewPostDetailActivity::class.java).apply { + putExtra(ViewPostDetailActivity.EXTRA_POST_ID, reminder.postId) + } + ) + } + } else { + CommentReminder( + Modifier + .padding(horizontal = 16.dp) + .padding(bottom = 16.dp), + reminder + ) { + startActivity( + Intent(context, ViewPostDetailActivity::class.java).apply { + putExtra(ViewPostDetailActivity.EXTRA_POST_ID, reminder.postId) + putExtra(ViewPostDetailActivity.EXTRA_SINGLE_COMMENT_ID, reminder.commentId) + } + ) + } + } } } } @@ -166,7 +190,7 @@ class ReminderListingActivity : BaseActivity() { } @Composable - private fun PostReminder(modifier: Modifier, reminder: Reminder) { + private fun PostReminder(modifier: Modifier, reminder: Reminder, onClick: () -> Unit) { val context = LocalContext.current val remainingText by remember { mutableStateOf(getRemainingTimeText(context, reminder.reminderTime)) @@ -176,6 +200,9 @@ class ReminderListingActivity : BaseActivity() { modifier = modifier .fillMaxSize(1f) .clip(RoundedCornerShape(16.dp)) + .clickable { + onClick() + } .background(Color(LocalAppTheme.current.filledCardViewBackgroundColor)) .padding(16.dp) ) { @@ -195,6 +222,39 @@ class ReminderListingActivity : BaseActivity() { } } + @Composable + private fun CommentReminder(modifier: Modifier, reminder: Reminder, onClick: () -> Unit) { + val context = LocalContext.current + val remainingText by remember { + mutableStateOf(getRemainingTimeText(context, reminder.reminderTime)) + } + + Column( + modifier = modifier + .fillMaxSize(1f) + .clip(RoundedCornerShape(16.dp)) + .clickable { + onClick() + } + .background(Color(LocalAppTheme.current.filledCardViewBackgroundColor)) + .padding(16.dp) + ) { + Row( + modifier = Modifier + .fillMaxSize(1f) + .padding(bottom = 8.dp) + ) { + PrimaryText(R.string.comment) + + Spacer(modifier = Modifier.weight(1f)) + + PrimaryText(remainingText) + } + + SecondaryText(reminder.content, fontSize = LocalTypography.current.titleFontSize.default) + } + } + fun getRemainingTimeText(context: Context, time: Long): String { val diff = System.currentTimeMillis() - time