feat: 重构用户动态功能,整合MeFeature并更新MainFeature
- 将MeDynamicFeature重命名为MeFeature,并在MainFeature中进行相应更新。 - 更新MainFeature的状态管理,整合用户动态相关逻辑。 - 新增MeFeature以管理用户信息和动态加载,提升代码结构清晰度。 - 更新MainView和MeView以适应新的MeFeature,优化用户体验。 - 删除冗余的MeDynamicView,简化视图结构,提升代码可维护性。
This commit is contained in:
@@ -10,7 +10,7 @@ struct MainFeature: Reducer {
|
||||
struct State: Equatable {
|
||||
var selectedTab: Tab = .feed
|
||||
var feedList: FeedListFeature.State = .init()
|
||||
var meDynamic: MeDynamicFeature.State = .init(uid: 0)
|
||||
var me: MeFeature.State = .init()
|
||||
var accountModel: AccountModel? = nil
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ struct MainFeature: Reducer {
|
||||
case onAppear
|
||||
case selectTab(Tab)
|
||||
case feedList(FeedListFeature.Action)
|
||||
case meDynamic(MeDynamicFeature.Action)
|
||||
case me(MeFeature.Action)
|
||||
case accountModelLoaded(AccountModel?)
|
||||
}
|
||||
|
||||
@@ -27,8 +27,8 @@ struct MainFeature: Reducer {
|
||||
Scope(state: \.feedList, action: \.feedList) {
|
||||
FeedListFeature()
|
||||
}
|
||||
Scope(state: \.meDynamic, action: \.meDynamic) {
|
||||
MeDynamicFeature()
|
||||
Scope(state: \.me, action: \.me) {
|
||||
MeFeature()
|
||||
}
|
||||
Reduce { state, action in
|
||||
switch action {
|
||||
@@ -40,20 +40,16 @@ struct MainFeature: Reducer {
|
||||
case .selectTab(let tab):
|
||||
state.selectedTab = tab
|
||||
if tab == .other, let uidStr = state.accountModel?.uid, let uid = Int(uidStr), uid > 0 {
|
||||
state.meDynamic = MeDynamicFeature.State(uid: uid)
|
||||
return .send(.meDynamic(.onAppear))
|
||||
state.me = MeFeature.State(uid: uid)
|
||||
return .send(.me(.onAppear))
|
||||
}
|
||||
return .none
|
||||
case .feedList:
|
||||
return .none
|
||||
case let .accountModelLoaded(accountModel):
|
||||
state.accountModel = accountModel
|
||||
if let uidStr = accountModel?.uid, let uid = Int(uidStr), uid > 0 {
|
||||
state.meDynamic = MeDynamicFeature.State(uid: uid)
|
||||
return .send(.meDynamic(.onAppear))
|
||||
}
|
||||
return .none
|
||||
default:
|
||||
case .me:
|
||||
return .none
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user