annotate GeoQuiz/Components/UserProfile.swift @ 22:56add5561261

add mock data creation
author Dennis C. M. <dennis@denniscm.com>
date Wed, 26 Oct 2022 08:20:19 +0200
parents e281791e0494
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
1 //
20
e281791e0494 finish implementation
Dennis C. M. <dennis@denniscm.com>
parents: 19
diff changeset
2 // UserProfile.swift
19
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3 // GeoQuiz
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
4 //
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 18/10/22.
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6 //
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
8 import SwiftUI
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
9
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
10 struct UserProfile: View {
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
11 @ObservedObject var userController: UserController
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12 @ObservedObject var storeKitController: StoreKitController
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
13
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
14 @Binding var isShowing: Bool
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
15
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
16 var body: some View {
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17 VStack(spacing: 20) {
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18 UserImage(userController: userController)
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19 .frame(height: 150)
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
20 .shadow(radius: 10)
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
21
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
22 VStack(spacing: 10) {
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23 Text(userController.data.username)
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24 .font(.title.bold())
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
25
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
26 if storeKitController.premiumIsActive {
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
27 Text("Premium user ⭐️")
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
28 .foregroundColor(.secondary)
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
29 }
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
30 }
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
31
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
32 Button("Edit") {
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
33 isShowing = true
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
34 }
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
35 .buttonStyle(.borderedProminent)
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
36 }
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
37 }
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
38 }
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
39
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
40 struct UserProfile_Previews: PreviewProvider {
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
41 static var previews: some View {
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
42 UserProfile(userController: UserController(), storeKitController: StoreKitController(), isShowing: .constant(true))
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
43 }
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
44 }