[Discover + Join/Leave] Bind join and host-manage UI states
还没有人认领这个 Issue。
评估
调研方向
Start from the existing layout in lib/screens/home_screen.dart, then create the new lib/screens/sessions/session_detail_screen.dart and choose the Manage, Leave, or Join action from the isHost and isJoined values. Read the onJoin and joinErrorMessage/recoveryFor contracts in the blocking issues (#105, #107, #108) before wiring the pending state. Done when test/screens/sessions/session_detail_screen_dp_d07_test.dart covers the host, pending-tap, and session_full cases, and flutter analyze passes.
由索引模型根据 Issue 内容生成。
描述
What to build
Show the right action on a study meeting: Manage for its host, Leave for a joined student, and Join otherwise. While joining, prevent repeated taps and show the server’s result before changing the visible membership state.
Files
lib/screens/sessions/session_detail_screen.dart(new file)- Starting example: lib/screens/home_screen.dart
Steps
- Use the supplied isHost/isJoined values to show Manage for the host, Leave for another joined student, and Join otherwise.
- When Join is tapped, disable repeated taps, wait for onJoin, then refresh the meeting and seat count after success.
- If joining fails, use joinErrorMessage and recoveryFor. A last-seat failure should show “This session is full.” and refresh the details; do not mark the student joined.
Example
Host never seesJoin; pending tap disabled; session_full leaves user unjoined and refreshes seats.
Check it works
In test/screens/sessions/session_detail_screen_dp_d07_test.dart, check the example above and the failure or limit described in the steps. Run flutter test test/screens/sessions/session_detail_screen_dp_d07_test.dart and flutter analyze.
Before starting
- #105 — Refresh Discover while keeping previous data
- #107 — Map enrollment/host/onboarding join errors
- #32 — Leave with an own-membership delete
- #108 — Read authorized session detail
- #70 — Bind submission completion to the auth gate
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- 主要语言
- PLpgSQL
- 星标
- 0
- 派生
- 0
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
DevDogsUGA/DogPack 的其他 Issue
-
polish
难度 2/5 1-3 小时 新手友好度 72/100
DevDogsUGA/DogPack#131 ·
-
polish
难度 2/5 1-3 小时 新手友好度 65/100
DevDogsUGA/DogPack#130 ·
-
moderation
难度 2/5 1-3 小时 新手友好度 75/100
DevDogsUGA/DogPack#119 ·
-
moderation
难度 2/5 1-3 小时 新手友好度 85/100
DevDogsUGA/DogPack#113 ·
-
discover
难度 2/5 1-3 小时 新手友好度 74/100
DevDogsUGA/DogPack#106 ·
查看 DevDogsUGA/DogPack 的全部 Issue
相似的 Issue
-
enhancement needs-triage ui
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
IQSS/dataverse.org#88 ·
-
难度 1/5 1 小时以内 新手友好度 82/100
-
难度 2/5 1-3 小时 新手友好度 66/100
puppe1990/amarra-cais#345 ·
维护者通常 1 天内回复
-
dashboard good first issue help wanted
难度 2/5 半天 新手友好度 78/100
维护者通常 1 天内回复