Skip to content

Commit b69790c

Browse files
Merge pull request #341 from BCSDLab/chore/noticelist
chore: 분실물 진입점 수정
2 parents f42da57 + 3c11b9c commit b69790c

3 files changed

Lines changed: 19 additions & 22 deletions

File tree

Koin/Apps/SceneDelegate.swift

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
3333
private func handleIncomingDeepLink(url: URL, navigationController: UINavigationController) {
3434
// URL 경로가 "/articles/lost-item"인 경우에 처리
3535
if url.path == "/articles/lost-item" {
36-
let noticeRepository = DefaultNoticeListRepository(service: DefaultNoticeService())
37-
let viewController = NoticeListViewController(viewModel: NoticeListViewModel(
38-
fetchNoticeArticlesUseCase: DefaultFetchNoticeArticlesUseCase(noticeListRepository: noticeRepository),
39-
fetchMyKeywordUseCase: DefaultFetchNotificationKeywordUseCase(noticeListRepository: noticeRepository),
40-
logAnalyticsEventUseCase: DefaultLogAnalyticsEventUseCase(repository: GA4AnalyticsRepository(service: GA4AnalyticsService())),
41-
noticeListType: .lostItem
42-
))
36+
let userRepository = DefaultUserRepository(service: DefaultUserService())
37+
let lostItemRepository = DefaultLostItemRepository(service: DefaultLostItemService())
38+
let checkLoginUseCase = DefaultCheckLoginUseCase(userRepository: userRepository)
39+
let fetchLostItemItemUseCase = DefaultFetchLostItemListUseCase(repository: lostItemRepository)
40+
let viewModel = LostItemListViewModel(checkLoginUseCase: checkLoginUseCase, fetchLostItemListUseCase: fetchLostItemItemUseCase)
41+
let viewController = LostItemListViewController(viewModel: viewModel)
4342
navigationController.pushViewController(viewController, animated: false)
4443
}
4544
// 다른 딥링크 처리 로직을 추가할 수 있습니다.
@@ -51,9 +50,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
5150
// URL의 경로가 "/articles/lost-item"인지 확인
5251
if incomingURL.path == "/articles/lost-item" {
5352
if let navigationController = window?.rootViewController as? UINavigationController {
54-
let noticeRepository = DefaultNoticeListRepository(service: DefaultNoticeService())
55-
let viewController = NoticeListViewController(viewModel: NoticeListViewModel(fetchNoticeArticlesUseCase: DefaultFetchNoticeArticlesUseCase(noticeListRepository: noticeRepository), fetchMyKeywordUseCase: DefaultFetchNotificationKeywordUseCase(noticeListRepository: noticeRepository), logAnalyticsEventUseCase: DefaultLogAnalyticsEventUseCase(repository: GA4AnalyticsRepository(service: GA4AnalyticsService())), noticeListType: .lostItem))
56-
53+
let userRepository = DefaultUserRepository(service: DefaultUserService())
54+
let lostItemRepository = DefaultLostItemRepository(service: DefaultLostItemService())
55+
let checkLoginUseCase = DefaultCheckLoginUseCase(userRepository: userRepository)
56+
let fetchLostItemItemUseCase = DefaultFetchLostItemListUseCase(repository: lostItemRepository)
57+
let viewModel = LostItemListViewModel(checkLoginUseCase: checkLoginUseCase, fetchLostItemListUseCase: fetchLostItemItemUseCase)
58+
let viewController = LostItemListViewController(viewModel: viewModel)
5759
navigationController.pushViewController(viewController, animated: false)
5860
}
5961
// 네비게이션 컨트롤러를 통해 LostItemViewController로 이동

Koin/Domain/Model/NoticeList/NoticeListType.swift

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import Foundation
99

1010
enum NoticeListType: Int, Decodable, CaseIterable {
1111
case all = 4
12-
case lostItem = 14
1312
case general = 5
1413
case scholarship = 6
1514
case university = 7
@@ -23,8 +22,6 @@ enum NoticeListType: Int, Decodable, CaseIterable {
2322
switch self {
2423
case .all:
2524
return "전체공지"
26-
case .lostItem:
27-
return "분실물"
2825
case .general:
2926
return "일반"
3027
case .scholarship:
@@ -45,14 +42,13 @@ enum NoticeListType: Int, Decodable, CaseIterable {
4542
var index: Int {
4643
switch self {
4744
case .all: return 0
48-
case .lostItem: return 1
49-
case .general: return 2
50-
case .scholarship: return 3
51-
case .university: return 4
52-
case .job: return 5
53-
case .ipp: return 6
54-
case .student: return 7
55-
case .koin: return 8
45+
case .general: return 1
46+
case .scholarship: return 2
47+
case .university: return 3
48+
case .job: return 4
49+
case .ipp: return 5
50+
case .student: return 6
51+
case .koin: return 7
5652
}
5753
}
5854

Koin/Presentation/Notice/NoticeList/NoticeListViewController.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ final class NoticeListViewController: UIViewController, UIGestureRecognizerDeleg
115115
switch output {
116116
case let .updateBoard(noticeList, noticeListPages, noticeListType):
117117
self?.updateBoard(noticeList: noticeList, pageInfos: noticeListPages, noticeListType: noticeListType)
118-
self?.writeButton.isHidden = self?.viewModel.noticeListType != .lostItem
119118
case let .updateUserKeywordList(noticeKeywordList, keywordIdx):
120119
self?.updateUserKeywordList(keywords: noticeKeywordList, keywordIdx: keywordIdx)
121120
case let .isLogined(isLogined):

0 commit comments

Comments
 (0)