app/src/main/java/com/github/epfl/meili/profile/myposts/MyPostsActivity.kt
package com.github.epfl.meili.profile.myposts
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.github.epfl.meili.R
import com.github.epfl.meili.database.AtomicPostFirestoreDatabase
import com.github.epfl.meili.models.Post
import com.github.epfl.meili.models.User
import com.github.epfl.meili.posts.PostListActivity
import com.github.epfl.meili.posts.PostListViewModel
import com.github.epfl.meili.profile.ProfileActivity
import com.github.epfl.meili.util.ListSorter.Companion.NEWEST
import com.github.epfl.meili.util.MeiliRecyclerAdapter
class MyPostsActivity : AppCompatActivity(), PostListActivity {
override lateinit var recyclerAdapter: MeiliRecyclerAdapter<Pair<Post, User>>
override lateinit var viewModel: PostListViewModel
override var usersMap: Map<String, User> = HashMap()
override var listMap: Map<String, Post> = HashMap()
override var sortOrder = NEWEST
override var showPOI = true
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_my_posts)
val userKey = intent.getStringExtra(ProfileActivity.USER_KEY)
initActivity(
PostListViewModel::class.java,
findViewById(R.id.my_posts_recycler_view),
findViewById(R.id.sort_spinner)
)
viewModel.initDatabase(AtomicPostFirestoreDatabase("forum") {
it.whereEqualTo(Post.AUTHOR_UID_FIELD, userKey)
})
}
override fun getActivity(): AppCompatActivity = this
fun onClick(view: View) {
startActivity(getPostActivityIntent(view.findViewById(R.id.post_id)))
}
}