aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNavan Chauhan <navanchauhan@gmail.com>2024-12-26 21:09:37 +0530
committerNavan Chauhan <navanchauhan@gmail.com>2024-12-26 21:09:37 +0530
commitdfeed4567b7f7ebfdfd59ecc34d756dd2ae67d4e (patch)
tree371bc47c5006a57a3c4f80d820f4ab801e0e61d1
parent3cbca555d7678790c30ef4358eca1a5d225660eb (diff)
clean up
-rw-r--r--iGopherBrowser.xcodeproj/project.pbxproj8
-rw-r--r--iGopherBrowser/BrowserView.swift105
2 files changed, 51 insertions, 62 deletions
diff --git a/iGopherBrowser.xcodeproj/project.pbxproj b/iGopherBrowser.xcodeproj/project.pbxproj
index 7e95c18..b6e417c 100644
--- a/iGopherBrowser.xcodeproj/project.pbxproj
+++ b/iGopherBrowser.xcodeproj/project.pbxproj
@@ -404,7 +404,7 @@
CODE_SIGN_ENTITLEMENTS = iGopherBrowser/iGopherBrowser.entitlements;
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 10;
+ CURRENT_PROJECT_VERSION = 12;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "\"iGopherBrowser/Preview Content\"";
DEVELOPMENT_TEAM = 6BS49F3GLW;
@@ -427,7 +427,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 14.0;
- MARKETING_VERSION = 1.0.6;
+ MARKETING_VERSION = 1.0.7;
PRODUCT_BUNDLE_IDENTIFIER = com.navanchauhan.iGopherBrowser;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = auto;
@@ -448,7 +448,7 @@
CODE_SIGN_ENTITLEMENTS = iGopherBrowser/iGopherBrowser.entitlements;
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 10;
+ CURRENT_PROJECT_VERSION = 12;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "\"iGopherBrowser/Preview Content\"";
DEVELOPMENT_TEAM = 6BS49F3GLW;
@@ -471,7 +471,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 14.0;
- MARKETING_VERSION = 1.0.6;
+ MARKETING_VERSION = 1.0.7;
PRODUCT_BUNDLE_IDENTIFIER = com.navanchauhan.iGopherBrowser;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = auto;
diff --git a/iGopherBrowser/BrowserView.swift b/iGopherBrowser/BrowserView.swift
index 47c0ead..e633108 100644
--- a/iGopherBrowser/BrowserView.swift
+++ b/iGopherBrowser/BrowserView.swift
@@ -55,7 +55,7 @@ struct BrowserView: View {
@State private var scrollToTop: Bool = false
@State var currentTask: Task<Void, Never>?
-
+
let client = GopherClient()
var body: some View {
@@ -173,7 +173,9 @@ struct BrowserView: View {
}
}
.onChange(of: selectedSearchItem) {
- self.showSearchInput = true
+ if let selectedSearchItem = selectedSearchItem {
+ self.showSearchInput = true
+ }
}
}
.sheet(isPresented: $showSearchInput) {
@@ -261,21 +263,8 @@ struct BrowserView: View {
}
Spacer()
Button {
- if let curNode = backwardStack.popLast() {
- forwardStack.append(curNode)
- if let prevNode = backwardStack.popLast() {
- TelemetryManager.send(
- "applicationClickedBack",
- with: [
- "gopherURL":
- "\(prevNode.host):\(prevNode.port)\(prevNode.selector)"
- ])
- performGopherRequest(
- host: prevNode.host, port: prevNode.port,
- selector: prevNode.selector,
- clearForward: false)
- }
- }
+ goBack();
+
} label: {
Label("Back", systemImage: "chevron.left")
.labelStyle(.iconOnly)
@@ -283,18 +272,7 @@ struct BrowserView: View {
.disabled(backwardStack.count < 2)
Spacer()
Button {
- if let nextNode = forwardStack.popLast() {
- TelemetryManager.send(
- "applicationClickedForward",
- with: [
- "gopherURL":
- "\(nextNode.host):\(nextNode.port)\(nextNode.selector)"
- ])
- performGopherRequest(
- host: nextNode.host, port: nextNode.port,
- selector: nextNode.selector,
- clearForward: false)
- }
+ goForward()
} label: {
Label("Forward", systemImage: "chevron.right")
.labelStyle(.iconOnly)
@@ -359,21 +337,7 @@ struct BrowserView: View {
#endif
Button {
- if let curNode = backwardStack.popLast() {
- forwardStack.append(curNode)
- if let prevNode = backwardStack.popLast() {
- TelemetryManager.send(
- "applicationClickedBack",
- with: [
- "gopherURL":
- "\(prevNode.host):\(prevNode.port)\(prevNode.selector)"
- ])
- performGopherRequest(
- host: prevNode.host, port: prevNode.port,
- selector: prevNode.selector,
- clearForward: false)
- }
- }
+ goBack()
} label: {
Label("Back", systemImage: "chevron.left")
.labelStyle(.iconOnly)
@@ -381,19 +345,8 @@ struct BrowserView: View {
.disabled(backwardStack.count < 2)
Button {
- if let nextNode = forwardStack.popLast() {
- TelemetryManager.send(
- "applicationClickedForward",
- with: [
- "gopherURL":
- "\(nextNode.host):\(nextNode.port)\(nextNode.selector)"
- ])
- performGopherRequest(
- host: nextNode.host, port: nextNode.port,
- selector: nextNode.selector,
- clearForward: false)
- }
- } label: {
+ goForward();
+ } label: {
Label("Forward", systemImage: "chevron.right")
.labelStyle(.iconOnly)
}
@@ -462,6 +415,42 @@ struct BrowserView: View {
}
.accentColor(accentColour)
}
+
+ private func goBack() {
+ if let curNode = backwardStack.popLast() {
+ forwardStack.append(curNode)
+ if let prevNode = backwardStack.popLast() {
+ TelemetryManager.send(
+ "applicationClickedBack",
+ with: [
+ "gopherURL":
+ "\(prevNode.host):\(prevNode.port)\(prevNode.selector)"
+ ])
+ performGopherRequest(
+ host: prevNode.host, port: prevNode.port,
+ selector: prevNode.selector,
+ clearForward: false)
+ }
+ }
+ }
+
+ private func goForward() {
+ if let curNode = backwardStack.popLast() {
+ forwardStack.append(curNode)
+ if let prevNode = backwardStack.popLast() {
+ TelemetryManager.send(
+ "applicationClickedBack",
+ with: [
+ "gopherURL":
+ "\(prevNode.host):\(prevNode.port)\(prevNode.selector)"
+ ])
+ performGopherRequest(
+ host: prevNode.host, port: prevNode.port,
+ selector: prevNode.selector,
+ clearForward: false)
+ }
+ }
+ }
private func performGopherRequest(
host: String = "", port: Int = -1, selector: String = "", clearForward: Bool = true
@@ -546,7 +535,7 @@ struct BrowserView: View {
}
}
}
-
+
private func convertToHostNodes(_ responseItems: [gopherItem]) -> [GopherNode] {
var returnItems: [GopherNode] = []
responseItems.forEach { item in