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

implement user profile
author Dennis C. M. <dennis@denniscm.com>
date Thu, 20 Oct 2022 13:49:42 +0200
parents
children
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 // ProgressBarHelper.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 ProgressBar: View {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
11 let pctScore: Double
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12 let gradient: Gradient
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 GeometryReader { geo in
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
16 ZStack(alignment: .leading) {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17 Capsule()
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18 .foregroundColor(.customBackground)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19 .frame(height: 6)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
20
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
21 Capsule()
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
22 .fill(
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23 LinearGradient(
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24 gradient: gradient,
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
25 startPoint: .trailing, endPoint: .leading
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 .frame(width: geo.size.width * pctScore, height: 6)
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
29 }
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 }
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
32 }
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
33
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
34 struct ProgressBar_Previews: PreviewProvider {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
35 static var previews: some View {
1011e56b7832 implement user profile
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
36 ProgressBar(pctScore: 0.3, gradient: .main)
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 }