diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/Contents.json b/SodaLive/Resources/Assets.xcassets/onboarding/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/onboarding/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_0.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_0.imageset/Contents.json new file mode 100644 index 0000000..5de24c2 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_0.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "img_guide_0.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_0.imageset/img_guide_0.png b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_0.imageset/img_guide_0.png new file mode 100644 index 0000000..3177264 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_0.imageset/img_guide_0.png differ diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_1.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_1.imageset/Contents.json new file mode 100644 index 0000000..e9038a3 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "img_guide_1.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_1.imageset/img_guide_1.png b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_1.imageset/img_guide_1.png new file mode 100644 index 0000000..94e978a Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_1.imageset/img_guide_1.png differ diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_2.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_2.imageset/Contents.json new file mode 100644 index 0000000..85aec2f --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_2.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "img_guide_2.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_2.imageset/img_guide_2.png b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_2.imageset/img_guide_2.png new file mode 100644 index 0000000..60a287d Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_2.imageset/img_guide_2.png differ diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_3.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_3.imageset/Contents.json new file mode 100644 index 0000000..da8c79a --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_3.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "img_guide_3.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_3.imageset/img_guide_3.png b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_3.imageset/img_guide_3.png new file mode 100644 index 0000000..85dd63d Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_3.imageset/img_guide_3.png differ diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_4.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_4.imageset/Contents.json new file mode 100644 index 0000000..949e728 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_4.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "img_guide_4.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_4.imageset/img_guide_4.png b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_4.imageset/img_guide_4.png new file mode 100644 index 0000000..1677c2a Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_4.imageset/img_guide_4.png differ diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_5.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_5.imageset/Contents.json new file mode 100644 index 0000000..0423b68 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_5.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "img_guide_5.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_5.imageset/img_guide_5.png b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_5.imageset/img_guide_5.png new file mode 100644 index 0000000..511d418 Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_5.imageset/img_guide_5.png differ diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_6.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_6.imageset/Contents.json new file mode 100644 index 0000000..a63e7b2 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_6.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "img_guide_6.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_6.imageset/img_guide_6.png b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_6.imageset/img_guide_6.png new file mode 100644 index 0000000..62a130b Binary files /dev/null and b/SodaLive/Resources/Assets.xcassets/onboarding/img_guide_6.imageset/img_guide_6.png differ diff --git a/SodaLive/Resources/Assets.xcassets/splash/Contents.json b/SodaLive/Resources/Assets.xcassets/splash/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/splash/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/splash_bubble.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/splash/splash_bubble.imageset/Contents.json similarity index 100% rename from SodaLive/Resources/Assets.xcassets/splash_bubble.imageset/Contents.json rename to SodaLive/Resources/Assets.xcassets/splash/splash_bubble.imageset/Contents.json diff --git a/SodaLive/Resources/Assets.xcassets/splash_bubble.imageset/splash_bubble.png b/SodaLive/Resources/Assets.xcassets/splash/splash_bubble.imageset/splash_bubble.png similarity index 100% rename from SodaLive/Resources/Assets.xcassets/splash_bubble.imageset/splash_bubble.png rename to SodaLive/Resources/Assets.xcassets/splash/splash_bubble.imageset/splash_bubble.png diff --git a/SodaLive/Resources/Assets.xcassets/splash_logo.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/splash/splash_logo.imageset/Contents.json similarity index 100% rename from SodaLive/Resources/Assets.xcassets/splash_logo.imageset/Contents.json rename to SodaLive/Resources/Assets.xcassets/splash/splash_logo.imageset/Contents.json diff --git a/SodaLive/Resources/Assets.xcassets/splash_logo.imageset/splash_logo.png b/SodaLive/Resources/Assets.xcassets/splash/splash_logo.imageset/splash_logo.png similarity index 100% rename from SodaLive/Resources/Assets.xcassets/splash_logo.imageset/splash_logo.png rename to SodaLive/Resources/Assets.xcassets/splash/splash_logo.imageset/splash_logo.png diff --git a/SodaLive/Resources/Assets.xcassets/splash_text.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/splash/splash_text.imageset/Contents.json similarity index 100% rename from SodaLive/Resources/Assets.xcassets/splash_text.imageset/Contents.json rename to SodaLive/Resources/Assets.xcassets/splash/splash_text.imageset/Contents.json diff --git a/SodaLive/Resources/Assets.xcassets/splash_text.imageset/splash_text.png b/SodaLive/Resources/Assets.xcassets/splash/splash_text.imageset/splash_text.png similarity index 100% rename from SodaLive/Resources/Assets.xcassets/splash_text.imageset/splash_text.png rename to SodaLive/Resources/Assets.xcassets/splash/splash_text.imageset/splash_text.png diff --git a/SodaLive/Resources/Debug/SodaLive-dev-Info.plist b/SodaLive/Resources/Debug/SodaLive-dev-Info.plist index cbb06d6..3f68a1e 100644 --- a/SodaLive/Resources/Debug/SodaLive-dev-Info.plist +++ b/SodaLive/Resources/Debug/SodaLive-dev-Info.plist @@ -2,6 +2,19 @@ + FirebaseAppDelegateProxyEnabled + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + UIAppFonts + + gmarket_sans_bold.otf + gmarket_sans_medium.otf + gmarket_sans_light.otf + UIBackgroundModes audio diff --git a/SodaLive/Resources/Info.plist b/SodaLive/Resources/Info.plist index 9ffe80f..3f68a1e 100644 --- a/SodaLive/Resources/Info.plist +++ b/SodaLive/Resources/Info.plist @@ -2,6 +2,13 @@ + FirebaseAppDelegateProxyEnabled + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + UIAppFonts gmarket_sans_bold.otf diff --git a/SodaLive/Sources/ContentView.swift b/SodaLive/Sources/ContentView.swift index 2b0475d..45b1a83 100644 --- a/SodaLive/Sources/ContentView.swift +++ b/SodaLive/Sources/ContentView.swift @@ -14,6 +14,8 @@ struct ContentView: View { ZStack { Color.black.ignoresSafeArea() + MainView() + switch appState.appStep { case .splash: SplashView() diff --git a/SodaLive/Sources/Extensions/UserDefaultsExtension.swift b/SodaLive/Sources/Extensions/UserDefaultsExtension.swift index b572a77..4677040 100644 --- a/SodaLive/Sources/Extensions/UserDefaultsExtension.swift +++ b/SodaLive/Sources/Extensions/UserDefaultsExtension.swift @@ -17,7 +17,6 @@ enum UserDefaultsKey: String, CaseIterable { case nickname case pushToken case profileImage - case voipPushToken case devicePushToken case isContentPlayLoop case isFollowedCreatorLive diff --git a/SodaLive/Sources/Font/Font.swift b/SodaLive/Sources/Font/Font.swift new file mode 100644 index 0000000..6eaa9ca --- /dev/null +++ b/SodaLive/Sources/Font/Font.swift @@ -0,0 +1,14 @@ +// +// Font.swift +// SodaLive +// +// Created by klaus on 2023/08/09. +// + +enum Font: String { + case bold = "GmarketSansBold" + + case medium = "GmarketSansMedium" + + case light = "GmarketSansLight" +} diff --git a/SodaLive/Sources/Main/HomeView.swift b/SodaLive/Sources/Main/HomeView.swift new file mode 100644 index 0000000..62a16cb --- /dev/null +++ b/SodaLive/Sources/Main/HomeView.swift @@ -0,0 +1,20 @@ +// +// HomeView.swift +// SodaLive +// +// Created by klaus on 2023/08/09. +// + +import SwiftUI + +struct HomeView: View { + var body: some View { + Text("Home View") + } +} + +struct HomeView_Previews: PreviewProvider { + static var previews: some View { + HomeView() + } +} diff --git a/SodaLive/Sources/Main/MainView.swift b/SodaLive/Sources/Main/MainView.swift new file mode 100644 index 0000000..5431c81 --- /dev/null +++ b/SodaLive/Sources/Main/MainView.swift @@ -0,0 +1,32 @@ +// +// MainView.swift +// SodaLive +// +// Created by klaus on 2023/08/09. +// + +import SwiftUI + +struct MainView: View { + + @AppStorage("token") private var token: String = UserDefaults.string(forKey: UserDefaultsKey.token) + @AppStorage("isViewedOnboardingView") private var isViewedOnboardingView: Bool = UserDefaults.bool(forKey: .isViewedOnboardingView) + + var body: some View { + if isViewedOnboardingView { + if token.count > 0 { + HomeView() + } else { + LoginView() + } + } else { + OnboardingView() + } + } +} + +struct MainView_Previews: PreviewProvider { + static var previews: some View { + MainView() + } +} diff --git a/SodaLive/Sources/Onboarding/OnboardingView.swift b/SodaLive/Sources/Onboarding/OnboardingView.swift new file mode 100644 index 0000000..d16ec5a --- /dev/null +++ b/SodaLive/Sources/Onboarding/OnboardingView.swift @@ -0,0 +1,85 @@ +// +// OnboardingView.swift +// SodaLive +// +// Created by klaus on 2023/08/09. +// + +import SwiftUI + +struct OnboardingView: View { + + @State private var selection = 0 + + var body: some View { + GeometryReader { proxy in + ZStack { + VStack(spacing: 0) { + TabView(selection: $selection) { + Image("img_guide_0") + .resizable() + .scaledToFit() + .tag(0) + + Image("img_guide_1") + .resizable() + .scaledToFit() + .tag(1) + + Image("img_guide_2") + .resizable() + .scaledToFit() + .tag(2) + + Image("img_guide_3") + .resizable() + .scaledToFit() + .tag(3) + + Image("img_guide_4") + .resizable() + .scaledToFit() + .tag(4) + + Image("img_guide_5") + .resizable() + .scaledToFit() + .tag(5) + + Image("img_guide_6") + .resizable() + .scaledToFit() + .tag(6) + } + .tabViewStyle(PageTabViewStyle()) + .onAppear { + UIPageControl.appearance().pageIndicatorTintColor = UIColor(hex: "555555", alpha: 0.24) + UIPageControl.appearance().currentPageIndicatorTintColor = UIColor(hex: "1313BC") + } + + Text("μ‹œμž‘ν•˜κΈ°") + .font(.custom(Font.bold.rawValue, size: 18.3)) + .foregroundColor(Color(hex: "1313BC")) + .frame(width: screenSize().width, height: 60) + .background(Color(hex: "80D8FF")) + .onTapGesture { + UserDefaults.set(true, forKey: .isViewedOnboardingView) + } + + if proxy.safeAreaInsets.bottom > 0 { + Rectangle() + .foregroundColor(Color(hex: "80D8FF")) + .frame(width: proxy.size.width, height: 15.3) + } + } + } + } + .ignoresSafeArea() + } +} + +struct OnboardingView_Previews: PreviewProvider { + static var previews: some View { + OnboardingView() + } +} diff --git a/SodaLive/Sources/User/LoginView.swift b/SodaLive/Sources/User/LoginView.swift new file mode 100644 index 0000000..1568291 --- /dev/null +++ b/SodaLive/Sources/User/LoginView.swift @@ -0,0 +1,20 @@ +// +// LoginView.swift +// SodaLive +// +// Created by klaus on 2023/08/09. +// + +import SwiftUI + +struct LoginView: View { + var body: some View { + Text("Login View") + } +} + +struct LoginView_Previews: PreviewProvider { + static var previews: some View { + LoginView() + } +}