Mercurial > public > geoquiz
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 } |