feat: follow button

This commit is contained in:
rebelonion 2024-03-04 23:38:05 -06:00
parent 5279b0cd65
commit 9b408e7520
6 changed files with 66 additions and 4 deletions

View file

@ -31,6 +31,14 @@ import java.io.Serializable
import kotlin.system.measureTimeMillis
class AnilistQueries {
suspend fun toggleFollow(id: Int): Query.ToggleFollow? {
val response = executeQuery<Query.ToggleFollow>(
"""mutation{ToggleFollow(userId:$id){id, isFollowing, isFollower}}"""
)
return response
}
suspend fun getUserData(): Boolean {
val response: Query.Viewer?
measureTimeMillis {
@ -40,7 +48,6 @@ class AnilistQueries {
val user = response?.data?.user ?: return false
PrefManager.setVal(PrefName.AnilistUserName, user.name)
Anilist.userid = user.id
PrefManager.setVal(PrefName.AnilistUserId, user.id.toString())
Anilist.username = user.name

View file

@ -139,6 +139,19 @@ class Query {
)
}
@Serializable
data class ToggleFollow(
@SerialName("data")
val data: Data?
) {
@Serializable
data class Data(
@SerialName("ToggleFollow")
val toggleFollow: FollowData
)
}
@Serializable
data class GenreCollection(
@SerialName("data")
@ -200,7 +213,7 @@ class Query {
@SerialName("bannerImage")
val bannerImage: String?,
@SerialName("isFollowing")
val isFollowing: Boolean,
var isFollowing: Boolean,
@SerialName("isFollower")
val isFollower: Boolean,
@SerialName("isBlocked")

View file

@ -514,6 +514,12 @@ data class MediaListCollection(
)
@Serializable
data class FollowData(
@SerialName("id") var id: Int,
@SerialName("isFollowing") var isFollowing: Boolean,
)
@Serializable
data class MediaListGroup(
// Media list entries