-
Notifications
You must be signed in to change notification settings - Fork 0
/
Annotation.swift
105 lines (77 loc) · 2.02 KB
/
Annotation.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//
// Annotation.swift
//
//
// Created by Spencer Byrne on 10/3/22.
//
import Kingfisher
import SwiftUI
struct Annotation: View {
var frat: Location
@State var showSheet: Bool = false
var body: some View {
//let status = checkFratStatus(fratID: frat.name, eventData: eventData)
let status = FratStatus.dormant
switch status {
case .active:
Active(frat: frat)
case .upcoming:
Upcoming(frat: frat)
case .dormant:
Dormant(frat: frat).onTapGesture {
showSheet.toggle()
}
.halfSheet(showSheet: $showSheet){
FratCombinedView(frat: frat)
.ignoresSafeArea()
}onEnd: {
print("dismissed")
}
case .disabled:
Disabled(frat: frat)
case .soon:
EmptyView()
}
}
}
struct Upcoming: View {
var frat: Location
var body: some View {
ZStack{
KFImage.url(URL(string: frat.logo))
.resizable()
.shadow(color: Color.primary, radius: 3)
.frame(width: 60, height: 40)
}
}
}
struct Active: View {
var frat: Location
var body: some View {
ZStack{
KFImage.url(URL(string: frat.logo))
.resizable()
.shadow(color: Color.red, radius: 3)
.frame(width: 120, height: 80)
}
}
}
struct Dormant: View {
var frat: Location
var body: some View {
ZStack{
KFImage.url(URL(string: frat.logo))
.resizable()
.frame(width: 60, height: 40)
}//.opacity(0.7)
}
}
struct Disabled: View {
var frat: Location
var body: some View {
ZStack{
KFImage.url(URL(string: frat.logo))
.resizable()
}.opacity(0)
}
}