annotate GeoQuiz/Helpers/UserImage.swift @ 33:6d574bd1644f

refactor controllers
author Dennis C. M. <dennis@denniscm.com>
date Sat, 12 Nov 2022 11:18:30 +0100
parents 425078c01194
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
136928bae534 add user profile
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 // UserImage.swift
14
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3 // GeoQuiz
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
4 //
19
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 14
diff changeset
5 // Created by Dennis Concepción Martín on 22/10/22.
14
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6 //
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
8 import SwiftUI
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
9
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
10 struct UserImage: View {
19
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 14
diff changeset
11 @ObservedObject var userController: UserController
14
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
13 var body: some View {
19
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 14
diff changeset
14 if let uiImage = userController.data.uiImage {
14
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
15 Circle()
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
16 .overlay(
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17 Image(uiImage: uiImage)
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18 .resizable()
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19 .scaledToFill()
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
20 .clipShape(Circle())
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
21 )
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
22 } else {
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23 Circle()
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24 .foregroundColor(.secondary.opacity(0.3))
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
25 .overlay(
20
e281791e0494 finish implementation
Dennis C. M. <dennis@denniscm.com>
parents: 19
diff changeset
26 Image(systemName: "camera.fill")
e281791e0494 finish implementation
Dennis C. M. <dennis@denniscm.com>
parents: 19
diff changeset
27 .foregroundColor(.white)
e281791e0494 finish implementation
Dennis C. M. <dennis@denniscm.com>
parents: 19
diff changeset
28 .font(.title)
e281791e0494 finish implementation
Dennis C. M. <dennis@denniscm.com>
parents: 19
diff changeset
29 .shadow(radius: 5)
14
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
30 )
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
31 }
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
32 }
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
33 }
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
34
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
35 struct UserImage_Previews: PreviewProvider {
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
36 static var previews: some View {
19
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 14
diff changeset
37 UserImage(userController: UserController())
14
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
38 }
136928bae534 add user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
39 }