commit 74d8d57542d175fcc5c0723483977a7a1677dddf
parent 214e45a98b85208375de68ae5da4fee15679d1b7
Author: William Casarin <jb55@jb55.com>
Date: Wed, 25 Jan 2023 15:34:33 -0800
Add EULA step to account creation
Diffstat:
4 files changed, 103 insertions(+), 1 deletion(-)
diff --git 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 = "<group>"; };
4CF0ABE02981A83900D66079 /* MutelistView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutelistView.swift; sourceTree = "<group>"; };
4CF0ABE22981BC7D00D66079 /* UserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserView.swift; sourceTree = "<group>"; };
+ 4CF0ABE42981EE0C00D66079 /* EULAView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EULAView.swift; sourceTree = "<group>"; };
4FE60CDC295E1C5E00105A1F /* Wallet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Wallet.swift; sourceTree = "<group>"; };
6439E013296790CF0020672B /* ProfileZoomView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileZoomView.swift; sourceTree = "<group>"; };
647D9A8C2968520300A295DE /* SideMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideMenuView.swift; sourceTree = "<group>"; };
@@ -604,6 +606,7 @@
4CB8838E296F781C00DC99E7 /* ReactionsView.swift */,
6439E013296790CF0020672B /* ProfileZoomView.swift */,
4CF0ABD529817F5B00D66079 /* ReportView.swift */,
+ 4CF0ABE42981EE0C00D66079 /* EULAView.swift */,
);
path = Views;
sourceTree = "<group>";
@@ -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
@@ -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<FormContent: View>(@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
@@ -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
@@ -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 ) {