Adds a view to show the monster being imported and confirm the user wants to import that monster.
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
E20209FC25D8E19100EFE733 /* MonsterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20209FA25D8E19100EFE733 /* MonsterViewModel.swift */; };
|
||||
E210B83A25B42D980083EAC5 /* MCProficiencyPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E210B83925B42D980083EAC5 /* MCProficiencyPicker.swift */; };
|
||||
E210B83F25B42DAB0083EAC5 /* MCAdvantagePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E210B83E25B42DAB0083EAC5 /* MCAdvantagePicker.swift */; };
|
||||
E21661D12616E9A800117782 /* ImportMonster.swift in Sources */ = {isa = PBXBuildFile; fileRef = E21661D02616E9A800117782 /* ImportMonster.swift */; };
|
||||
E216B791260C1FE800FB205F /* LanguageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E216B790260C1FE800FB205F /* LanguageViewModel.swift */; };
|
||||
E216B799260C2DF200FB205F /* EditLanguages.swift in Sources */ = {isa = PBXBuildFile; fileRef = E216B798260C2DF200FB205F /* EditLanguages.swift */; };
|
||||
E216B79E260C396F00FB205F /* EditLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = E216B79D260C396F00FB205F /* EditLanguage.swift */; };
|
||||
@@ -87,6 +88,7 @@
|
||||
E20209FA25D8E19100EFE733 /* MonsterViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MonsterViewModel.swift; sourceTree = "<group>"; };
|
||||
E210B83925B42D980083EAC5 /* MCProficiencyPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MCProficiencyPicker.swift; sourceTree = "<group>"; };
|
||||
E210B83E25B42DAB0083EAC5 /* MCAdvantagePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MCAdvantagePicker.swift; sourceTree = "<group>"; };
|
||||
E21661D02616E9A800117782 /* ImportMonster.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImportMonster.swift; sourceTree = "<group>"; };
|
||||
E216B790260C1FE800FB205F /* LanguageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguageViewModel.swift; sourceTree = "<group>"; };
|
||||
E216B798260C2DF200FB205F /* EditLanguages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditLanguages.swift; sourceTree = "<group>"; };
|
||||
E216B79D260C396F00FB205F /* EditLanguage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditLanguage.swift; sourceTree = "<group>"; };
|
||||
@@ -254,6 +256,7 @@
|
||||
E2B5285825B3028700AAA69E /* EditMonster.swift */,
|
||||
E24ACE642607F55D009BF703 /* EditSavingThrows.swift */,
|
||||
E2CB0DB226080C0500142591 /* EditSkill.swift */,
|
||||
E21661D02616E9A800117782 /* ImportMonster.swift */,
|
||||
E24ACE692607F715009BF703 /* EditSkills.swift */,
|
||||
E24ACE5A2607F0F2009BF703 /* EditSpeed.swift */,
|
||||
E2CB0DE526088CE400142591 /* EditStrings.swift */,
|
||||
@@ -435,6 +438,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
E20209FB25D8E19100EFE733 /* SkillViewModel.swift in Sources */,
|
||||
E21661D12616E9A800117782 /* ImportMonster.swift in Sources */,
|
||||
E24ACE602607F45E009BF703 /* EditAbilityScores.swift in Sources */,
|
||||
E2570FC225B1AC550055B23B /* Persistence.swift in Sources */,
|
||||
E216B799260C2DF200FB205F /* EditLanguages.swift in Sources */,
|
||||
|
||||
@@ -8,8 +8,13 @@
|
||||
import SwiftUI
|
||||
import CoreData
|
||||
|
||||
struct ImportInfo {
|
||||
var monster: MonsterViewModel = MonsterViewModel()
|
||||
}
|
||||
|
||||
struct ContentView: View {
|
||||
@Environment(\.managedObjectContext) private var viewContext
|
||||
@State private var importInfo = ImportInfo()
|
||||
@State private var isShowingImportDialog = false
|
||||
|
||||
var body: some View {
|
||||
@@ -38,11 +43,12 @@ struct ContentView: View {
|
||||
}
|
||||
.onOpenURL(perform: beginImportingMonster)
|
||||
.sheet(isPresented: self.$isShowingImportDialog) {
|
||||
Text("Importing Monster")
|
||||
ImportMonster(monster: $importInfo.monster)
|
||||
}
|
||||
}
|
||||
|
||||
func beginImportingMonster(url: URL) {
|
||||
self.importInfo.monster.name = url.absoluteString
|
||||
self.isShowingImportDialog = true
|
||||
}
|
||||
}
|
||||
|
||||
24
iOS/MonsterCards/Views/ImportMonster.swift
Normal file
24
iOS/MonsterCards/Views/ImportMonster.swift
Normal file
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// ImportMonster.swift
|
||||
// MonsterCards
|
||||
//
|
||||
// Created by Tom Hicks on 4/1/21.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct ImportMonster: View {
|
||||
@Binding var monster: MonsterViewModel
|
||||
|
||||
var body: some View {
|
||||
MonsterDetailView(viewModel: monster)
|
||||
}
|
||||
}
|
||||
|
||||
struct ImportMonster_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
ImportMonster(
|
||||
monster: .constant(MonsterViewModel())
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user