From ea50f78f9b7dd18e61f76f27e892396b03b5df61 Mon Sep 17 00:00:00 2001 From: JI-doo Date: Thu, 10 Dec 2020 23:32:51 +0900 Subject: [PATCH] Auto stash before merge of "develop" and "origin/develop" --- .../Darner-dan-uh.xcodeproj/project.pbxproj | 43 +++ .../UserInterfaceState.xcuserstate | Bin 129973 -> 130155 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 52 +++- .../Source/Base/Mypage.storyboard | 31 +- .../Source/Base/Ranking.storyboard | 227 +++++++-------- .../Source/Base/Writing.storyboard | 266 +++++++++++++++++- .../Source/Model/MemoModel.swift | 23 ++ .../Source/Model/RankingModel.swift | 11 +- .../MyPage/EnterPwViewController.swift | 38 ++- .../Modules/MyPage/ModifyViewController.swift | 29 +- .../Modules/MyPage/MypageViewController.swift | 4 +- .../Ranking/RankingViewController.swift | 51 ++-- .../Writing/WritingViewController.swift | 70 ++++- .../Source/NetWorking/DarnerAPI.swift | 16 +- .../Modules/Ranking/StackViewController.swift | 25 +- .../Writing/Cell/MemoTableViewCell.swift | 26 ++ .../Writing/DetailViewController.swift | 28 ++ .../Modules/Writing/MemoViewController.swift | 65 +++++ .../Contents.json" | 2 +- .../Contents.json" | 2 +- .../Contents.json" | 2 +- ...2-07 \354\230\244\355\233\204 7.26.08.png" | Bin 0 -> 32113 bytes .../Contents.json" | 2 +- .../Contents.json" | 2 +- .../Contents.json" | 2 +- 25 files changed, 786 insertions(+), 231 deletions(-) create mode 100644 Darner-dan-uh/Darner-dan-uh/Source/Model/MemoModel.swift create mode 100644 Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/Cell/MemoTableViewCell.swift create mode 100644 Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/DetailViewController.swift create mode 100644 Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/MemoViewController.swift create mode 100644 "Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\354\212\244\355\203\235.imageset/\354\212\244\355\201\254\353\246\260\354\203\267 2020-12-07 \354\230\244\355\233\204 7.26.08.png" diff --git a/Darner-dan-uh/Darner-dan-uh.xcodeproj/project.pbxproj b/Darner-dan-uh/Darner-dan-uh.xcodeproj/project.pbxproj index 6ec89e4..dc919d6 100644 --- a/Darner-dan-uh/Darner-dan-uh.xcodeproj/project.pbxproj +++ b/Darner-dan-uh/Darner-dan-uh.xcodeproj/project.pbxproj @@ -10,8 +10,16 @@ 9F2CE42D25674F600024FD12 /* RankingModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F2CE42C25674F600024FD12 /* RankingModel.swift */; }; 9F5765482577360A003B37BA /* Mypage.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9F5765472577360A003B37BA /* Mypage.storyboard */; }; 9FC343302566BA54003AEE58 /* RankingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC3432F2566BA54003AEE58 /* RankingViewModel.swift */; }; + 9FC7CC91257E1CE000412C16 /* StackViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC7CC90257E1CE000412C16 /* StackViewController.swift */; }; + 9FC7CC94257E47FE00412C16 /* MemoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC7CC93257E47FE00412C16 /* MemoViewController.swift */; }; + 9FC7CC99257E5CA900412C16 /* MemoTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC7CC98257E5CA900412C16 /* MemoTableViewCell.swift */; }; + 9FC7CC9D257E681400412C16 /* MemoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC7CC9C257E681400412C16 /* MemoModel.swift */; }; 9FCC818A25772C6B0010123B /* SeeMypageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FCC818925772C6B0010123B /* SeeMypageViewModel.swift */; }; +<<<<<<< Updated upstream D620C5372582587800AA628B /* CharacterCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D620C5362582587800AA628B /* CharacterCollectionViewCell.swift */; }; +======= + 9FE5E5482582566B008D2255 /* DetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FE5E5472582566B008D2255 /* DetailViewController.swift */; }; +>>>>>>> Stashed changes D63FE3212535EF4600DCD75F /* BinggraeMelona-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D63FE31F2535EF4500DCD75F /* BinggraeMelona-Bold.ttf */; }; D63FE3222535EF4600DCD75F /* BinggraeMelona.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D63FE3202535EF4500DCD75F /* BinggraeMelona.ttf */; }; D644AC8825700665002905AE /* CheckCertificationNumberViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D644AC8725700665002905AE /* CheckCertificationNumberViewModel.swift */; }; @@ -73,8 +81,16 @@ 9F2CE42C25674F600024FD12 /* RankingModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RankingModel.swift; sourceTree = ""; }; 9F5765472577360A003B37BA /* Mypage.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Mypage.storyboard; sourceTree = ""; }; 9FC3432F2566BA54003AEE58 /* RankingViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RankingViewModel.swift; sourceTree = ""; }; + 9FC7CC90257E1CE000412C16 /* StackViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StackViewController.swift; sourceTree = ""; }; + 9FC7CC93257E47FE00412C16 /* MemoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoViewController.swift; sourceTree = ""; }; + 9FC7CC98257E5CA900412C16 /* MemoTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoTableViewCell.swift; sourceTree = ""; }; + 9FC7CC9C257E681400412C16 /* MemoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoModel.swift; sourceTree = ""; }; 9FCC818925772C6B0010123B /* SeeMypageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeeMypageViewModel.swift; sourceTree = ""; }; +<<<<<<< Updated upstream D620C5362582587800AA628B /* CharacterCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CharacterCollectionViewCell.swift; sourceTree = ""; }; +======= + 9FE5E5472582566B008D2255 /* DetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailViewController.swift; sourceTree = ""; }; +>>>>>>> Stashed changes D63FE31F2535EF4500DCD75F /* BinggraeMelona-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "BinggraeMelona-Bold.ttf"; sourceTree = ""; }; D63FE3202535EF4500DCD75F /* BinggraeMelona.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = BinggraeMelona.ttf; sourceTree = ""; }; D644AC8725700665002905AE /* CheckCertificationNumberViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckCertificationNumberViewModel.swift; sourceTree = ""; }; @@ -159,6 +175,14 @@ path = Cell; sourceTree = ""; }; + 9FC7CC97257E5C8500412C16 /* Cell */ = { + isa = PBXGroup; + children = ( + 9FC7CC98257E5CA900412C16 /* MemoTableViewCell.swift */, + ); + path = Cell; + sourceTree = ""; + }; A2011636CCE48406938D6CA0 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -318,7 +342,11 @@ children = ( 9FC3431925668426003AEE58 /* Cell */, D6A6E26B2563561300A77E05 /* RankingViewController.swift */, +<<<<<<< Updated upstream D660A21D257DA10600C5FE6F /* StackViewController.swift */, +======= + 9FC7CC90257E1CE000412C16 /* StackViewController.swift */, +>>>>>>> Stashed changes ); path = Ranking; sourceTree = ""; @@ -348,7 +376,10 @@ D6BB3744255D1BF30049BB65 /* Writing */ = { isa = PBXGroup; children = ( + 9FC7CC97257E5C8500412C16 /* Cell */, D6A6E266256355D900A77E05 /* WritingViewController.swift */, + 9FC7CC93257E47FE00412C16 /* MemoViewController.swift */, + 9FE5E5472582566B008D2255 /* DetailViewController.swift */, ); path = Writing; sourceTree = ""; @@ -359,6 +390,7 @@ D660A211257DA01F00C5FE6F /* LevelModel.swift */, D660A214257DA03900C5FE6F /* TestResultModel.swift */, 9F2CE42C25674F600024FD12 /* RankingModel.swift */, + 9FC7CC9C257E681400412C16 /* MemoModel.swift */, ); path = Model; sourceTree = ""; @@ -523,8 +555,12 @@ D6A6E12025634B6400A77E05 /* UIViewController.swift in Sources */, D6A6E23C2563544F00A77E05 /* RegisterViewModel.swift in Sources */, 9F2CE42D25674F600024FD12 /* RankingModel.swift in Sources */, +<<<<<<< Updated upstream D660A21E257DA10600C5FE6F /* StackViewController.swift in Sources */, D660A21A257DA0D700C5FE6F /* RankingCell.swift in Sources */, +======= + 9FC7CC9D257E681400412C16 /* MemoModel.swift in Sources */, +>>>>>>> Stashed changes D6A6E22F2563541E00A77E05 /* EnterPwViewController.swift in Sources */, D6A6E22E2563541E00A77E05 /* SetMainCharacterViewController.swift in Sources */, D6A6E11D25634B6400A77E05 /* ViewControllerName.swift in Sources */, @@ -543,8 +579,10 @@ D6A6E25D2563557600A77E05 /* MemorizationViewController.swift in Sources */, D6A6E2302563541E00A77E05 /* CharacterCollectionViewController.swift in Sources */, D6A6E2472563554D00A77E05 /* CheckCertificationNumberViewController.swift in Sources */, + 9FC7CC94257E47FE00412C16 /* MemoViewController.swift in Sources */, D6578ACB2500867A000185F1 /* AppDelegate.swift in Sources */, 9FC343302566BA54003AEE58 /* RankingViewModel.swift in Sources */, + 9FE5E5482582566B008D2255 /* DetailViewController.swift in Sources */, D6A6E26C2563561300A77E05 /* RankingViewController.swift in Sources */, D6A6E23A2563544F00A77E05 /* MypageViewModel.swift in Sources */, D644AC9225700B21002905AE /* TokenMessageModel.swift in Sources */, @@ -558,11 +596,16 @@ D6A6E11E25634B6400A77E05 /* UIColor.swift in Sources */, D6A6E2312563541E00A77E05 /* ModifyViewController.swift in Sources */, D6A6E25A2563557600A77E05 /* TestViewController.swift in Sources */, +<<<<<<< Updated upstream D644AC9E257011FF002905AE /* MessageModel.swift in Sources */, +======= + 9FC7CC99257E5CA900412C16 /* MemoTableViewCell.swift in Sources */, +>>>>>>> Stashed changes D6A6E2572563557600A77E05 /* SelectWordNumViewController.swift in Sources */, D6A6E23B2563544F00A77E05 /* ViewModelType.swift in Sources */, D644AC8825700665002905AE /* CheckCertificationNumberViewModel.swift in Sources */, D6A6E267256355D900A77E05 /* WritingViewController.swift in Sources */, + 9FC7CC91257E1CE000412C16 /* StackViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Darner-dan-uh/Darner-dan-uh.xcworkspace/xcuserdata/munjisu.xcuserdatad/UserInterfaceState.xcuserstate b/Darner-dan-uh/Darner-dan-uh.xcworkspace/xcuserdata/munjisu.xcuserdatad/UserInterfaceState.xcuserstate index f87fa453609e97c39d443f75cdb029c63cb6800c..9d4b26ea041c079c7d111f301f774fb353f48d20 100644 GIT binary patch delta 48342 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 delta 48077 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 >>>>>>> MypageNetworking + + + + + + + + + + + + diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Base/Mypage.storyboard b/Darner-dan-uh/Darner-dan-uh/Source/Base/Mypage.storyboard index 5a8527b..4f69b62 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/Base/Mypage.storyboard +++ b/Darner-dan-uh/Darner-dan-uh/Source/Base/Mypage.storyboard @@ -68,7 +68,7 @@ - + + + + + + + + + + + + - - - + - diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Base/Ranking.storyboard b/Darner-dan-uh/Darner-dan-uh/Source/Base/Ranking.storyboard index 1c52be3..3bb4052 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/Base/Ranking.storyboard +++ b/Darner-dan-uh/Darner-dan-uh/Source/Base/Ranking.storyboard @@ -17,8 +17,15 @@ + + + + + + + + - + + + + @@ -92,11 +114,11 @@ - + - - - - - - - - - + + + + + + + @@ -128,24 +148,64 @@ + + - + - + + + + + + + + @@ -188,128 +256,39 @@ - + + - - - + + + - - - + + + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Base/Writing.storyboard b/Darner-dan-uh/Darner-dan-uh/Source/Base/Writing.storyboard index c80fa22..fdc04d6 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/Base/Writing.storyboard +++ b/Darner-dan-uh/Darner-dan-uh/Source/Base/Writing.storyboard @@ -1,43 +1,287 @@ - + - + - + - + - + + + + + + + + + - + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Model/MemoModel.swift b/Darner-dan-uh/Darner-dan-uh/Source/Model/MemoModel.swift new file mode 100644 index 0000000..a443176 --- /dev/null +++ b/Darner-dan-uh/Darner-dan-uh/Source/Model/MemoModel.swift @@ -0,0 +1,23 @@ +// +// MemoModel.swift +// Darner-dan-uh +// +// Created by 문지수 on 2020/12/07. +// Copyright © 2020 이현욱. All rights reserved. +// + +import Foundation + +class MemoModel: Codable { + let content: String + + + init(content: String) { + self.content = content + } + + static var dummyDataList = [ + MemoModel(content: "DarnerDanuh"), + MemoModel(content: "Daaaarneeeer") + ] +} diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Model/RankingModel.swift b/Darner-dan-uh/Darner-dan-uh/Source/Model/RankingModel.swift index 9f1073a..44984c8 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/Model/RankingModel.swift +++ b/Darner-dan-uh/Darner-dan-uh/Source/Model/RankingModel.swift @@ -8,7 +8,6 @@ import Foundation - struct RankingModel: Codable { let rank: Int let name: String @@ -21,13 +20,5 @@ struct myRankingModel: Codable { let rank: Int? let message: String? let ranking: String? - -// enum CodingKeys: String, CodingKey { -// case rank -// } -// init(from decoder: Decoder) throws { -// let values = try decoder.container(keyedBy: CodingKeys.self) -// rank = try values.decode(String.self, forKey: .rank) -// } -} +} diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/EnterPwViewController.swift b/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/EnterPwViewController.swift index 901ccfe..b635abf 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/EnterPwViewController.swift +++ b/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/EnterPwViewController.swift @@ -18,9 +18,9 @@ class EnterPwViewController: UIViewController { @IBOutlet weak var passwordLbl: UILabel! @IBOutlet weak var passwordTxtField: UITextField! @IBOutlet weak var nextBtn: UIButton! + @IBOutlet weak var cancleBtn: UIBarButtonItem! private let disposeBag = DisposeBag() - // private let viewModel = MypageViewModel() override func viewDidLoad() { super.viewDidLoad() @@ -32,23 +32,49 @@ class EnterPwViewController: UIViewController { passwordTxtField.underLine() password() -// let alret = UIAlertController(title: "비밀번호 확인이 되었습니다!", message: "", preferredStyle: UIAlertController.Style.alert) -// alret.addAction(UIAlertAction(title: "다음", style: .default, handler: nil)) -// present(alret, animated: true, completion: nil) + self.bindAction() } func password() { nextBtn.rx.tap - .map{ self.passwordTxtField.text! } + .map{ self.passwordTxtField.text!} .map { DarnerAPI.verifyPassword(pw: $0)} .flatMap {request -> Observable in return DarnerAPIClient.shared.networkingResult(from: request) }.subscribe { model in - //print(model) self.passwordTxtField.text = model.password }.disposed(by: disposeBag) } + + func bindAction() { + nextBtn.rx.tap + .subscribe({ _ in + self.nextModal(indentifier: "modify") + }).disposed(by: disposeBag) + +// cancleBtn.rx.tap +// .subscribe(onNext: { _ in +// self.backView(identifire: "mypage") +// }).disposed(by: disposeBag) + + + } + + +} + +extension UIViewController { + func nextView(identifier: String) { + let viewController = self.storyboard?.instantiateViewController(identifier: identifier) + navigationController?.pushViewController(viewController!, animated: true) + } + + func nextModal(indentifier: String) { + let viewController = self.storyboard?.instantiateViewController(identifier: indentifier) + viewController?.modalPresentationStyle = .fullScreen + present(viewController!, animated: true, completion: nil) + } } diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/ModifyViewController.swift b/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/ModifyViewController.swift index 0d6e216..5b10c9e 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/ModifyViewController.swift +++ b/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/ModifyViewController.swift @@ -35,6 +35,8 @@ class ModifyViewController: UIViewController { nickNameTxtField.underLine() viewProfile() + modifyProfile() + bindAction() } func viewProfile() { @@ -57,28 +59,16 @@ class ModifyViewController: UIViewController { }).disposed(by: self.disposeBag) }).disposed(by: disposeBag) - -// -// mypage.subscribe { (b) in -// if b.code == 200 { -// -// } -// } onError: { (<#Error#>) in -// <#code#> -// } -// + } - - - - func bindAction() { - //modifyBtn.rx.tap. + modifyBtn.rx.tap + .subscribe(onNext: { _ in + self.presentAlert(message: "", title: "회원정보 수정완료", actionStyle: .default, handler: nil) + }).disposed(by: disposeBag) } - - - + struct a: Codable { let code: Int let name: String @@ -92,6 +82,7 @@ extension UITextField { border.borderColor = UIColor.customGray.cgColor border.frame = CGRect(x: 0, y: self.frame.size.height - width, width: self.frame.size.width, height: self.frame.size.height) border.borderWidth = width + border.borderColor = UIColor.black.cgColor self.layer.addSublayer(border) self.layer.masksToBounds = true } @@ -113,3 +104,5 @@ extension UIButton { + + diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/MypageViewController.swift b/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/MypageViewController.swift index 8229f45..745a2ab 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/MypageViewController.swift +++ b/Darner-dan-uh/Darner-dan-uh/Source/Modules/MyPage/MypageViewController.swift @@ -29,8 +29,10 @@ class MypageViewController: UIViewController { characterBtn.buttonStyle() modifyBtn.buttonStyle() + } - + + } diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Modules/Ranking/RankingViewController.swift b/Darner-dan-uh/Darner-dan-uh/Source/Modules/Ranking/RankingViewController.swift index c476d1b..ade309b 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/Modules/Ranking/RankingViewController.swift +++ b/Darner-dan-uh/Darner-dan-uh/Source/Modules/Ranking/RankingViewController.swift @@ -19,7 +19,7 @@ final class RankingViewController: UIViewController { @IBOutlet weak var myRankingLbl: UILabel! @IBOutlet weak var myRankingView: UIView! @IBOutlet weak var myRanknumLbl: UILabel! - @IBOutlet weak var myNickName: UILabel! + @IBOutlet weak var myNameLbl: UILabel! @IBOutlet weak var tableView: UITableView! private let disposeBag = DisposeBag() @@ -39,22 +39,10 @@ final class RankingViewController: UIViewController { rank() myRank() } -// -// func bindViewModel() { -// let input = RankingViewModel.Input(loadData: loadData.asSignal(onErrorJustReturn: ())) -// let output = viewModel.transform(input) -// -// output.loadApplyList.bind(to: tableView.rx.items) { tableView, index, element -> UITableViewCell in -// guard let cell = self.tableView.dequeueReusableCell(withIdentifier: "RankingCell") as? RankingCell else { return RankingCell() } -// cell.RankingData = element -// return cell -// }.disposed(by: disposeBag) -// } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) - - // self.navigationController?.isNavigationBarHidden = true + self.navigationItem.hidesBackButton = true } func myRank() { @@ -64,13 +52,25 @@ final class RankingViewController: UIViewController { }).disposed(by: disposeBag) } + func myRank() { + let rank: Observable = DarnerAPIClient.shared.networkingResult(from: .myrank("smKim")) + rank.asObservable().subscribe(onNext: { model in + self.myRanknumLbl.text = String(model.rank ?? 2) + }).disposed(by: disposeBag) + } + func rank() { - let rank: Observable = DarnerAPIClient.shared.networkingResult(from: .rank(3)) - rank.map { $0.ranking }.bind(to: tableView.rx.items(cellIdentifier: "rankingCell", cellType: RankingCell.self)) { idx, model, cell in - cell.nickNameLbl?.text = model.name - cell.RankingLbl?.text = String(model.rank ?? 1) - }.disposed(by: disposeBag) + let rank: Observable = DarnerAPIClient.shared.networkingResult(from: .rank(3)) + rank.map { $0.ranking }.bind(to: tableView.rx.items(cellIdentifier: "rankingCell", cellType: RankingCell.self)) { idx, model, cell in + cell.nickNameLbl?.text = model.name + cell.RankingLbl?.text = String(model.rank) + }.disposed(by: disposeBag) + } + + struct a: Codable { + let rank: Int? + let message: String? } private func registerCell() { @@ -104,3 +104,16 @@ extension UIViewController { } +extension UIViewController { + func navigationImage() { + let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 35)) + imageView.contentMode = .scaleAspectFit + + let image = UIImage(named: "LogoImage") + imageView.image = image + + navigationItem.titleView = imageView + } + +} + diff --git a/Darner-dan-uh/Darner-dan-uh/Source/Modules/Writing/WritingViewController.swift b/Darner-dan-uh/Darner-dan-uh/Source/Modules/Writing/WritingViewController.swift index 41e217d..e190ed0 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/Modules/Writing/WritingViewController.swift +++ b/Darner-dan-uh/Darner-dan-uh/Source/Modules/Writing/WritingViewController.swift @@ -5,18 +5,82 @@ // Created by 이현욱 on 2020/09/03. // Copyright © 2020 이현욱. All rights reserved. // - import UIKit -final class WritingViewController: UIViewController { +import RxSwift +import RxCocoa +class WritingViewController: UIViewController { + + @IBOutlet weak var saveBtn: UIBarButtonItem! + @IBOutlet weak var titleTxtField: UITextField! + @IBOutlet weak var writingTxtView: UITextView! + + private let disposeBag = DisposeBag() + var dummyData = [String]() + override func viewDidLoad() { super.viewDidLoad() - // Do any additional setup after loading the view. + + let memo = UserDefaults.standard.object(forKey: "no") as? Int + + if(memo == -1) { + dummyData = (UserDefaults.standard.object(forKey: "data") as? [String])! + writingTxtView.text = "..."; + + } + + writingTxtView.layer.borderWidth = 2 + writingTxtView.layer.borderColor = UIColor.gray.cgColor + writingTxtView.layer.cornerRadius = 15 + + save(saveBtn) + bindAction() + navigationImage() + } + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + } + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + self.navigationItem.hidesBackButton = false + } + func save(_ button: UIBarButtonItem) { + let memo = UserDefaults.standard.object(forKey: "no") as? Int + + if(memo == -1) { + dummyData.insert(writingTxtView.text, at: 0) + UserDefaults.standard.set(dummyData, forKey: "data") + } + // else { +// dummyData.remove(at: memo?) +// dummyData.insert(writingTxtView.text, at: memo?) +// +// UserDefaults.standard.set(dummyData, forKey: "data") +// } + + print("save") + + dismiss(animated: true, completion: nil) + + } + func bindAction() { + saveBtn.rx.tap + .subscribe(onNext: { _ in + self.backView(identifire: "memo") + }).disposed(by: disposeBag) + } } +extension UIViewController { + func backView(identifire: String) { + navigationController!.popViewController(animated: true) + } +} + + diff --git a/Darner-dan-uh/Darner-dan-uh/Source/NetWorking/DarnerAPI.swift b/Darner-dan-uh/Darner-dan-uh/Source/NetWorking/DarnerAPI.swift index ff77886..08fe14f 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/NetWorking/DarnerAPI.swift +++ b/Darner-dan-uh/Darner-dan-uh/Source/NetWorking/DarnerAPI.swift @@ -16,8 +16,8 @@ enum DarnerAPI { case verifywithemail(email: String, code: String) case login(userId: String, password: String) case logout - case rank(_ id: Int) - case myrank(_ count: String) + case rank(_ count: Int) + case myrank(_ id: String) case stack case wordGenre(word_id: String, number: String) case wordTest @@ -110,13 +110,11 @@ extension DarnerAPI { var header: HTTPHeaders? { switch self { - case .wordGenre, - .wordTest, - .savedata, - .getLevel, - .rank: - let token = UserDefaults.standard.value(forKey: "token") as! String - return ["Authorization" : "Bearer " + token] + case .verifywithemail(_, let code): + return ["code" : code] + case .verifyPassword: + return ["Authorization": "Bearer " + "eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJzbWtpbSIsImlhdCI6MTYwNzI2MjAzMSwiZXhwIjoxNjA3MjgwMDMxfQ.mlzlDztiWAWUwDXW_7DUN3SA1FRU9khqOcTqfh4lhP5xJV9PxNeLsuU7bdBYjQOQbsAiETzR020Z-44lp8JjIw", + "content-type": "application/json"] default: return ["Content-Type":"application/json"] } diff --git a/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Ranking/StackViewController.swift b/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Ranking/StackViewController.swift index 9c2a685..39b75cf 100644 --- a/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Ranking/StackViewController.swift +++ b/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Ranking/StackViewController.swift @@ -2,7 +2,7 @@ // StackViewController.swift // Darner-dan-uh // -// Created by 문지수 on 2020/12/04. +// Created by 문지수 on 2020/12/07. // Copyright © 2020 이현욱. All rights reserved. // @@ -25,7 +25,7 @@ class StackViewController: UIViewController { // Do any additional setup after loading the view. navigationClear() navigationImage() - buttonAction() + //buttonAction() } override func viewWillAppear(_ animated: Bool) { @@ -34,12 +34,29 @@ class StackViewController: UIViewController { } func buttonAction() { - stackBtn.rx.tap + rankingBtn.rx.tap .subscribe{ _ in - self.nextView(identifire: "ranking") + self.nextVC(identifier: "ranking") }.disposed(by: disposeBag) } } + +extension UIViewController { + func navigationClear(){ + let bar:UINavigationBar! = self.navigationController?.navigationBar + bar.setBackgroundImage(UIImage(), for: UIBarMetrics.default) + bar.shadowImage = UIImage() + bar.backgroundColor = UIColor.clear + } + + func nextVC(identifier: String) { + let viewController = self.storyboard?.instantiateViewController(identifier: identifier) + viewController?.modalPresentationStyle = .fullScreen + present(viewController!, animated: false, completion: nil) + + + } +} diff --git a/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/Cell/MemoTableViewCell.swift b/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/Cell/MemoTableViewCell.swift new file mode 100644 index 0000000..eeed1a9 --- /dev/null +++ b/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/Cell/MemoTableViewCell.swift @@ -0,0 +1,26 @@ +// +// MemoTableViewCell.swift +// Darner-dan-uh +// +// Created by 문지수 on 2020/12/07. +// Copyright © 2020 이현욱. All rights reserved. +// + +import UIKit + +class MemoTableViewCell: UITableViewCell { + + @IBOutlet weak var titleLbl: UILabel! + + override func awakeFromNib() { + super.awakeFromNib() + // Initialization code + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + + // Configure the view for the selected state + } + +} diff --git a/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/DetailViewController.swift b/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/DetailViewController.swift new file mode 100644 index 0000000..c1962c1 --- /dev/null +++ b/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/DetailViewController.swift @@ -0,0 +1,28 @@ +// +// DetailViewController.swift +// Darner-dan-uh +// +// Created by 문지수 on 2020/12/10. +// Copyright © 2020 이현욱. All rights reserved. +// + +import UIKit + +class DetailViewController: UIViewController { + + @IBOutlet weak var txtField: UITextField! + @IBOutlet weak var txtView: UITextView! + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + + txtView.layer.borderColor = UIColor.customGray.cgColor + txtView.layer.borderWidth = 1.5 + txtView.layer.cornerRadius = 20 + } + + + +} diff --git a/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/MemoViewController.swift b/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/MemoViewController.swift new file mode 100644 index 0000000..8435d14 --- /dev/null +++ b/Darner-dan-uh/Darner-dan-uh/Source/ViewModel/Modules/Writing/MemoViewController.swift @@ -0,0 +1,65 @@ +// +// MemoViewController.swift +// Darner-dan-uh +// +// Created by 문지수 on 2020/12/07. +// Copyright © 2020 이현욱. All rights reserved. +// + +import UIKit + +import RxSwift +import RxCocoa + +class MemoViewController: UIViewController, UITableViewDataSource { + + let disposeBag = DisposeBag() + + @IBOutlet weak var memoView: UIView! + @IBOutlet weak var tableView: UITableView! + @IBOutlet weak var memoLbl: UILabel! + @IBOutlet weak var writeBtn: UIButton! + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + + registerCell() + bindAction() + navigationImage() + navigationClear() + + memoView.layer.borderColor = UIColor.black.cgColor + memoView.layer.borderWidth = 1.5 + memoView.layer.cornerRadius = 20 + + + } + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return MemoModel.dummyDataList.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "memoCell", for: indexPath) + let target = MemoModel.dummyDataList[indexPath.row] + cell.textLabel?.text = target.content + + return cell + } + + func registerCell() { + tableView.rowHeight = 80 + } + + func bindAction() { + writeBtn.rx.tap + .subscribe(onNext: { _ in + self.nextView(identifier: "write") + }).disposed(by: disposeBag) + } + + + + +} diff --git "a/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\353\205\270\353\236\200\354\225\214.imageset/Contents.json" "b/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\353\205\270\353\236\200\354\225\214.imageset/Contents.json" index 884c815..c4088b2 100644 --- "a/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\353\205\270\353\236\200\354\225\214.imageset/Contents.json" +++ "b/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\353\205\270\353\236\200\354\225\214.imageset/Contents.json" @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "스크린샷 2020-10-08 오전 11.15.48.png", + "filename" : "스크린샷 2020-10-08 오전 11.15.48.png", "idiom" : "universal", "scale" : "1x" }, diff --git "a/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\353\241\234\352\263\240&\355\225\221\355\201\254 \353\263\221\354\225\204\353\246\254.imageset/Contents.json" "b/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\353\241\234\352\263\240&\355\225\221\355\201\254 \353\263\221\354\225\204\353\246\254.imageset/Contents.json" index 9e38c47..a84850d 100644 --- "a/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\353\241\234\352\263\240&\355\225\221\355\201\254 \353\263\221\354\225\204\353\246\254.imageset/Contents.json" +++ "b/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\353\241\234\352\263\240&\355\225\221\355\201\254 \353\263\221\354\225\204\353\246\254.imageset/Contents.json" @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "스크린샷 2020-09-25 오전 9.57.56-1.png", + "filename" : "스크린샷 2020-09-25 오전 9.57.56.png", "idiom" : "universal", "scale" : "1x" }, diff --git "a/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\354\212\244\355\203\235.imageset/Contents.json" "b/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\354\212\244\355\203\235.imageset/Contents.json" index 458dfed..2c9759c 100644 --- "a/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\354\212\244\355\203\235.imageset/Contents.json" +++ "b/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\354\212\244\355\203\235.imageset/Contents.json" @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "스크린샷 2020-12-06 오후 2.48.22.png", + "filename" : "스크린샷 2020-12-07 오후 7.26.08.png", "idiom" : "universal", "scale" : "1x" }, diff --git "a/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\354\212\244\355\203\235.imageset/\354\212\244\355\201\254\353\246\260\354\203\267 2020-12-07 \354\230\244\355\233\204 7.26.08.png" "b/Darner-dan-uh/Darner-dan-uh/Supporting/Assets.xcassets/\354\212\244\355\203\235.imageset/\354\212\244\355\201\254\353\246\260\354\203\267 2020-12-07 \354\230\244\355\233\204 7.26.08.png" new file mode 100644 index 0000000000000000000000000000000000000000..b41141e3c8a223b8bf83d8dec14864a426fdc1dc GIT binary patch literal 32113 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