Added demo mode for app review
This commit is contained in:
@ -83,12 +83,22 @@ struct InviteCodesView: View {
|
||||
}
|
||||
.navigationTitle("Invite Codes")
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .navigationBarLeading) {
|
||||
if viewModel.demoMode {
|
||||
Text("DEMO MODE")
|
||||
.font(.caption)
|
||||
.padding(5)
|
||||
.background(Color.green.opacity(0.2))
|
||||
.foregroundColor(.green)
|
||||
.cornerRadius(4)
|
||||
}
|
||||
}
|
||||
|
||||
ToolbarItem(placement: .navigationBarTrailing) {
|
||||
Button {
|
||||
isCreatingCode = true
|
||||
Task {
|
||||
await viewModel.pdsService.createInviteCode()
|
||||
await viewModel.refreshInviteCodes()
|
||||
await viewModel.createInviteCode()
|
||||
isCreatingCode = false
|
||||
}
|
||||
} label: {
|
||||
|
@ -64,11 +64,32 @@ struct LoginView: View {
|
||||
.cornerRadius(8)
|
||||
}
|
||||
|
||||
Button("Toggle Debug Info") {
|
||||
Divider()
|
||||
.padding(.vertical, 10)
|
||||
.padding(.horizontal, 40)
|
||||
|
||||
Button {
|
||||
enterDemoMode()
|
||||
} label: {
|
||||
HStack {
|
||||
Image(systemName: "rectangle.fill.on.rectangle.fill.circle")
|
||||
.imageScale(.medium)
|
||||
Text("Enter Demo Mode")
|
||||
}
|
||||
.frame(maxWidth: .infinity)
|
||||
.padding()
|
||||
}
|
||||
.background(Color.green)
|
||||
.foregroundColor(.white)
|
||||
.cornerRadius(10)
|
||||
.padding(.horizontal, 40)
|
||||
|
||||
Button("Show Debug Info") {
|
||||
showingDebugInfo.toggle()
|
||||
}
|
||||
.font(.caption)
|
||||
.padding(.top, 20)
|
||||
.foregroundColor(.secondary)
|
||||
.padding(.top, 10)
|
||||
|
||||
if showingDebugInfo {
|
||||
ScrollView {
|
||||
@ -99,6 +120,11 @@ struct LoginView: View {
|
||||
}
|
||||
}
|
||||
|
||||
private func enterDemoMode() {
|
||||
debugLogs.append("Entering demo mode...")
|
||||
viewModel.enableDemoMode()
|
||||
}
|
||||
|
||||
private func login() {
|
||||
isLoggingIn = true
|
||||
|
||||
|
@ -72,6 +72,18 @@ struct UserListView: View {
|
||||
}
|
||||
}
|
||||
.navigationTitle("Users")
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .navigationBarLeading) {
|
||||
if viewModel.demoMode {
|
||||
Text("DEMO MODE")
|
||||
.font(.caption)
|
||||
.padding(5)
|
||||
.background(Color.green.opacity(0.2))
|
||||
.foregroundColor(.green)
|
||||
.cornerRadius(4)
|
||||
}
|
||||
}
|
||||
}
|
||||
.refreshable {
|
||||
print("⏳ Pull-to-refresh: Fetching users")
|
||||
await viewModel.refreshUsers()
|
||||
@ -93,9 +105,8 @@ struct UserListView: View {
|
||||
|
||||
Button("Save") {
|
||||
Task {
|
||||
if await viewModel.pdsService.editUserHandle(userId: user.id, newHandle: newHandle) {
|
||||
if await viewModel.editUserHandle(userId: user.id, newHandle: newHandle) {
|
||||
showingEditSheet = false
|
||||
await viewModel.refreshUsers() // Refresh to show updated handle
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -112,9 +123,15 @@ struct UserListView: View {
|
||||
Button("Cancel", role: .cancel) { }
|
||||
Button("Suspend", role: .destructive) {
|
||||
if let user = selectedUser {
|
||||
print("Attempting to suspend user: \(user.id)")
|
||||
Task {
|
||||
await viewModel.pdsService.suspendUser(userId: user.id, reason: suspensionReason)
|
||||
await viewModel.refreshUsers() // Refresh after suspension
|
||||
let success = await viewModel.suspendUser(userId: user.id)
|
||||
print("Suspend user result: \(success)")
|
||||
|
||||
// Force UI update
|
||||
await MainActor.run {
|
||||
viewModel.refreshUI()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -127,9 +144,15 @@ struct UserListView: View {
|
||||
Button("Cancel", role: .cancel) { }
|
||||
Button("Reactivate") {
|
||||
if let user = selectedUser {
|
||||
print("Attempting to reactivate user: \(user.id)")
|
||||
Task {
|
||||
await viewModel.pdsService.reactivateUser(userId: user.id)
|
||||
await viewModel.refreshUsers() // Refresh after reactivation
|
||||
let success = await viewModel.reactivateUser(userId: user.id)
|
||||
print("Reactivate user result: \(success)")
|
||||
|
||||
// Force UI update
|
||||
await MainActor.run {
|
||||
viewModel.refreshUI()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -149,7 +172,7 @@ struct UserListView: View {
|
||||
}
|
||||
|
||||
struct UserRow: View {
|
||||
let user: PDSUser
|
||||
@ObservedObject var user: PDSUser
|
||||
|
||||
var formattedDate: String {
|
||||
let formatter = DateFormatter()
|
||||
|
Reference in New Issue
Block a user