先日作り直したPodcastのWebサイト。
GraphQL APIのepisodes一覧のfield(言い回しが正しいのか自信なし)を、Cursor-basedなページネーションで実装してしまったせいでPrev / Nextなページネーションしか出来ず使いにくくなっていた。
これを、Page-based(前のブログではOffset-basedと言っていたが、同じ意味)に作り変えた。
こんな感じ。
これで少しは使いやすくなったはず。……なのだけど、本番のデータでやってみると、横幅がオーバーしてしまっていたり、スマホだともう崩壊していたり。
開発環境だけでなく、本番同様のデータでテストする重要性を噛み締めた出来事であった。
ちなみにgraphql-rubyでいい感じにpage-basedなページネーションをやるのに、graphql-paginationというgemがあったのでそれを使った。メンテされているかどうか判断するのに微妙なラインだったけど、最悪自分で実装できそうだったので一旦採用してみることにした。