comparison GeoQuiz/Components/GameButtonHelper.swift @ 11:039b26a99a48

implementing RevenueCat
author Dennis C. M. <dennis@denniscm.com>
date Sun, 09 Oct 2022 17:02:34 +0200
parents a793f33f05fb
children f140bb277c96
comparison
equal deleted inserted replaced
10:a793f33f05fb 11:039b26a99a48
12 let level: String 12 let level: String
13 let symbol: String 13 let symbol: String
14 let name: String 14 let name: String
15 15
16 var body: some View { 16 var body: some View {
17 ZStack { 17 RoundedRectangle(cornerRadius: 20)
18 RoundedRectangle(cornerRadius: 20) 18 .fill(
19 .fill( 19 LinearGradient(
20 LinearGradient( 20 gradient: gradient,
21 gradient: gradient, 21 startPoint: .trailing, endPoint: .leading
22 startPoint: .trailing, endPoint: .leading
23 )
24 ) 22 )
25 .frame(height: 180) 23 )
26 24 .frame(height: 180)
27 VStack(alignment: .leading) { 25 .frame(maxWidth: 700)
28 HStack { 26 .overlay {
29 Image(systemName: symbol) 27 ZStack(alignment: .trailing) {
30 .font(.headline) 28 VStack(alignment: .leading) {
31 .padding(5) 29 HStack {
32 .background( 30 Image(systemName: symbol)
33 RoundedRectangle(cornerRadius: 5) 31 .font(.headline)
34 .stroke(lineWidth: 1.5) 32 .padding(5)
35 ) 33 .background(
36 34 RoundedRectangle(cornerRadius: 5)
37 Spacer() 35 .stroke(lineWidth: 1.5)
38 } 36 )
39 .padding(.bottom) 37
40 38 Spacer()
41 VStack(alignment: .leading, spacing: 5) { 39 }
42 Text(level) 40 .padding(.bottom)
43 .font(.callout) 41
44 42 VStack(alignment: .leading, spacing: 5) {
45 Text(name) 43 Text(level)
46 .font(.title.bold()) 44 .font(.callout)
45
46 Text(name)
47 .font(.title.bold())
48 }
49 }
50 .foregroundColor(.white)
51 .padding()
47 } 52 }
48 } 53 }
49 .foregroundColor(.white)
50 .padding()
51 }
52 .frame(maxWidth: 700)
53 } 54 }
54 } 55 }
55 56
56 struct GameButton_Previews: PreviewProvider { 57 struct GameButton_Previews: PreviewProvider {
57 static var previews: some View { 58 static var previews: some View {
58 GameButton( 59 GameButton(
59 gradient: .main, 60 gradient: .main,
60 level: "Level 1", 61 level: "Level 1",
61 symbol: "checkmark", 62 symbol: "flag.fill",
62 name: "Guess the flag" 63 name: "Guess the flag"
63 ) 64 )
64 } 65 }
65 } 66 }