diff --git a/MemoryTree/Assets.xcassets/TreeLeafier.imageset/Contents.json b/MemoryTree/Assets.xcassets/TreeLeafier.imageset/Contents.json new file mode 100644 index 0000000..48c21e3 --- /dev/null +++ b/MemoryTree/Assets.xcassets/TreeLeafier.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "TreeLeafier.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MemoryTree/Assets.xcassets/TreeLeafier.imageset/TreeLeafier.png b/MemoryTree/Assets.xcassets/TreeLeafier.imageset/TreeLeafier.png new file mode 100644 index 0000000..8a84410 Binary files /dev/null and b/MemoryTree/Assets.xcassets/TreeLeafier.imageset/TreeLeafier.png differ diff --git a/MemoryTree/ContentView.swift b/MemoryTree/ContentView.swift index bcc08f3..b3df8f6 100644 --- a/MemoryTree/ContentView.swift +++ b/MemoryTree/ContentView.swift @@ -32,6 +32,26 @@ struct ContentView: View { @State var entryText = "" + var treeImageName: String { + if entries.isEmpty { + return "TreeBare" + } else if entries.count < 3 { + return "TreeLeafy" + } else { + return "TreeLeafier" + } + } + + var treeHeight: Double { + if entries.isEmpty { + return 100 + } else if entries.count < 3 { + return 300 + } else { + return 400 + } + } + var body: some View { NavigationStack { VStack(spacing: 0) { @@ -49,13 +69,13 @@ struct ContentView: View { Button { isEditing = true } label: { - Image(entries.isEmpty ? "TreeBare" : "TreeLeafy") + Image(treeImageName) .renderingMode(.template) .resizable() .scaledToFit() .foregroundColor(.white) } - .frame(maxHeight: entries.isEmpty ? 100 : 300) + .frame(maxHeight: treeHeight) Color.green .frame(height: 80) @@ -86,12 +106,23 @@ struct ContentView_Previews: PreviewProvider { static var previews: some View { Group { ContentView() + .previewDisplayName("Bare") ContentView(isEditing: true) + .previewDisplayName("Adding Entry") ContentView(entries: [Entry(text: "Coffee")]) + .previewDisplayName("Leafy") ContentView(isEditing: true, entries: [Entry(text: "Coffee")]) + .previewDisplayName("Leafy - Adding Entry") + + ContentView(entries: [ + Entry(text: "Coffee"), + Entry(text: "Marion berries"), + Entry(text: "Burritos"), + ]) + .previewDisplayName("Leafier") } .tint(.white) }