Skip to content

Commit

Permalink
💄 Move "Permissions" section of settings window into "More" section
Browse files Browse the repository at this point in the history
  • Loading branch information
MrKai77 committed Dec 24, 2023
1 parent 80059cc commit b4d10cc
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 57 deletions.
57 changes: 0 additions & 57 deletions Loop/Settings/GeneralSettingsView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@ struct GeneralSettingsView: View {
@Default(.restoreWindowFrameOnDrag) var restoreWindowFrameOnDrag
@Default(.resizeWindowUnderCursor) var resizeWindowUnderCursor

@State var isAccessibilityAccessGranted = false
@State var isScreenRecordingAccessGranted = false

var body: some View {
Form {
Section("Behavior") {
Expand Down Expand Up @@ -134,60 +131,6 @@ struct GeneralSettingsView: View {
)
}
}

Section(content: {
HStack {
Text("Accessibility Access")
Spacer()
Text(isAccessibilityAccessGranted ? "Granted" : "Not Granted")
Circle()
.frame(width: 8, height: 8)
.padding(.trailing, 5)
.foregroundColor(isAccessibilityAccessGranted ? .green : .red)
.shadow(color: isAccessibilityAccessGranted ? .green : .red, radius: 8)
}

VStack(alignment: .leading) {
HStack {
Text("Screen Recording Access")
Spacer()
Text(isScreenRecordingAccessGranted ? "Granted" : "Not Granted")
Circle()
.frame(width: 8, height: 8)
.padding(.trailing, 5)
.foregroundColor(isScreenRecordingAccessGranted ? .green : .red)
.shadow(color: isScreenRecordingAccessGranted ? .green : .red, radius: 8)
}
Text("This is only needed to animate windows being resized.")
.font(.caption)
.foregroundColor(.secondary)
}
}, header: {
HStack {
Text("Permissions")

Spacer()

Button("Request Access", action: {
PermissionsManager.requestAccess()
self.isAccessibilityAccessGranted = PermissionsManager.Accessibility.getStatus()
self.isScreenRecordingAccessGranted = PermissionsManager.ScreenRecording.getStatus()
})
.buttonStyle(.link)
.foregroundStyle(Color.accentColor)
.disabled(isAccessibilityAccessGranted && isScreenRecordingAccessGranted)
.opacity(isAccessibilityAccessGranted ? isScreenRecordingAccessGranted ? 0.6 : 1 : 1)
.help("Refresh the current accessibility permissions")
.onAppear {
self.isAccessibilityAccessGranted = PermissionsManager.Accessibility.getStatus()
self.isScreenRecordingAccessGranted = PermissionsManager.ScreenRecording.getStatus()

if !isScreenRecordingAccessGranted {
self.animateWindowResizes = false
}
}
}
})
}
.formStyle(.grouped)
.scrollDisabled(true)
Expand Down
57 changes: 57 additions & 0 deletions Loop/Settings/MoreSettingsView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ import Defaults
struct MoreSettingsView: View {
@EnvironmentObject var updater: SoftwareUpdater

@Default(.animateWindowResizes) var animateWindowResizes
@State var isAccessibilityAccessGranted = false
@State var isScreenRecordingAccessGranted = false

var body: some View {
Form {
Section(content: {
Expand Down Expand Up @@ -46,6 +50,59 @@ struct MoreSettingsView: View {
.foregroundStyle(Color.accentColor)
}
})

Section(content: {
HStack {
Text("Accessibility Access")
Spacer()
Text(isAccessibilityAccessGranted ? "Granted" : "Not Granted")
Circle()
.frame(width: 8, height: 8)
.padding(.trailing, 5)
.foregroundColor(isAccessibilityAccessGranted ? .green : .red)
.shadow(color: isAccessibilityAccessGranted ? .green : .red, radius: 8)
}

VStack(alignment: .leading) {
HStack {
Text("Screen Recording Access")
Spacer()
Text(isScreenRecordingAccessGranted ? "Granted" : "Not Granted")
Circle()
.frame(width: 8, height: 8)
.padding(.trailing, 5)
.foregroundColor(isScreenRecordingAccessGranted ? .green : .red)
.shadow(color: isScreenRecordingAccessGranted ? .green : .red, radius: 8)
}
Text("This is only needed to animate windows being resized.")
.font(.caption)
.foregroundColor(.secondary)
}
}, header: {
HStack {
Text("Permissions")

Spacer()

Button("Request Access…", action: {
PermissionsManager.requestAccess()
self.isAccessibilityAccessGranted = PermissionsManager.Accessibility.getStatus()
self.isScreenRecordingAccessGranted = PermissionsManager.ScreenRecording.getStatus()
})
.buttonStyle(.link)
.foregroundStyle(Color.accentColor)
.disabled(isAccessibilityAccessGranted && isScreenRecordingAccessGranted)
.opacity(isAccessibilityAccessGranted ? isScreenRecordingAccessGranted ? 0.6 : 1 : 1)
.onAppear {
self.isAccessibilityAccessGranted = PermissionsManager.Accessibility.getStatus()
self.isScreenRecordingAccessGranted = PermissionsManager.ScreenRecording.getStatus()

if !isScreenRecordingAccessGranted {
self.animateWindowResizes = false
}
}
}
})
}
.formStyle(.grouped)
.scrollDisabled(true)
Expand Down

0 comments on commit b4d10cc

Please sign in to comment.