128 lines
3.1 KiB
Swift
128 lines
3.1 KiB
Swift
//
|
|
// 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 = [MoodEntry]()
|
|
// 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())
|
|
}
|
|
}
|