create all templates .... started to fill one out
This commit is contained in:
127
Shared/Models/SharingTemplates/LongestStreakTemplate.swift
Normal file
127
Shared/Models/SharingTemplates/LongestStreakTemplate.swift
Normal file
@@ -0,0 +1,127 @@
|
||||
//
|
||||
// AllMoods.swift
|
||||
// Feels (iOS)
|
||||
//
|
||||
// Created by Trey Tartt on 2/6/22.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct LongestStreakTemplate: View, SharingTemplate {
|
||||
static var description: String {
|
||||
"Share your longest streak!!!!"
|
||||
}
|
||||
|
||||
@State private var showSharingTemplate = false
|
||||
|
||||
var isPreview: Bool
|
||||
var startDate: Date
|
||||
var endDate: Date
|
||||
|
||||
var entries: [MoodEntry]
|
||||
|
||||
init(isPreview: Bool, startDate: Date, endDate: Date) {
|
||||
self.isPreview = isPreview
|
||||
self.startDate = startDate
|
||||
self.endDate = endDate
|
||||
|
||||
/*
|
||||
get all
|
||||
Split on missing entries
|
||||
Longest subarray
|
||||
*/
|
||||
|
||||
entries = PersistenceController.shared.randomEntries(count: 10)
|
||||
}
|
||||
|
||||
var image: UIImage {
|
||||
let image = shit.snapshot()
|
||||
return image
|
||||
}
|
||||
|
||||
var preview: some View {
|
||||
ZStack {
|
||||
VStack {
|
||||
HStack {
|
||||
Text("Longest Streak")
|
||||
Spacer()
|
||||
Text(String(entries.count))
|
||||
}
|
||||
Text("From")
|
||||
HStack {
|
||||
Text(String(entries.first?.forDate?.description ?? ""))
|
||||
Text("-")
|
||||
Text(String(entries.last?.forDate?.description ?? ""))
|
||||
}
|
||||
}
|
||||
}
|
||||
.background(
|
||||
Color.red
|
||||
)
|
||||
}
|
||||
|
||||
var shit: some View {
|
||||
ZStack {
|
||||
VStack {
|
||||
HStack {
|
||||
Text("Longest Streak")
|
||||
Spacer()
|
||||
Text(String(entries.count))
|
||||
}
|
||||
Text("From")
|
||||
HStack {
|
||||
Text(String(entries.first?.forDate?.description ?? ""))
|
||||
Text("-")
|
||||
Text(String(entries.last?.forDate?.description ?? ""))
|
||||
}
|
||||
}
|
||||
}
|
||||
.background(
|
||||
Color.red
|
||||
)
|
||||
}
|
||||
|
||||
var mainView: some View {
|
||||
ZStack {
|
||||
shit
|
||||
|
||||
VStack {
|
||||
Spacer()
|
||||
|
||||
HStack {
|
||||
Spacer()
|
||||
|
||||
Button(action: {
|
||||
showSharingTemplate = true
|
||||
}, label: {
|
||||
Image(systemName: "square.and.arrow.up")
|
||||
.foregroundColor(.black)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
.sheet(isPresented: $showSharingTemplate) {
|
||||
ActivityViewController(activityItems: [self.image])
|
||||
}
|
||||
.padding()
|
||||
.background(
|
||||
Color.red
|
||||
)
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
if isPreview {
|
||||
preview
|
||||
} else {
|
||||
mainView
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct CurrentStreakSharingTemplate_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
LongestStreakTemplate(isPreview: false, startDate: Date(), endDate: Date())
|
||||
|
||||
LongestStreakTemplate(isPreview: true, startDate: Date(), endDate: Date())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user