Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 173 ページング機能のエラー発生時の復帰処理を実装 #209

Merged
merged 15 commits into from
Jul 23, 2024

Conversation

Aosanori
Copy link
Contributor

@Aosanori Aosanori commented May 21, 2024

概要

レビュー観点

@akatsuki174 さんのお陰で解決しました!ありがとうございました!
common_paging_view.dartにおいて、
2ページ目以降の読み込み、表示、再読み込みの3つについての条件分岐が複雑であり、
三項演算子では可読性に乏しくなると考えました。
そこで無理矢理ですが、可読性の観点からswitch文を用いました。

こちらについてさらに良い方法がございましたら、ご教授いただけますと幸いです

switch (data.hasMore) {
  true when hasError && isLoading => const Center(
      child: Padding(
        padding: EdgeInsets.all(16),
        child: CircularProgressIndicator(),
      ),
    ),
  true when hasError && !isLoading => _EndItemWhenError(
      onPressed: () async =>
          ref.read(_provider.notifier).loadNext(),
    ),
  true when !hasError => _EndItem(
      onScrollEnd: () async =>
          ref.read(_provider.notifier).loadNext(),
    ),
  true => null,
  false => null,
},

レビューレベル

  • Lv1: ぱっとみて違和感がないかチェックして Approve する
  • Lv2: 仕様レベルまで理解して、仕様通りに動くかある程度検証して Approve する
  • Lv3: 実際に環境で動作確認したうえで Approve する

レビュー優先度

  • すぐに見てもらいたい ( hotfix など ) 🚀
  • 今日中に見てもらいたい 🚗
  • 今日〜明日中で見てもらいたい 🚶
  • 数日以内で見てもらいたい 🐢

画像 / 動画

  • 読み込み失敗時に再読み込みのためのボタンを設置いたしました。
  • ボタンをタップ時に、再読み込みが行われます。その際に読み込み中はCircularProgressIndicatorが表示されるようにしました。
Before After Design
2024-05-21.18.15.24.mov
2024-05-21.17.34.39.mov

動作確認手順

  • 初回読み込みのために最初は通常通りにアプリ起動
  • 2ページ目以降は機内モードに設定もしくはPCのWIFIを切ってから、スクロールし追加読み込みを行う。
  • 読み込みが失敗したことを確認したら、再びシミュレータをオンラインの状態に戻しrefreshボタンをタップする。
  • 正常に次のページが読み込まれたら動作確認完了。

備考

@Aosanori Aosanori self-assigned this May 21, 2024
@yumemi-team-review-requester yumemi-team-review-requester bot requested review from a team, akatsuki174 and warahiko and removed request for a team May 21, 2024 09:10
Copy link

Ready for review 🚀

Copy link

github-actions bot commented May 21, 2024

Visit the preview URL for this PR (updated for commit 4dcf96c):

https://flutter-mobile-project-template-catalog--pr209-issue-1-kuhlhesg.web.app

(expires Tue, 30 Jul 2024 01:14:21 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 9ea56735a63d07a7cfe62eb204b0528284c37c23

Copy link

@akatsuki174 akatsuki174 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

コメントしましたが、Flutter/Dartからしばらく離れているので、他の方のレビューもいただけるといいかなという状態です 🙇

@Aosanori
Copy link
Contributor Author

Aosanori commented May 27, 2024

愚問で申し訳ござませんが、CIがcheck-format-ci.sh で失敗している原因を教えていただきたいです。

Switch式を切り出す以前のテスト(c82f97a)は成功していましたが、Switch式の切り出し等のリファクタリングを行った結果、CIからエラーが出力されるようになりました。(1a3cf4c),(bc7299b)

そこでテストが失敗している原因の究明のためにローカルで実行した結果、以下の出力が得られました。

$ bash scripts/check-format-ci.sh

Fixes might be needed for ./packages/cores/core/.dart_tool/build/entrypoint/build.dart
Fixes might be needed for ./apps/app/.dart_tool/flutter_build/dart_plugin_registrant.dart
Fixes might be needed for ./apps/app/.dart_tool/build/entrypoint/build.dart

check-format-ci.shでは、コードが警告の有無、正しく整形されているかをチェックするものと認識しております。しかしながらCIのエラーの有無に関わらず出力は変化しないため、原因の見当がつきません。

お忙しいところ恐縮ですが、回答の方お待ちしております。

@K9i-0
Copy link
Contributor

K9i-0 commented May 30, 2024

@Aosanori

[cores_core]: Changed ./lib/src/ui/util/common_paging_view.dart

このファイルのフォーマットが必要みたいですよ 🙆‍♂️

@Aosanori
Copy link
Contributor Author

@K9i-0
お忙しい中ありがとうございます!
おかげで解決することができました!

Copy link
Contributor

@warahiko warahiko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

レビューが遅れて申し訳ないです
全体的な動きは問題なく、UX が向上していると感じました 👍

細かい点をいくつかコメントしているので、確認いただけるとありがたいです!

Copy link
Member

@blendthink blendthink left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

大変レビュー遅くなってしまい申し訳ありません 🙏
LGTM です!
ご対応ありがとうございます!

@blendthink blendthink merged commit 7bb6249 into main Jul 23, 2024
12 checks passed
@blendthink blendthink deleted the issue-173 branch July 23, 2024 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@packages/cores/core packages cores core package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: ページング機能のエラー発生時の復帰処理を実装する
5 participants