Refactors DamageTypes to String since we using it as a generic list of strings editor.

This commit is contained in:
2021-03-24 17:44:53 -07:00
parent 055a8b28cc
commit 596186deaa
5 changed files with 29 additions and 29 deletions

View File

@@ -46,19 +46,19 @@ struct EditMonster: View {
NavigationLink(
"Condition Immunities",
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.conditionImmunities, title: "Condition Immunities"))
destination: EditStrings(viewModel: monsterViewModel, path: \.conditionImmunities, title: "Condition Immunities"))
NavigationLink(
"Damage Immunities",
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.damageImmunities, title: "Damage Immunities"))
destination: EditStrings(viewModel: monsterViewModel, path: \.damageImmunities, title: "Damage Immunities"))
NavigationLink(
"Damage Resistances",
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.damageResistances, title: "Damage Resistances"))
destination: EditStrings(viewModel: monsterViewModel, path: \.damageResistances, title: "Damage Resistances"))
NavigationLink(
"Damage Vulnerabilities",
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.damageVulnerabilities, title: "Damage Vulnerabilities"))
destination: EditStrings(viewModel: monsterViewModel, path: \.damageVulnerabilities, title: "Damage Vulnerabilities"))
}
.onAppear(perform: copyMonsterToLocal)
.toolbar(content: {

View File

@@ -1,5 +1,5 @@
//
// EditDamageTypes.swift
// EditStrings.swift
// MonsterCards
//
// Created by Tom Hicks on 3/22/21.
@@ -7,9 +7,9 @@
import SwiftUI
struct EditDamageTypes: View {
struct EditStrings: View {
@ObservedObject var viewModel: MonsterViewModel
var path: ReferenceWritableKeyPath<MonsterViewModel, [DamageTypeViewModel]>
var path: ReferenceWritableKeyPath<MonsterViewModel, [StringViewModel]>
var title: String
var body: some View {
@@ -33,7 +33,7 @@ struct EditDamageTypes: View {
.toolbar(content: {
Button(
action: {
let newDamageType = DamageTypeViewModel()
let newDamageType = StringViewModel()
viewModel[keyPath: path].append(newDamageType)
viewModel[keyPath: path] = viewModel[keyPath: path].sorted()
},
@@ -48,9 +48,9 @@ struct EditDamageTypes: View {
}
}
struct EditDamageTypes_Previews: PreviewProvider {
struct EditStrings_Previews: PreviewProvider {
static var previews: some View {
let viewModel = MonsterViewModel()
EditDamageTypes(viewModel: viewModel, path: \.damageImmunities, title: "Damage Types")
EditStrings(viewModel: viewModel, path: \.damageImmunities, title: "Damage Types")
}
}