sodalive-ios/SodaLive/Sources/ContentView.swift

78 lines
2.2 KiB
Swift

//
// ContentView.swift
// SodaLive
//
// Created by klaus on 2023/08/09.
//
import SwiftUI
struct ContentView: View {
@StateObject private var appState = AppState.shared
var body: some View {
ZStack {
Color.black.ignoresSafeArea()
MainView()
switch appState.appStep {
case .splash:
SplashView()
case .signUp:
SignUpView()
case .findPassword:
FindPasswordView()
case .textMessageDetail(let messageItem, let messageBox, let refresh):
TextMessageDetailView(messageItem: messageItem, messageBox: messageBox, refresh: refresh)
case .writeTextMessage(let userId, let nickname):
TextMessageWriteView(replySenderId: userId, replySenderNickname: nickname)
case .writeVoiceMessage(let userId, let nickname, let onRefresh):
VoiceMessageWriteView(replySenderId: userId, replySenderNickname: nickname, onRefresh: onRefresh)
case .settings:
SettingsView()
case .notices:
NoticeListView()
case .noticeDetail(let notice):
NoticeDetailView(notice: notice)
case .events:
EventListView()
case .eventDetail(let event):
EventDetailView(event: event)
case .terms:
TermsView(isPrivacyPolicy: false)
case .privacy:
TermsView(isPrivacyPolicy: true)
case .notificationSettings:
NotificationSettingsView()
case .signOut:
SignOutView()
default:
EmptyView()
.frame(width: 0, height: 0, alignment: .topLeading)
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}