annotate GeoQuiz/Components/UserProfileComponent.swift @ 16:1011e56b7832

implement user profile
author Dennis C. M. <dennis@denniscm.com>
date Thu, 20 Oct 2022 13:49:42 +0200
parents
children 8dac58bb4569
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
1 //
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
2 // UserProfileComponent.swift
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3 // GeoQuiz
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
4 //
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 20/10/22.
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6 //
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
8 import SwiftUI
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
9
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
10 struct UserProfile: View {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
11 @ObservedObject var user: User
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12 @ObservedObject var storeKitRC: StoreKitRC
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
13
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
14 var body: some View {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
15 HStack(spacing: 20) {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
16 UserImage(uiImage: user.data.uiImage)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18 VStack(alignment: .leading, spacing: 8) {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19 Text(user.data.username)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
20 .font(.title)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
21 .fontWeight(.semibold)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
22
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23 if storeKitRC.isActive {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24 Text("Premium user ⭐️")
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
25 .foregroundColor(.secondary)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
26 }
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
27 }
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
28
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
29 Spacer()
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
30 }
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
31 .padding()
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
32 .background(
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
33 RoundedRectangle(cornerRadius: 20)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
34 .foregroundColor(.white)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
35 )
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
36 }
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
37 }
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
38
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
39 struct UserProfile_Previews: PreviewProvider {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
40 static var previews: some View {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
41 UserProfile(user: User(), storeKitRC: StoreKitRC())
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
42 }
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
43 }