diff --git a/damus.xcodeproj/project.pbxproj b/damus.xcodeproj/project.pbxproj index 0f39cdcd..55e4b0ac 100644 --- a/damus.xcodeproj/project.pbxproj +++ b/damus.xcodeproj/project.pbxproj @@ -162,6 +162,7 @@ 4CF0ABDE2981A69500D66079 /* MutelistModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABDD2981A69500D66079 /* MutelistModel.swift */; }; 4CF0ABE12981A83900D66079 /* MutelistView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABE02981A83900D66079 /* MutelistView.swift */; }; 4CF0ABE32981BC7D00D66079 /* UserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABE22981BC7D00D66079 /* UserView.swift */; }; + 4CF0ABE52981EE0C00D66079 /* EULAView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABE42981EE0C00D66079 /* EULAView.swift */; }; 4FE60CDD295E1C5E00105A1F /* Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FE60CDC295E1C5E00105A1F /* Wallet.swift */; }; 6439E014296790CF0020672B /* ProfileZoomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6439E013296790CF0020672B /* ProfileZoomView.swift */; }; 647D9A8D2968520300A295DE /* SideMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647D9A8C2968520300A295DE /* SideMenuView.swift */; }; @@ -401,6 +402,7 @@ 4CF0ABDD2981A69500D66079 /* MutelistModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutelistModel.swift; sourceTree = ""; }; 4CF0ABE02981A83900D66079 /* MutelistView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutelistView.swift; sourceTree = ""; }; 4CF0ABE22981BC7D00D66079 /* UserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserView.swift; sourceTree = ""; }; + 4CF0ABE42981EE0C00D66079 /* EULAView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EULAView.swift; sourceTree = ""; }; 4FE60CDC295E1C5E00105A1F /* Wallet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Wallet.swift; sourceTree = ""; }; 6439E013296790CF0020672B /* ProfileZoomView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileZoomView.swift; sourceTree = ""; }; 647D9A8C2968520300A295DE /* SideMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideMenuView.swift; sourceTree = ""; }; @@ -604,6 +606,7 @@ 4CB8838E296F781C00DC99E7 /* ReactionsView.swift */, 6439E013296790CF0020672B /* ProfileZoomView.swift */, 4CF0ABD529817F5B00D66079 /* ReportView.swift */, + 4CF0ABE42981EE0C00D66079 /* EULAView.swift */, ); path = Views; sourceTree = ""; @@ -1047,6 +1050,7 @@ 4C363A9C282838B9006E126D /* EventRef.swift in Sources */, 4CD7641B28A1641400B6928F /* EndBlock.swift in Sources */, 4C3EA66528FF5F6800C48A62 /* mem.c in Sources */, + 4CF0ABE52981EE0C00D66079 /* EULAView.swift in Sources */, 4CBCA930297DB57F00EC6B2F /* WebsiteLink.swift in Sources */, 4C3EA64128FF553900C48A62 /* hash_u5.c in Sources */, 4C3EA64F28FF59F200C48A62 /* tal.c in Sources */, diff --git a/damus/Views/CreateAccountView.swift b/damus/Views/CreateAccountView.swift index b9953286..dd14533d 100644 --- a/damus/Views/CreateAccountView.swift +++ b/damus/Views/CreateAccountView.swift @@ -11,6 +11,7 @@ struct CreateAccountView: View { @StateObject var account: CreateAccountModel = CreateAccountModel() @State var is_light: Bool = false @State var is_done: Bool = false + @State var reading_eula: Bool = false func SignupForm(@ViewBuilder content: () -> FormContent) -> some View { return VStack(alignment: .leading, spacing: 10.0, content: content) @@ -75,6 +76,7 @@ struct CreateAccountView: View { NavigationLink(destination: SaveKeysView(account: account), isActive: $is_done) { EmptyView() } + DamusWhiteButton(NSLocalizedString("Create", comment: "Button to create account.")) { self.is_done = true } diff --git a/damus/Views/EULAView.swift b/damus/Views/EULAView.swift new file mode 100644 index 00000000..3bdf1c3b --- /dev/null +++ b/damus/Views/EULAView.swift @@ -0,0 +1,96 @@ +// +// EULAView.swift +// damus +// +// Created by William Casarin on 2023-01-25. +// + +import SwiftUI + +struct EULAView: View { + @Environment(\.dismiss) var dismiss + @State var creating_account = false + + var body: some View { + ZStack { + DamusGradient() + + ScrollView { + Text("EULA") + .font(.title.bold()) + .foregroundColor(.white) + + Text(Markdown.parse(content: """ +End User License Agreement + +## Introduction + +This End User License Agreement ("EULA") is a legal agreement between you and Damus Nostr Inc. for the use of our mobile application Damus. By installing, accessing, or using our application, you agree to be bound by the terms and conditions of this EULA. + +## Prohibited Content and Conduct + +You agree not to use our application to create, upload, post, send, or store any content that: + +* Is illegal, infringing, or fraudulent +* Is defamatory, libelous, or threatening +* Is pornographic, obscene, or offensive +* Is discriminatory or promotes hate speech +* Is harmful to minors +* Is intended to harass or bully others +* Is intended to impersonate others + +## You also agree not to engage in any conduct that: + +* Harasses or bullies others +* Impersonates others +* Is intended to intimidate or threaten others +* Is intended to promote or incite violence + +## Consequences of Violation + +Any violation of this EULA, including the prohibited content and conduct outlined above, may result in the termination of your access to our application. + +## Disclaimer of Warranties and Limitation of Liability + +Our application is provided "as is" and "as available" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. We do not guarantee that our application will be uninterrupted or error-free. In no event shall Damus Nostr Inc. be liable for any damages whatsoever, including but not limited to direct, indirect, special, incidental, or consequential damages, arising out of or in connection with the use or inability to use our application. + +## Changes to EULA + +We reserve the right to update or modify this EULA at any time and without prior notice. Your continued use of our application following any changes to this EULA will be deemed to be your acceptance of such changes. + +## Contact Information + +If you have any questions about this EULA, please contact us at damus@jb55.com + +## Acceptance of Terms + +By using our Application, you signify your acceptance of this EULA. If you do not agree to this EULA, you may not use our Application. + +""")) + .padding() + + NavigationLink(destination: CreateAccountView(), isActive: $creating_account) { + EmptyView() + } + DamusWhiteButton("Accept") { + creating_account = true + } + + DamusWhiteButton("Reject") { + dismiss() + } + } + .padding() + } + .navigationBarTitleDisplayMode(.inline) + .navigationBarBackButtonHidden(true) + .navigationBarItems(leading: BackNav()) + .foregroundColor(.white) + } +} + +struct EULAView_Previews: PreviewProvider { + static var previews: some View { + EULAView() + } +} diff --git a/damus/Views/SetupView.swift b/damus/Views/SetupView.swift index 8911793a..b2b2f7fd 100644 --- a/damus/Views/SetupView.swift +++ b/damus/Views/SetupView.swift @@ -42,7 +42,7 @@ struct SetupView: View { DamusGradient() VStack(alignment: .center) { - NavigationLink(destination: CreateAccountView(), tag: .create_account, selection: $state ) { + NavigationLink(destination: EULAView(), tag: .create_account, selection: $state ) { EmptyView() } NavigationLink(destination: LoginView(), tag: .login, selection: $state ) {