Skip to content

Commit

Permalink
[Feat] Review 조회/등록 View Coordinator 연결 - #2
Browse files Browse the repository at this point in the history
  • Loading branch information
Jin0331 committed Feb 2, 2025
1 parent 279a10e commit b4baab1
Show file tree
Hide file tree
Showing 12 changed files with 384 additions and 55 deletions.
54 changes: 53 additions & 1 deletion Whidy-iOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,13 @@
6BF2D8822D4C51E600252A43 /* SearchView+ChildView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D8812D4C51E600252A43 /* SearchView+ChildView.swift */; };
6BF2D9302D4DD51D00252A43 /* InfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D92F2D4DD51D00252A43 /* InfoView.swift */; };
6BF2D94B2D4E696900252A43 /* InfoDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D94A2D4E696900252A43 /* InfoDetailView.swift */; };
6BF2D95A2D4F433900252A43 /* InfoDetailFeature.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D9592D4F433900252A43 /* InfoDetailFeature.swift */; };
6BF2D95C2D4F435200252A43 /* ReviewExpandedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D95B2D4F435200252A43 /* ReviewExpandedView.swift */; };
6BF2D95E2D4F442900252A43 /* ReviewFeature.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D95D2D4F442900252A43 /* ReviewFeature.swift */; };
6BF2D9602D4F44D200252A43 /* ReviewWriteFilterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D95F2D4F44D200252A43 /* ReviewWriteFilterView.swift */; };
6BF2D9622D4F44D600252A43 /* ReviewWriteTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D9612D4F44D600252A43 /* ReviewWriteTextView.swift */; };
6BF2D9642D4F454100252A43 /* ReviewWriteFilterFeature.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D9632D4F454100252A43 /* ReviewWriteFilterFeature.swift */; };
6BF2D9662D4F458300252A43 /* ReviewWriteTextFeature.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF2D9652D4F458300252A43 /* ReviewWriteTextFeature.swift */; };
/* End PBXBuildFile section */

