feat: 新增详情页功能以增强用户交互体验

- 在MeFeature中新增showDetail状态和selectedMoment属性,支持详情页的展示。
- 更新Action枚举,添加showDetail和detailDismissed动作以处理详情页逻辑。
- 在MeView中整合showDetail状态与selectedMoment,优化详情页导航和交互逻辑。
- 通过viewStore发送动作,提升状态管理的清晰度与可维护性。
This commit is contained in:
edwinQQQ
2025-07-28 17:32:29 +08:00
parent f9ff572a30
commit 62dcf591f0
2 changed files with 22 additions and 10 deletions

View File

@@ -18,6 +18,9 @@ struct MeFeature {
var page: Int = 1
var pageSize: Int = 20
var uid: Int = 0
// DetailView
var showDetail: Bool = false
var selectedMoment: MomentsInfo?
}
enum Action: Equatable {
@@ -28,6 +31,9 @@ struct MeFeature {
case momentsResponse(Result<MyMomentsResponse, APIError>)
//
case settingButtonTapped
// DetailViewAction
case showDetail(MomentsInfo)
case detailDismissed
}
func reduce(into state: inout State, action: Action) -> Effect<Action> {
@@ -82,6 +88,14 @@ struct MeFeature {
case .settingButtonTapped:
// MainFeature
return .none
case .showDetail(let moment):
state.selectedMoment = moment
state.showDetail = true
return .none
case .detailDismissed:
state.showDetail = false
state.selectedMoment = nil
return .none
}
}