diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index 44f244d..62894d9 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -18,7 +18,7 @@
@@ -28,7 +28,7 @@
diff --git a/.idea/navEditor.xml b/.idea/navEditor.xml
index 6d613d6..0f89bc0 100644
--- a/.idea/navEditor.xml
+++ b/.idea/navEditor.xml
@@ -84,6 +84,18 @@
+
+
+
+
+
+
+
@@ -96,13 +108,13 @@
-
+
-
-
+
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d66df83..85956c2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -28,6 +28,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/isolaatti/home/FeedFragment.kt b/app/src/main/java/com/isolaatti/home/FeedFragment.kt
index 24dec8f..45fc04f 100644
--- a/app/src/main/java/com/isolaatti/home/FeedFragment.kt
+++ b/app/src/main/java/com/isolaatti/home/FeedFragment.kt
@@ -21,6 +21,7 @@ import com.isolaatti.R
import com.isolaatti.common.ErrorMessageViewModel
import com.isolaatti.databinding.FragmentFeedBinding
import com.isolaatti.home.presentation.FeedViewModel
+import com.isolaatti.posting.PostViewerActivity
import com.isolaatti.posting.posts.presentation.PostsViewModel
import com.isolaatti.posting.comments.presentation.BottomSheetPostComments
import com.isolaatti.posting.common.domain.OnUserInteractedWithPostCallback
@@ -195,8 +196,12 @@ class FeedFragment : Fragment(), OnUserInteractedWithPostCallback {
modalBottomSheet.show(requireActivity().supportFragmentManager, BottomSheetPostComments.TAG)
}
+ override fun onOpenPost(postId: Long) {
+ PostViewerActivity.startActivity(requireContext(), postId)
+ }
+
override fun onProfileClick(userId: Int) {
- TODO("Not yet implemented")
+ ProfileActivity.startActivity(requireContext(), userId)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/isolaatti/posting/PostViewerActivity.kt b/app/src/main/java/com/isolaatti/posting/PostViewerActivity.kt
new file mode 100644
index 0000000..e9cb80b
--- /dev/null
+++ b/app/src/main/java/com/isolaatti/posting/PostViewerActivity.kt
@@ -0,0 +1,35 @@
+package com.isolaatti.posting
+
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import com.isolaatti.common.IsolaattiBaseActivity
+import com.isolaatti.databinding.ActivityCreatePostBinding
+import com.isolaatti.databinding.ActivityPostViewerBinding
+
+class PostViewerActivity : IsolaattiBaseActivity() {
+ companion object {
+ const val POST_ID = "postId"
+ fun startActivity(context: Context, postId: Long) {
+ context.startActivity(Intent(context, PostViewerActivity::class.java).apply {
+ putExtra(POST_ID, postId)
+ })
+ }
+ }
+
+
+ private lateinit var binding: ActivityPostViewerBinding
+
+ private var postId: Long? = null
+ override fun onRetry() {
+ TODO("Not yet implemented")
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ binding = ActivityPostViewerBinding.inflate(layoutInflater)
+
+ setContentView(binding.root)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/isolaatti/posting/comments/presentation/BottomSheetPostComments.kt b/app/src/main/java/com/isolaatti/posting/comments/presentation/BottomSheetPostComments.kt
index 3967f3e..0e7ddab 100644
--- a/app/src/main/java/com/isolaatti/posting/comments/presentation/BottomSheetPostComments.kt
+++ b/app/src/main/java/com/isolaatti/posting/comments/presentation/BottomSheetPostComments.kt
@@ -21,6 +21,7 @@ import com.isolaatti.posting.common.options_bottom_sheet.domain.OptionClicked
import com.isolaatti.posting.common.options_bottom_sheet.domain.Options
import com.isolaatti.posting.common.options_bottom_sheet.presentation.BottomSheetPostOptionsViewModel
import com.isolaatti.posting.common.options_bottom_sheet.ui.BottomSheetPostOptionsFragment
+import com.isolaatti.profile.ui.ProfileActivity
import com.isolaatti.utils.PicassoImagesPluginDef
import dagger.hilt.android.AndroidEntryPoint
import io.noties.markwon.AbstractMarkwonPlugin
@@ -125,6 +126,6 @@ class BottomSheetPostComments() : BottomSheetDialogFragment(), OnUserInteractedC
}
override fun onProfileClick(userId: Int) {
-
+ ProfileActivity.startActivity(requireContext(), userId)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/isolaatti/posting/common/domain/OnUserInteractedWithPostCallback.kt b/app/src/main/java/com/isolaatti/posting/common/domain/OnUserInteractedWithPostCallback.kt
index 23d0aeb..00413b6 100644
--- a/app/src/main/java/com/isolaatti/posting/common/domain/OnUserInteractedWithPostCallback.kt
+++ b/app/src/main/java/com/isolaatti/posting/common/domain/OnUserInteractedWithPostCallback.kt
@@ -4,4 +4,5 @@ interface OnUserInteractedWithPostCallback : OnUserInteractedCallback {
fun onLiked(postId: Long)
fun onUnLiked(postId: Long)
fun onComment(postId: Long)
+ fun onOpenPost(postId: Long)
}
\ No newline at end of file
diff --git a/app/src/main/java/com/isolaatti/posting/posts/presentation/PostsRecyclerViewAdapter.kt b/app/src/main/java/com/isolaatti/posting/posts/presentation/PostsRecyclerViewAdapter.kt
index 0391062..06b3551 100644
--- a/app/src/main/java/com/isolaatti/posting/posts/presentation/PostsRecyclerViewAdapter.kt
+++ b/app/src/main/java/com/isolaatti/posting/posts/presentation/PostsRecyclerViewAdapter.kt
@@ -10,6 +10,7 @@ import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.google.android.material.button.MaterialButton
+import com.google.android.material.card.MaterialCardView
import com.isolaatti.R
import com.isolaatti.posting.posts.data.remote.FeedDto
import com.isolaatti.posting.common.domain.OnUserInteractedWithPostCallback
@@ -57,6 +58,9 @@ class PostsRecyclerViewAdapter (private val markwon: Markwon, private val callba
} else {
val username: TextView = itemView.findViewById(R.id.text_view_username)
username.text = postDto.userName
+ username.setOnClickListener {
+ callback.onProfileClick(postDto.post.userId)
+ }
val profileImageView: ImageView = itemView.findViewById(R.id.avatar_picture)
Picasso.get().load(userProfileImage(postDto.post.userId)).into(profileImageView)
@@ -97,6 +101,11 @@ class PostsRecyclerViewAdapter (private val markwon: Markwon, private val callba
commentsButton.setOnClickListener {
callback.onComment(postDto.post.id)
}
+
+ itemView.findViewById(R.id.card).setOnClickListener {
+ callback.onOpenPost(postDto.post.id)
+ }
+
}
}
}
diff --git a/app/src/main/java/com/isolaatti/profile/ui/ProfileActivity.kt b/app/src/main/java/com/isolaatti/profile/ui/ProfileActivity.kt
index 0ace859..d852eb0 100644
--- a/app/src/main/java/com/isolaatti/profile/ui/ProfileActivity.kt
+++ b/app/src/main/java/com/isolaatti/profile/ui/ProfileActivity.kt
@@ -1,5 +1,7 @@
package com.isolaatti.profile.ui
+import android.content.Context
+import android.content.Intent
import android.os.Bundle
import androidx.activity.addCallback
import androidx.activity.viewModels
@@ -83,5 +85,11 @@ class ProfileActivity : AppCompatActivity() {
companion object {
const val EXTRA_USER_ID = "user_id"
+
+ fun startActivity(context: Context, userId: Int) {
+ context.startActivity(Intent(context, ProfileActivity::class.java).apply {
+ putExtra(EXTRA_USER_ID, userId)
+ })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/baseline_pending_24.xml b/app/src/main/res/drawable/baseline_pending_24.xml
new file mode 100644
index 0000000..546c628
--- /dev/null
+++ b/app/src/main/res/drawable/baseline_pending_24.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/activity_post_viewer.xml b/app/src/main/res/layout/activity_post_viewer.xml
new file mode 100644
index 0000000..6e3e9a9
--- /dev/null
+++ b/app/src/main/res/layout/activity_post_viewer.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_profile.xml b/app/src/main/res/layout/activity_profile.xml
index 80f1a2d..9d3ff3c 100644
--- a/app/src/main/res/layout/activity_profile.xml
+++ b/app/src/main/res/layout/activity_profile.xml
@@ -20,6 +20,7 @@
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:navigationIcon="@drawable/baseline_arrow_back_24"
+ app:navigationIconTint="@color/on_surface"
app:title="Profile"
app:titleCentered="true" />
diff --git a/app/src/main/res/menu/home_drawer_menu.xml b/app/src/main/res/menu/home_drawer_menu.xml
index 8c79a31..6da574b 100644
--- a/app/src/main/res/menu/home_drawer_menu.xml
+++ b/app/src/main/res/menu/home_drawer_menu.xml
@@ -9,6 +9,10 @@
android:id="@+id/squads_menu_item"
android:icon="@drawable/baseline_people_24"
android:title="Squads" />
+
- Add image
What do you want to talk about? Markdown is compatible. You can record an audio if you want.
Posted!
+ Drafts
\ No newline at end of file