Milktea icon indicating copy to clipboard operation
Milktea copied to clipboard

チャンネル一覧でページネーションできるようにする

Open pantasystem opened this issue 2 years ago • 6 comments

概要

MisskeyのAPIの不具合が原因でページネーションが機能しないため、 これまでページネーションのロジックを未実装なままにして封印していました。 MisskeyのAPIが修正され、「自分のチャンネル」と「フォローしてるチャンネル」一覧でページネーションできるようになりました。 そこでViewModelとCompose側にページネーションのためのロジックを追加し、チャンネル一覧画面でページネーションできるようにしたいです。

pantasystem avatar Sep 28 '23 06:09 pantasystem

実装方法としては ChannelViewModelのclearAndLoadのmodel.clear()のないバージョンを ChannelViewModelに作成します。 それをUserDetailCardPageableListの要領で、ページの末端判定を行い、 新たに作成したChannelViewModelの次のページを読み込む処理を呼び出すだけです。

pantasystem avatar Sep 28 '23 11:09 pantasystem

アサインお願いします!

sanao1006 avatar Sep 28 '23 12:09 sanao1006

よろしくお願いします🙇

pantasystem avatar Sep 28 '23 12:09 pantasystem

すみません質問いいですか!

ChannelViewModelとFollowFollowerViewModelでは clearAndLoadloadInitに対応していて、

ChannelViewModelのclearAndLoadのmodel.clear()のないバージョン

(これを仮にloadとする) がloadOldに対応している認識で合っていますか?

というのも、loadはチャンネル一覧画面で画面の一番下まで行ったときに実行させて次々にチャンネルを表示させるようにして、clearAndLoadはスワイプ時と https://github.com/pantasystem/Milktea/blob/e5348b42373f291fb5e470aac3f56237284108ce/modules/features/user/src/main/java/net/pantasystem/milktea/user/compose/screen/FollowFollowerScreen.kt#L46-L48 のように初回読み込み時に実行させればいいかなと思ったからです。が、初回入場時スワイプしないとなぜかチャンネルが表示されない&一気にすべてのフォローしてるチャンネルを表示してしまう状態です

ちょっと詰まっている状態なので助言いただけるとありがたいです。必要ならばここまでをWIPでドラフトPR作成します!

sanao1006 avatar Oct 04 '23 13:10 sanao1006

ChannelViewModelとFollowFollowerViewModelでは clearAndLoadloadInitに対応していて、

その認識であっています

(これを仮にloadとする) がloadOldに対応している認識で合っていますか?

これもあっています

チャンネル一覧画面でもLaunchEffectでclearAndLoadを呼び出しています https://github.com/pantasystem/Milktea/blob/7c63c59c1ae153291f22e999fc47ddc31c276e34/modules/features/channel/src/main/java/net/pantasystem/milktea/channel/ChannelListStatePage.kt#L32-L34

pantasystem avatar Oct 05 '23 02:10 pantasystem

ひとまずWIPでPR立てたのでお手すきの際にチェックよろしくお願いします!

sanao1006 avatar Oct 05 '23 12:10 sanao1006