OKAUEND / ffxiv_vtuber_archives

FFXIVでLiveをしているVtuberの過去アーカイブ一覧サイト
1 stars 0 forks source link

反映 - Prismaを使い配信者一覧のページネーションを実現する #102

Closed OKAUEND closed 1 year ago

OKAUEND commented 1 year ago

Issue / Ticket

Trello - 配信者一覧ページでのスプレッドシートより取得している処理をPrismaに置換し、ページネーションを実装する Trello - ページネーションでは、2ページ目以降は別ページへ遷移 Trello - トータル件数から、ページネーション先の要素作成数を絞る

Why

ページネーションの機能を準備段階として作ってあったので、Prismaの機能を使い本格的に実装する TOPページや2ページ以降の配信者一覧は、条件抽出をしていないので表示速度を優先するためSSRで実現したいため アーカイブ一覧の方は無限スクロールで実装したため、こちらはページネーションを技術的に試してみたかった

What

PrismaのSkipとTakeを使い、次に取得する件数と開始インデックスをずらしていく。 2ページ以降はページ数をマイナス1し、一回に取得する件数を乗算することで、Skip数を算出する。 ページ数をマイナス1しないと、算出されたSkip数が多めに出てしまい、開始インデックスが飛んでしまうため。 (例:2(page) * 20(一回に取得する件数) = 40) トータル件数を渡すことで、何ページ目までのボタンを表示するかの判別も行う

Next Point

変更画面のサンプル

82ecf36bc4e251b938060a985bc398f5

参考資料