102 lines
3.9 KiB
Swift
102 lines
3.9 KiB
Swift
//
|
|
// FavGroupsView.swift
|
|
// Schedule ICTIS
|
|
//
|
|
// Created by Egor Mironov on 05.03.2025.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct FavVPKView: View {
|
|
@ObservedObject var vm: ScheduleViewModel
|
|
@ObservedObject var networkMonitor: NetworkMonitor
|
|
var firstFavVPK = (UserDefaults.standard.string(forKey: "vpk1") ?? "")
|
|
var secondFavVPK = (UserDefaults.standard.string(forKey: "vpk2") ?? "")
|
|
var thirdFavVPK = (UserDefaults.standard.string(forKey: "vpk3") ?? "")
|
|
var body: some View {
|
|
VStack (spacing: 0) {
|
|
List {
|
|
if firstFavVPK != "" {
|
|
HStack {
|
|
Text(firstFavVPK)
|
|
.font(.custom("Montserrat-Medium", fixedSize: 17))
|
|
Spacer()
|
|
}
|
|
.background(Color.white)
|
|
.cornerRadius(10)
|
|
.swipeActions(edge: .trailing) {
|
|
Button(role: .destructive) {
|
|
vm.removeFromSchedule(group: firstFavVPK)
|
|
UserDefaults.standard.set("", forKey: "vpk1")
|
|
} label: {
|
|
Label("Удалить", systemImage: "trash")
|
|
}
|
|
}
|
|
}
|
|
if secondFavVPK != "" {
|
|
HStack {
|
|
Text(secondFavVPK)
|
|
.font(.custom("Montserrat-Medium", fixedSize: 17))
|
|
Spacer()
|
|
}
|
|
.background(Color.white)
|
|
.cornerRadius(10)
|
|
.swipeActions(edge: .trailing) {
|
|
Button(role: .destructive) {
|
|
vm.removeFromSchedule(group: secondFavVPK)
|
|
UserDefaults.standard.set("", forKey: "vpk2")
|
|
} label: {
|
|
Label("Удалить", systemImage: "trash")
|
|
}
|
|
}
|
|
}
|
|
if thirdFavVPK != "" {
|
|
HStack {
|
|
Text(thirdFavVPK)
|
|
.font(.custom("Montserrat-Medium", fixedSize: 17))
|
|
Spacer()
|
|
}
|
|
.background(Color.white)
|
|
.cornerRadius(10)
|
|
.swipeActions(edge: .trailing) {
|
|
Button(role: .destructive) {
|
|
vm.removeFromSchedule(group: thirdFavVPK)
|
|
UserDefaults.standard.set("", forKey: "vpk3")
|
|
} label: {
|
|
Label("Удалить", systemImage: "trash")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.frame(maxHeight: 400)
|
|
|
|
Spacer()
|
|
|
|
HStack {
|
|
Spacer()
|
|
if firstFavVPK == "" || secondFavVPK == "" || thirdFavVPK == "" {
|
|
NavigationLink(destination: SelectingVPKView(vm: vm, networkMonitor: networkMonitor, firstFavVPK: firstFavVPK, secondFavVPK: secondFavVPK, thirdFavVPK: thirdFavVPK)) {
|
|
HStack {
|
|
Image(systemName: "plus")
|
|
.foregroundColor(.white)
|
|
.font(.system(size: 22))
|
|
.padding(EdgeInsets(top: 12, leading: 12, bottom: 12, trailing: 12))
|
|
}
|
|
.background(Color("blueColor"))
|
|
.cornerRadius(10)
|
|
.padding(.trailing, 20)
|
|
}
|
|
}
|
|
}
|
|
.padding(.bottom, 90)
|
|
}
|
|
.background(Color("background"))
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
@Previewable @StateObject var vm = ScheduleViewModel()
|
|
@Previewable @StateObject var vm2 = NetworkMonitor()
|
|
FavVPKView(vm: vm, networkMonitor: vm2)
|
|
}
|