diff --git a/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Domain/Usecases/ParseItemFilterResultUseCaseImpl.swift b/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Domain/Usecases/ParseItemFilterResultUseCaseImpl.swift index db6fdba9..76f78f15 100644 --- a/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Domain/Usecases/ParseItemFilterResultUseCaseImpl.swift +++ b/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Domain/Usecases/ParseItemFilterResultUseCaseImpl.swift @@ -3,7 +3,8 @@ import MLSDictionaryFeatureInterface public final class ParseItemFilterResultUseCaseImpl: ParseItemFilterResultUseCase { private let jobIdMap: [String: Int] = [ - "전사": 100, "마법사": 200, "도적": 400, "궁수": 300, "해적": 500 + "전사": 100, "마법사": 200, "도적": 400, "궁수": 300, "해적": 500, + "소울마스터": 1100, "플레임위자드": 1200, "윈드브레이커": 1300, "나이트워커": 1400, "스트라이커": 1500 ] private let categoryIdMap: [String: Int] = [ "한손검": 7, "한손도끼": 8, "한손둔기": 9, "단검": 10, "완드": 12, diff --git a/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Presentation/DictionaryList/DictionaryListViewController.swift b/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Presentation/DictionaryList/DictionaryListViewController.swift index e4707c30..a321f406 100644 --- a/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Presentation/DictionaryList/DictionaryListViewController.swift +++ b/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Presentation/DictionaryList/DictionaryListViewController.swift @@ -424,14 +424,17 @@ extension DictionaryListViewController: UICollectionViewDelegate, UICollectionVi let now = Date() guard now.timeIntervalSince(lastPagingTime) > 0.5 else { return } + guard let reactor = reactor, + reactor.currentState.listItems.count < reactor.currentState.totalCounts else { return } + let offsetY = scrollView.contentOffset.y let contentHeight = scrollView.contentSize.height let height = scrollView.frame.size.height if offsetY > contentHeight - height - 100 { lastPagingTime = now - reactor?.action.onNext(.setCurrentPage) - reactor?.action.onNext(.fetchList) + reactor.action.onNext(.setCurrentPage) + reactor.action.onNext(.fetchList) } } } diff --git a/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Presentation/ItemFilterBottomSheet/ItemFilterBottomSheetReactor.swift b/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Presentation/ItemFilterBottomSheet/ItemFilterBottomSheetReactor.swift index 99b2c8ad..6c64b960 100644 --- a/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Presentation/ItemFilterBottomSheet/ItemFilterBottomSheetReactor.swift +++ b/MLS/MLSDictionaryFeature/Sources/MLSDictionaryFeature/Presentation/ItemFilterBottomSheet/ItemFilterBottomSheetReactor.swift @@ -32,7 +32,7 @@ public final class ItemFilterBottomSheetReactor: Reactor { public struct State { var sections: [String] = ["직업/레벨", "무기", "발사체", "방어구", "장신구", "주문서", "기타"] - var jobs: [String] = ["없음", "공용", "마법사", "전사", "궁수", "도적", "해적"] + var jobs: [String] = ["없음", "공용", "마법사", "전사", "궁수", "도적", "해적", "소울마스터", "플레임위자드", "윈드브레이커", "나이트워커", "스트라이커"] var weapons: [String] = ["한손검", "한손도끼", "한손둔기", "창", "단검", "두손검", "두손도끼", "두손둔기", "폴암", "활", "석궁", "완드", "스태프", "아대", "건", "너클"] var projectiles: [String] = ["화살", "표창", "불릿"] var armors: [String] = ["모자", "상의", "하의", "장갑", "신발", "방패", "전신갑옷"] // 전신 = 전신갑옷?