/* Begin PBXCopyFilesBuildPhase section */
Expand Down Expand Up @@ -253,6 +260,13 @@
6BF2D8812D4C51E600252A43 /* SearchView+ChildView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SearchView+ChildView.swift"; sourceTree = "<group>"; };
6BF2D92F2D4DD51D00252A43 /* InfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoView.swift; sourceTree = "<group>"; };
6BF2D94A2D4E696900252A43 /* InfoDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoDetailView.swift; sourceTree = "<group>"; };
6BF2D9592D4F433900252A43 /* InfoDetailFeature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoDetailFeature.swift; sourceTree = "<group>"; };
6BF2D95B2D4F435200252A43 /* ReviewExpandedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewExpandedView.swift; sourceTree = "<group>"; };
6BF2D95D2D4F442900252A43 /* ReviewFeature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewFeature.swift; sourceTree = "<group>"; };
6BF2D95F2D4F44D200252A43 /* ReviewWriteFilterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewWriteFilterView.swift; sourceTree = "<group>"; };
6BF2D9612D4F44D600252A43 /* ReviewWriteTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewWriteTextView.swift; sourceTree = "<group>"; };
6BF2D9632D4F454100252A43 /* ReviewWriteFilterFeature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewWriteFilterFeature.swift; sourceTree = "<group>"; };
6BF2D9652D4F458300252A43 /* ReviewWriteTextFeature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewWriteTextFeature.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -302,9 +316,10 @@
6B6220732D37AA6C00C5F2C8 /* View */ = {
isa = PBXGroup;
children = (
6BF2D92E2D4DD50600252A43 /* Info */,
6BF2D85D2D49ECFC00252A43 /* StudyMap */,
6BF2D85E2D49ED0400252A43 /* Search */,
6BF2D92E2D4DD50600252A43 /* Info */,
6BF2D9562D4F430000252A43 /* Review */,
);
path = View;
sourceTree = "<group>";
Expand All @@ -314,6 +329,8 @@
children = (
6BF2D85F2D49ED1000252A43 /* StudyMap */,
6BF2D8602D49ED1E00252A43 /* Search */,
6BF2D9572D4F430C00252A43 /* Info */,
6BF2D9582D4F431100252A43 /* Review */,
);
path = Feature;
sourceTree = "<group>";
Expand Down Expand Up @@ -794,6 +811,34 @@
path = Info;
sourceTree = "<group>";
};
6BF2D9562D4F430000252A43 /* Review */ = {
isa = PBXGroup;
children = (
6BF2D95B2D4F435200252A43 /* ReviewExpandedView.swift */,
6BF2D95F2D4F44D200252A43 /* ReviewWriteFilterView.swift */,
6BF2D9612D4F44D600252A43 /* ReviewWriteTextView.swift */,
);
path = Review;
sourceTree = "<group>";
};
6BF2D9572D4F430C00252A43 /* Info */ = {
isa = PBXGroup;
children = (
6BF2D9592D4F433900252A43 /* InfoDetailFeature.swift */,
);
path = Info;
sourceTree = "<group>";
};
6BF2D9582D4F431100252A43 /* Review */ = {
isa = PBXGroup;
children = (
6BF2D95D2D4F442900252A43 /* ReviewFeature.swift */,
6BF2D9632D4F454100252A43 /* ReviewWriteFilterFeature.swift */,
6BF2D9652D4F458300252A43 /* ReviewWriteTextFeature.swift */,
);
path = Review;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
Expand Down Expand Up @@ -908,6 +953,7 @@
6B6276502D35F01A00843C9E /* HTTPHeader.swift in Sources */,
6BF2D85C2D49ECED00252A43 /* StudyMapView+ChildView.swift in Sources */,
6BF2D8802D4A6FD700252A43 /* OnboardingCoordinatorView.swift in Sources */,
6BF2D9602D4F44D200252A43 /* ReviewWriteFilterView.swift in Sources */,
6B6220BE2D39E92900C5F2C8 /* MemberEmailView.swift in Sources */,
6B6276512D35F01A00843C9E /* TargetType.swift in Sources */,
6B6220C02D39E92B00C5F2C8 /* MemberEmailFeature.swift in Sources */,
Expand All @@ -922,6 +968,7 @@
6BF2D8662D49EEA800252A43 /* StudyMapFeature+Enum.swift in Sources */,
6B6275EF2D35EFE200843C9E /* Enviroment.swift in Sources */,
6B6275F02D35EFE200843C9E /* Int+Extension.swift in Sources */,
6BF2D9622D4F44D600252A43 /* ReviewWriteTextView.swift in Sources */,
6B6275F12D35EFE200843C9E /* Publisher+Extension.swift in Sources */,
6B6220932D3882C500C5F2C8 /* ScrapFeature.swift in Sources */,
6BF2D8642D49ED3D00252A43 /* SearchFeature.swift in Sources */,
Expand All @@ -933,6 +980,7 @@
6B6220A42D388D8500C5F2C8 /* MyPageScreen+Identifiable.swift in Sources */,
6B6220A52D388D8500C5F2C8 /* MyPageFeature.swift in Sources */,
6B6220A62D388D8500C5F2C8 /* MyPageCoordinator.swift in Sources */,
6BF2D95E2D4F442900252A43 /* ReviewFeature.swift in Sources */,
6B6220C52D39EDD700C5F2C8 /* LoadingView.swift in Sources */,
6B6220C62D39EDD700C5F2C8 /* BackButton.swift in Sources */,
6B6221852D3B720E00C5F2C8 /* MemberSession.swift in Sources */,
Expand All @@ -949,6 +997,7 @@
6B62763C2D35EFFB00843C9E /* NormalTextFieldModifier.swift in Sources */,
6BF2D94B2D4E696900252A43 /* InfoDetailView.swift in Sources */,
6B6220CA2D39F56A00C5F2C8 /* SignUpRequest.swift in Sources */,
6BF2D9662D4F458300252A43 /* ReviewWriteTextFeature.swift in Sources */,
6B6276892D35FDD000843C9E /* Color.swift in Sources */,
6B62763D2D35EFFB00843C9E /* DateFormatUtil.swift in Sources */,
6B6220842D37AC5900C5F2C8 /* StudyMapFeature.swift in Sources */,
Expand All @@ -958,6 +1007,7 @@
6B6276402D35EFFB00843C9E /* DynamicFontSizeModifier.swift in Sources */,
6B6276A72D361F1100843C9E /* AuthView.swift in Sources */,
6B6276422D35EFFB00843C9E /* TextBackgroundModifier.swift in Sources */,
6BF2D95C2D4F435200252A43 /* ReviewExpandedView.swift in Sources */,
6B62218A2D3B989600C5F2C8 /* MapView.swift in Sources */,
6B6276442D35EFFB00843C9E /* NormalTextLabelModifier2.swift in Sources */,
6B6276732D35F02B00843C9E /* NetworkManager+Auth.swift in Sources */,
Expand All @@ -973,6 +1023,7 @@
6B6276A12D361CE300843C9E /* OnboardingScreen.swift in Sources */,
6B6276472D35EFFB00843C9E /* RedactedModifier.swift in Sources */,
6B6276482D35EFFB00843C9E /* ButtonWrapper.swift in Sources */,
6BF2D9642D4F454100252A43 /* ReviewWriteFilterFeature.swift in Sources */,
6B6276492D35EFFB00843C9E /* FontModifier.swift in Sources */,
6B62764A2D35EFFB00843C9E /* NetworkMonitor.swift in Sources */,
6B6275F22D35EFE200843C9E /* Notification.name+Extension.swift in Sources */,
Expand All @@ -985,6 +1036,7 @@
6B6276A92D361F4100843C9E /* AuthFeature.swift in Sources */,
6B6220B62D38DFB900C5F2C8 /* MemberNicknameFeature.swift in Sources */,
6B6220CF2D39F73E00C5F2C8 /* SignIn.swift in Sources */,
6BF2D95A2D4F433900252A43 /* InfoDetailFeature.swift in Sources */,
6B6275F52D35EFE200843C9E /* UIDevice+Extension.swift in Sources */,
6B6275F62D35EFE200843C9E /* UserDefaults+Extension.swift in Sources */,
6B62208D2D3882C000C5F2C8 /* ScrapScreen+Identifiable.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ struct StudyMapCoordinatorView : View {
SearchView(store: store)
case let .infoDetail(store):
InfoDetailView(store: store)
case let .reviewExpanded(store):
ReviewExpandedView(store: store)
case let .reviewWriteFilter(store):
ReviewWriteFilterView(store: store)
case let .reviewWriteText(store):
ReviewWriteTextView(store: store)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,23 @@ extension StudyMapScreen.State : Identifiable {
.search
case .infoDetail:
.infoDetail
case .reviewExpanded:
.reviewExpanded
case .reviewWriteFilter:
.reviewWriteFilter
case .reviewWriteText:
.reviewWriteText

}
}

enum ID : Identifiable {
case studyMap
case search
case infoDetail
case reviewExpanded
case reviewWriteFilter
case reviewWriteText
var id: ID { self }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,7 @@ enum StudyMapScreen {
case studyMap(StudyMapFeature)
case search(SearchFeature)
case infoDetail(InfoDetailFeature)
case reviewExpanded(ReviewExpandedFeature)
case reviewWriteFilter(ReviewWriteFilterFeature)
case reviewWriteText(ReviewWriteTextFeature)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
//
// InfoDetailFeature.swift
// Whidy-iOS
//
// Created by JinwooLee on 2/2/25.
//

import Foundation
import ComposableArchitecture

@Reducer
struct InfoDetailFeature {
@ObservableState
struct State : Equatable {
let id = UUID()

}

enum Action : BindableAction {
case binding(BindingAction<State>)
case networkResponse(NetworkReponse)
case buttonTapped(ButtonTapped)
case viewTransition(ViewTransition)
case anyAction(AnyAction)
}

enum ViewTransition {
case onAppear
case dismiss
}

enum NetworkReponse {

}

enum ButtonTapped {

}


enum AnyAction {

}

@Dependency(\.networkManager) var networkManager

var body : some ReducerOf<Self> {

BindingReducer()

Reduce { state, action in
switch action {


default :
break
}
return .none
}
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
//
// ReviewFeature.swift
// Whidy-iOS
//
// Created by JinwooLee on 2/2/25.
//

import Foundation
import ComposableArchitecture

@Reducer
struct ReviewExpandedFeature {
@ObservableState
struct State : Equatable {
let id = UUID()

}

enum Action : BindableAction {
case binding(BindingAction<State>)
case networkResponse(NetworkReponse)
case buttonTapped(ButtonTapped)
case viewTransition(ViewTransition)
case anyAction(AnyAction)
}

enum ViewTransition {
case onAppear
}

enum NetworkReponse {

}

enum ButtonTapped {

}


enum AnyAction {

}

@Dependency(\.networkManager) var networkManager

var body : some ReducerOf<Self> {

BindingReducer()

Reduce { state, action in
switch action {


default :
break
}
return .none
}
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
//
// ReviewWriteFilterFeature.swift
// Whidy-iOS
//
// Created by JinwooLee on 2/2/25.
//

import Foundation
import ComposableArchitecture

@Reducer
struct ReviewWriteFilterFeature {
@ObservableState
struct State : Equatable {
let id = UUID()

}

enum Action : BindableAction {
case binding(BindingAction<State>)
case networkResponse(NetworkReponse)
case buttonTapped(ButtonTapped)
case viewTransition(ViewTransition)
case anyAction(AnyAction)
}

enum ViewTransition {
case onAppear
}

enum NetworkReponse {

}

enum ButtonTapped {

}


enum AnyAction {

}

@Dependency(\.networkManager) var networkManager

var body : some ReducerOf<Self> {

BindingReducer()

Reduce { state, action in
switch action {


default :
break
}
return .none
}
}
}

Loading

0 comments on commit b4baab1

Please sign in to comment.