annotate GeoQuiz/Components/FormLink.swift @ 21:b145c408f791

refactor code
author Dennis C. M. <dennis@denniscm.com>
date Tue, 25 Oct 2022 15:30:01 +0200
parents e281791e0494
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
3540c7efc216 implement UserSettings
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 // FormLink.swift
9
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3 // GeoQuiz
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
4 //
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 7/10/22.
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6 //
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
8 import SwiftUI
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
9
20
e281791e0494 finish implementation
Dennis C. M. <dennis@denniscm.com>
parents: 19
diff changeset
10 struct FormLink: View {
9
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
11 var color: Color
19
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 10
diff changeset
12 var symbol: String
9
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
13 var text: String
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
14 var url: URL
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
15
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
16 @Environment(\.openURL) var openURL
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18 var body: some View {
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19 Link(destination: url) {
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
20 HStack(alignment: .center, spacing: 20) {
19
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 10
diff changeset
21 Image(systemName: symbol)
9
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
22 .imageScale(.large)
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23 .foregroundColor(color)
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
25 Text(text)
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
26 .foregroundColor(.primary)
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
27 }
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
28 }
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
29 }
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
30 }
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
31
20
e281791e0494 finish implementation
Dennis C. M. <dennis@denniscm.com>
parents: 19
diff changeset
32 struct FormLink_Previews: PreviewProvider {
9
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
33 static var previews: some View {
20
e281791e0494 finish implementation
Dennis C. M. <dennis@denniscm.com>
parents: 19
diff changeset
34 FormLink(
9
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
35 color: .mayaBlue,
19
f140bb277c96 refactor code
Dennis C. M. <dennis@denniscm.com>
parents: 10
diff changeset
36 symbol: "info.circle.fill",
9
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
37 text: "About",
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
38 url: URL(string: "https://dennistech.io")!
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
39 )
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
40 }
3540c7efc216 implement UserSettings
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
41 }