turbo-native-initializer 0.0.18 → 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/turbo_native_initializer/templates/ios_stack/TurboNativeProject/Controllers/TurboNavigationController.swift +3 -3
- data/lib/turbo_native_initializer/templates/ios_stack/TurboNativeProject/Delegates/SceneDelegate.swift +6 -4
- data/lib/turbo_native_initializer/templates/ios_stack/TurboNativeProject/Views/Base.lproj/Main.storyboard +2 -2
- data/lib/turbo_native_initializer/templates/ios_tabs/TurboNativeProject/Controllers/TurboNavigationController.swift +3 -3
- data/lib/turbo_native_initializer/templates/ios_tabs/TurboNativeProject/Delegates/SceneDelegate.swift +14 -8
- data/lib/turbo_native_initializer/templates/ios_tabs/TurboNativeProject/Views/Base.lproj/Main.storyboard +6 -41
- data/lib/turbo_native_initializer/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6833f8bad7eb840005b6b4112a54ba0fc0356eff5fef5549b20e80f207beabd1
|
4
|
+
data.tar.gz: 120c51e582c425132d8be00d420b3fb73127adff18ec73e428909d6ebc6e42f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12c27f3b351fb8785ed41661f4e69a1499d3a34e4d8b0acbc501319e317104f19adb359c15de56c680340698f9a4e83070e41699b3bb2cf308f365a534d8de10
|
7
|
+
data.tar.gz: ad5de54e453e5c61ff58ba4498017592ed18d1665c97aa972d2345db22d539d1233b026d9e4b6b2df79c25a569567f59cb0a159eeeb8515aea0b44fa0bbd338f
|
data/README.md
CHANGED
@@ -8,7 +8,7 @@ A turbo native project generator for iOS and Android.
|
|
8
8
|
- Added SwiftUI numbers example screen. (iOS)
|
9
9
|
- Added Jetpack Compose numbers example screen. (Android)
|
10
10
|
- Added UIAlertController to handle `data-turbo-confirm`. (iOS)
|
11
|
-
- Added presentations `
|
11
|
+
- Added presentations `back`, `refresh`, `none`, `replace`, `clear-all`, and `replace-all`. (iOS)
|
12
12
|
- Added `visitable` property in order to avoid visits. (iOS)
|
13
13
|
- Added support for tab navigation. (iOS/Android)
|
14
14
|
- Added support for flash messages. (iOS/Android)
|
@@ -9,7 +9,7 @@ class TurboNavigationController : UINavigationController {
|
|
9
9
|
|
10
10
|
func push(url: URL) {
|
11
11
|
let properties = session.pathConfiguration?.properties(for: url) ?? [:]
|
12
|
-
route(url: url, options:
|
12
|
+
route(url: url, options: .init(action: .advance), properties: properties)
|
13
13
|
}
|
14
14
|
|
15
15
|
func route(url: URL, options: VisitOptions, properties: PathProperties) {
|
@@ -123,9 +123,9 @@ extension TurboNavigationController {
|
|
123
123
|
} else if isReplaceAll(properties) {
|
124
124
|
setViewControllers([viewController], animated: false)
|
125
125
|
} else if isReplace(properties) {
|
126
|
-
setViewControllers(
|
126
|
+
setViewControllers(viewControllers.dropLast() + [viewController], animated: false)
|
127
127
|
} else if action == .replace {
|
128
|
-
setViewControllers(
|
128
|
+
setViewControllers(viewControllers.dropLast() + [viewController], animated: false)
|
129
129
|
} else {
|
130
130
|
pushViewController(viewController, animated: true)
|
131
131
|
}
|
@@ -13,10 +13,12 @@ final class SceneDelegate: UIResponder {
|
|
13
13
|
// MARK: - Setup
|
14
14
|
|
15
15
|
private func configureRootViewController() {
|
16
|
-
|
17
|
-
|
16
|
+
UINavigationBar.appearance().scrollEdgeAppearance = .init()
|
17
|
+
|
18
|
+
navigationController = TurboNavigationController()
|
18
19
|
navigationController.session = session
|
19
20
|
navigationController.modalSession = modalSession
|
21
|
+
window!.rootViewController = navigationController
|
20
22
|
}
|
21
23
|
|
22
24
|
// MARK: - Authentication
|
@@ -98,8 +100,8 @@ extension SceneDelegate: SessionDelegate {
|
|
98
100
|
extension SceneDelegate: WKUIDelegate {
|
99
101
|
func webView(_ webView: WKWebView, runJavaScriptConfirmPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping (Bool) -> Void) {
|
100
102
|
let confirm = UIAlertController(title: nil, message: message, preferredStyle: .alert)
|
101
|
-
confirm.addAction(
|
102
|
-
confirm.addAction(
|
103
|
+
confirm.addAction(.init(title: "Cancel", style: .cancel) { _ in completionHandler(false) })
|
104
|
+
confirm.addAction(.init(title: "OK", style: .default) { _ in completionHandler(true) })
|
103
105
|
navigationController.present(confirm, animated: true)
|
104
106
|
}
|
105
107
|
}
|
@@ -5,10 +5,10 @@
|
|
5
5
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
|
6
6
|
</dependencies>
|
7
7
|
<scenes>
|
8
|
-
<!--
|
8
|
+
<!--View Controller-->
|
9
9
|
<scene sceneID="s0d-6b-0kx">
|
10
10
|
<objects>
|
11
|
-
<viewController id="Y6W-OH-hqX" customClass="
|
11
|
+
<viewController id="Y6W-OH-hqX" customClass="ViewController" customModuleProvider="target" sceneMemberID="viewController"/>
|
12
12
|
<placeholder placeholderIdentifier="IBFirstResponder" id="Ief-a0-LHa" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
13
13
|
</objects>
|
14
14
|
<point key="canvasLocation" x="130" y="-2"/>
|
@@ -9,7 +9,7 @@ class TurboNavigationController : UINavigationController {
|
|
9
9
|
|
10
10
|
func push(url: URL) {
|
11
11
|
let properties = session.pathConfiguration?.properties(for: url) ?? [:]
|
12
|
-
route(url: url, options:
|
12
|
+
route(url: url, options: .init(action: .advance), properties: properties)
|
13
13
|
}
|
14
14
|
|
15
15
|
func route(url: URL, options: VisitOptions, properties: PathProperties) {
|
@@ -123,9 +123,9 @@ extension TurboNavigationController {
|
|
123
123
|
} else if isReplaceAll(properties) {
|
124
124
|
setViewControllers([viewController], animated: false)
|
125
125
|
} else if isReplace(properties) {
|
126
|
-
setViewControllers(
|
126
|
+
setViewControllers(viewControllers.dropLast() + [viewController], animated: false)
|
127
127
|
} else if action == .replace {
|
128
|
-
setViewControllers(
|
128
|
+
setViewControllers(viewControllers.dropLast() + [viewController], animated: false)
|
129
129
|
} else {
|
130
130
|
pushViewController(viewController, animated: true)
|
131
131
|
}
|
@@ -22,18 +22,24 @@ final class SceneDelegate: UIResponder {
|
|
22
22
|
// MARK: - Setup
|
23
23
|
|
24
24
|
private func configureRootViewController() {
|
25
|
-
|
26
|
-
tabBarController.tabBar.scrollEdgeAppearance = .init()
|
25
|
+
UINavigationBar.appearance().scrollEdgeAppearance = .init()
|
27
26
|
|
28
|
-
navigationController1 =
|
29
|
-
navigationController1.
|
27
|
+
navigationController1 = TurboNavigationController()
|
28
|
+
navigationController1.tabBarItem = .init(title: nil, image: .init(systemName: "house"), tag: 0)
|
30
29
|
navigationController1.session = session1
|
31
30
|
navigationController1.modalSession = modalSession
|
32
31
|
|
33
|
-
navigationController2 =
|
34
|
-
navigationController2.
|
32
|
+
navigationController2 = TurboNavigationController()
|
33
|
+
navigationController2.tabBarItem = .init(title: nil, image: .init(systemName: "house"), tag: 1)
|
35
34
|
navigationController2.session = session2
|
36
35
|
navigationController2.modalSession = modalSession
|
36
|
+
|
37
|
+
UITabBar.appearance().scrollEdgeAppearance = .init()
|
38
|
+
|
39
|
+
tabBarController = UITabBarController()
|
40
|
+
tabBarController.viewControllers = [navigationController1, navigationController2]
|
41
|
+
|
42
|
+
window!.rootViewController = tabBarController
|
37
43
|
}
|
38
44
|
|
39
45
|
// MARK: - Sessions
|
@@ -113,8 +119,8 @@ extension SceneDelegate: SessionDelegate {
|
|
113
119
|
extension SceneDelegate: WKUIDelegate {
|
114
120
|
func webView(_ webView: WKWebView, runJavaScriptConfirmPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping (Bool) -> Void) {
|
115
121
|
let confirm = UIAlertController(title: nil, message: message, preferredStyle: .alert)
|
116
|
-
confirm.addAction(
|
117
|
-
confirm.addAction(
|
122
|
+
confirm.addAction(.init(title: "Cancel", style: .cancel) { _ in completionHandler(false) })
|
123
|
+
confirm.addAction(.init(title: "OK", style: .default) { _ in completionHandler(true) })
|
118
124
|
navigationController().present(confirm, animated: true)
|
119
125
|
}
|
120
126
|
}
|
@@ -1,52 +1,17 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="Y6W-OH-hqX">
|
3
3
|
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
4
4
|
<dependencies>
|
5
5
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
|
6
|
-
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
7
6
|
</dependencies>
|
8
7
|
<scenes>
|
9
|
-
<!--
|
10
|
-
<scene sceneID="
|
8
|
+
<!--View Controller-->
|
9
|
+
<scene sceneID="s0d-6b-0kx">
|
11
10
|
<objects>
|
12
|
-
<viewController id="
|
13
|
-
|
14
|
-
</viewController>
|
15
|
-
<placeholder placeholderIdentifier="IBFirstResponder" id="ife-PY-okT" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
11
|
+
<viewController id="Y6W-OH-hqX" customClass="ViewController" customModuleProvider="target" sceneMemberID="viewController"/>
|
12
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="Ief-a0-LHa" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
16
13
|
</objects>
|
17
|
-
<point key="canvasLocation" x="
|
18
|
-
</scene>
|
19
|
-
<!--Turbo Navigation Controller-->
|
20
|
-
<scene sceneID="pAD-IL-Hdw">
|
21
|
-
<objects>
|
22
|
-
<viewController id="0en-nE-vJA" customClass="TurboNavigationController" customModuleProvider="target" sceneMemberID="viewController">
|
23
|
-
<tabBarItem key="tabBarItem" title="" image="house" catalog="system" id="ZWo-HO-m4a"/>
|
24
|
-
</viewController>
|
25
|
-
<placeholder placeholderIdentifier="IBFirstResponder" id="GRr-XE-fAM" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
26
|
-
</objects>
|
27
|
-
<point key="canvasLocation" x="1270" y="-1254"/>
|
28
|
-
</scene>
|
29
|
-
<!--Tab Bar Controller-->
|
30
|
-
<scene sceneID="So3-hc-mhH">
|
31
|
-
<objects>
|
32
|
-
<tabBarController id="33v-ad-2dz" sceneMemberID="viewController">
|
33
|
-
<tabBar key="tabBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="fR1-GM-qEi">
|
34
|
-
<rect key="frame" x="0.0" y="0.0" width="393" height="49"/>
|
35
|
-
<autoresizingMask key="autoresizingMask"/>
|
36
|
-
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
37
|
-
</tabBar>
|
38
|
-
<connections>
|
39
|
-
<segue destination="0en-nE-vJA" kind="relationship" relationship="viewControllers" id="z0u-hS-Voh"/>
|
40
|
-
<segue destination="cXb-wA-NUs" kind="relationship" relationship="viewControllers" id="eJZ-00-JTF"/>
|
41
|
-
</connections>
|
42
|
-
</tabBarController>
|
43
|
-
<placeholder placeholderIdentifier="IBFirstResponder" id="KRh-ez-iFz" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
44
|
-
</objects>
|
45
|
-
<point key="canvasLocation" x="364" y="-951"/>
|
14
|
+
<point key="canvasLocation" x="130" y="-2"/>
|
46
15
|
</scene>
|
47
16
|
</scenes>
|
48
|
-
<resources>
|
49
|
-
<image name="gear" catalog="system" width="128" height="122"/>
|
50
|
-
<image name="house" catalog="system" width="128" height="104"/>
|
51
|
-
</resources>
|
52
17
|
</document>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: turbo-native-initializer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nixon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|