diff --git a/iOS/MonsterCards.xcodeproj/project.pbxproj b/iOS/MonsterCards.xcodeproj/project.pbxproj index f7f9b66..981c51c 100644 --- a/iOS/MonsterCards.xcodeproj/project.pbxproj +++ b/iOS/MonsterCards.xcodeproj/project.pbxproj @@ -40,6 +40,8 @@ E2B5285925B3028700AAA69E /* EditMonster.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2B5285825B3028700AAA69E /* EditMonster.swift */; }; E2BD702C25B3A8D70058ED69 /* MCTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2BD702B25B3A8D70058ED69 /* MCTextField.swift */; }; E2BD703125B3BBB90058ED69 /* MCStepperField.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2BD703025B3BBB90058ED69 /* MCStepperField.swift */; }; + E2CB0DB326080C0500142591 /* EditSkill.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CB0DB226080C0500142591 /* EditSkill.swift */; }; + E2CB0DB826081A2F00142591 /* MCAbilityScorePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CB0DB726081A2F00142591 /* MCAbilityScorePicker.swift */; }; E2D473FD25B532C900CB36D7 /* Color+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2D473FC25B532C900CB36D7 /* Color+Hex.swift */; }; /* End PBXBuildFile section */ @@ -100,6 +102,8 @@ E2B5285825B3028700AAA69E /* EditMonster.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditMonster.swift; sourceTree = ""; }; E2BD702B25B3A8D70058ED69 /* MCTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MCTextField.swift; sourceTree = ""; }; E2BD703025B3BBB90058ED69 /* MCStepperField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MCStepperField.swift; sourceTree = ""; }; + E2CB0DB226080C0500142591 /* EditSkill.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditSkill.swift; sourceTree = ""; }; + E2CB0DB726081A2F00142591 /* MCAbilityScorePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MCAbilityScorePicker.swift; sourceTree = ""; }; E2D473FC25B532C900CB36D7 /* Color+Hex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Hex.swift"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -141,11 +145,6 @@ E2570FAC25B1AC520055B23B = { isa = PBXGroup; children = ( - E24ACE692607F715009BF703 /* EditSkills.swift */, - E24ACE642607F55D009BF703 /* EditSavingThrows.swift */, - E24ACE5F2607F45E009BF703 /* EditAbilityScores.swift */, - E24ACE552607EE94009BF703 /* EditArmor.swift */, - E24ACE4F2607326E009BF703 /* EditBasicInfo.swift */, E2570FB725B1AC520055B23B /* MonsterCards */, E2570FCE25B1AC550055B23B /* MonsterCardsTests */, E2570FD925B1AC550055B23B /* MonsterCardsUITests */, @@ -208,6 +207,12 @@ E2570FEB25B1ADA90055B23B /* Views */ = { isa = PBXGroup; children = ( + E2CB0DB226080C0500142591 /* EditSkill.swift */, + E24ACE692607F715009BF703 /* EditSkills.swift */, + E24ACE642607F55D009BF703 /* EditSavingThrows.swift */, + E24ACE5F2607F45E009BF703 /* EditAbilityScores.swift */, + E24ACE552607EE94009BF703 /* EditArmor.swift */, + E24ACE4F2607326E009BF703 /* EditBasicInfo.swift */, E2570FBA25B1AC520055B23B /* ContentView.swift */, E2570FEF25B1ADC10055B23B /* Search.swift */, E2570FF425B1ADEB0055B23B /* Dashboard.swift */, @@ -222,6 +227,7 @@ E2BD703025B3BBB90058ED69 /* MCStepperField.swift */, E210B83925B42D980083EAC5 /* MCProficiencyPicker.swift */, E26CDA2A25CFB38E00E3F50D /* MCArmorTypePicker.swift */, + E2CB0DB726081A2F00142591 /* MCAbilityScorePicker.swift */, ); path = Views; sourceTree = ""; @@ -388,12 +394,14 @@ E2D473FD25B532C900CB36D7 /* Color+Hex.swift in Sources */, E2B5285925B3028700AAA69E /* EditMonster.swift in Sources */, E2570FF525B1ADEB0055B23B /* Dashboard.swift in Sources */, + E2CB0DB826081A2F00142591 /* MCAbilityScorePicker.swift in Sources */, E257100425B1AF4A0055B23B /* SearchBar.swift in Sources */, E20209F525D8E04300EFE733 /* AdvantageType.swift in Sources */, E24ACE6A2607F715009BF703 /* EditSkills.swift in Sources */, E20209FC25D8E19100EFE733 /* MonsterViewModel.swift in Sources */, E2570FFF25B1AE180055B23B /* Library.swift in Sources */, E2BD703125B3BBB90058ED69 /* MCStepperField.swift in Sources */, + E2CB0DB326080C0500142591 /* EditSkill.swift in Sources */, E24ACE562607EE94009BF703 /* EditArmor.swift in Sources */, E20209F425D8E04300EFE733 /* ProficiencyType.swift in Sources */, E2570FFA25B1AE020055B23B /* Collections.swift in Sources */, diff --git a/iOS/EditAbilityScores.swift b/iOS/MonsterCards/Views/EditAbilityScores.swift similarity index 100% rename from iOS/EditAbilityScores.swift rename to iOS/MonsterCards/Views/EditAbilityScores.swift diff --git a/iOS/EditArmor.swift b/iOS/MonsterCards/Views/EditArmor.swift similarity index 100% rename from iOS/EditArmor.swift rename to iOS/MonsterCards/Views/EditArmor.swift diff --git a/iOS/EditBasicInfo.swift b/iOS/MonsterCards/Views/EditBasicInfo.swift similarity index 100% rename from iOS/EditBasicInfo.swift rename to iOS/MonsterCards/Views/EditBasicInfo.swift diff --git a/iOS/EditSavingThrows.swift b/iOS/MonsterCards/Views/EditSavingThrows.swift similarity index 100% rename from iOS/EditSavingThrows.swift rename to iOS/MonsterCards/Views/EditSavingThrows.swift diff --git a/iOS/MonsterCards/Views/EditSkill.swift b/iOS/MonsterCards/Views/EditSkill.swift new file mode 100644 index 0000000..c761026 --- /dev/null +++ b/iOS/MonsterCards/Views/EditSkill.swift @@ -0,0 +1,39 @@ +// +// EditSkill.swift +// MonsterCards +// +// Created by Tom Hicks on 3/21/21. +// + +import SwiftUI + +struct EditSkill: View { + @ObservedObject var skillViewModel: SkillViewModel + + var body: some View { + List { + MCTextField( + label: "Name", + value: $skillViewModel.name) + + MCAbilityScorePicker( + label: "Ability Score", + value: $skillViewModel.abilityScore) + + MCAdvantagePicker( + label: "Advantage", + value: $skillViewModel.advantage) + + MCProficiencyPicker( + label: "Proficiency", + value: $skillViewModel.proficiency) + } + } +} + +struct EditSkill_Previews: PreviewProvider { + static var previews: some View { + let viewModel = SkillViewModel(nil) + EditSkill(skillViewModel: viewModel) + } +} diff --git a/iOS/EditSkills.swift b/iOS/MonsterCards/Views/EditSkills.swift similarity index 92% rename from iOS/EditSkills.swift rename to iOS/MonsterCards/Views/EditSkills.swift index e3ec815..a72373c 100644 --- a/iOS/EditSkills.swift +++ b/iOS/MonsterCards/Views/EditSkills.swift @@ -13,7 +13,7 @@ struct EditSkills: View { var body: some View { List { ForEach(monsterViewModel.skills, id: \.self) { skill in - Text(skill.name) + NavigationLink(skill.name, destination: EditSkill(skillViewModel: skill)) } .onDelete(perform: { indexSet in for index in indexSet { diff --git a/iOS/MonsterCards/Views/MCTextField.swift b/iOS/MonsterCards/Views/MCTextField.swift index 937ece6..9a22436 100644 --- a/iOS/MonsterCards/Views/MCTextField.swift +++ b/iOS/MonsterCards/Views/MCTextField.swift @@ -16,7 +16,6 @@ struct MCTextField: View { .font(.caption2) TextField(label, text: value) .autocapitalization(/*@START_MENU_TOKEN@*/.none/*@END_MENU_TOKEN@*/) -// .padding(.top, -4) } } }