Add a leafier tree state

This commit is contained in:
Sami Samhuri 2023-02-05 12:01:08 -08:00
parent 493b0a1c8c
commit b25908d22d
No known key found for this signature in database
GPG key ID: 4B4195422742FC16
3 changed files with 54 additions and 2 deletions

View file

@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

View file

@ -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)
}