Ferrite-backup/Ferrite/Views/MainView.swift
kingbri 2df0ce7604 Ferrite: Fix toast UI
Refactor the GroupBox style and make error fonts smaller to not
impede the user's experience.

Signed-off-by: kingbri <bdashore3@gmail.com>
2022-08-04 21:33:59 -04:00

62 lines
1.7 KiB
Swift

//
// MainView.swift
// Ferrite
//
// Created by Brian Dashore on 7/11/22.
//
import SwiftUI
enum Tab {
case search
case settings
}
struct MainView: View {
@EnvironmentObject var toastModel: ToastViewModel
@State private var tabSelection: Tab = .search
var body: some View {
TabView(selection: $tabSelection) {
ContentView()
.tabItem {
Label("Search", systemImage: "magnifyingglass")
}
.tag(Tab.search)
SettingsView()
.tabItem {
Label("Settings", systemImage: "gear")
}
.tag(Tab.settings)
}
.overlay {
VStack {
Spacer()
if toastModel.showToast {
GroupBox {
switch toastModel.toastType {
case .info:
Text(toastModel.toastDescription ?? "This shouldn't be showing up... Contact the dev!")
case .error:
Text("Error: \(toastModel.toastDescription ?? "This shouldn't be showing up... Contact the dev!")")
}
}
.groupBoxStyle(ErrorGroupBoxStyle())
Rectangle()
.foregroundColor(.clear)
.frame(height: 60)
}
}
.font(.caption)
.animation(.easeInOut(duration: 0.3), value: toastModel.showToast)
}
}
}
struct MainView_Previews: PreviewProvider {
static var previews: some View {
MainView()
}
}