@rownd/react-native 2.10.1 → 2.11.2
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.
- package/android/.gradle/7.4/checksums/checksums.lock +0 -0
- package/android/.gradle/7.4/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/7.4/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/reactnativerowndplugin/RowndPluginModule.kt +17 -0
- package/ios/RowndPlugin.m +3 -0
- package/ios/RowndPlugin.swift +23 -3
- package/lib/commonjs/components/RequireSignIn.js +43 -0
- package/lib/commonjs/components/RequireSignIn.js.map +1 -0
- package/lib/commonjs/components/SignedIn.js +31 -0
- package/lib/commonjs/components/SignedIn.js.map +1 -0
- package/lib/commonjs/components/SignedOut.js +31 -0
- package/lib/commonjs/components/SignedOut.js.map +1 -0
- package/lib/commonjs/hooks/rownd.js +10 -7
- package/lib/commonjs/hooks/rownd.js.map +1 -1
- package/lib/commonjs/index.js +26 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/nativeModule.js +5 -0
- package/lib/commonjs/utils/nativeModule.js.map +1 -1
- package/lib/module/components/RequireSignIn.js +30 -0
- package/lib/module/components/RequireSignIn.js.map +1 -0
- package/lib/module/components/SignedIn.js +20 -0
- package/lib/module/components/SignedIn.js.map +1 -0
- package/lib/module/components/SignedOut.js +20 -0
- package/lib/module/components/SignedOut.js.map +1 -0
- package/lib/module/hooks/rownd.js +11 -8
- package/lib/module/hooks/rownd.js.map +1 -1
- package/lib/module/index.js +4 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/nativeModule.js +3 -0
- package/lib/module/utils/nativeModule.js.map +1 -1
- package/lib/typescript/components/RequireSignIn.d.ts +9 -0
- package/lib/typescript/components/SignedIn.d.ts +6 -0
- package/lib/typescript/components/SignedOut.d.ts +6 -0
- package/lib/typescript/hooks/rownd.d.ts +9 -6
- package/lib/typescript/index.d.ts +4 -1
- package/lib/typescript/utils/nativeModule.d.ts +1 -0
- package/package.json +1 -1
- package/rownd-react-native.podspec +1 -1
- package/src/components/RequireSignIn.tsx +34 -0
- package/src/components/SignedIn.tsx +17 -0
- package/src/components/SignedOut.tsx +17 -0
- package/src/hooks/rownd.ts +20 -13
- package/src/index.tsx +4 -1
- package/src/utils/nativeModule.ts +4 -0
- package/android/.gradle/7.4/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/7.4/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/7.4/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/file-system.probe +0 -0
- package/android/.idea/compiler.xml +0 -6
- package/android/.idea/gradle.xml +0 -18
- package/android/.idea/jarRepositories.xml +0 -30
- package/android/.idea/misc.xml +0 -10
- package/android/.idea/vcs.xml +0 -6
- package/android/local.properties +0 -8
- package/ios/Rownd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Mon Sep 11 09:35:22 EDT 2023
|
|
2
2
|
gradle.version=7.4
|
|
Binary file
|
package/android/build.gradle
CHANGED
|
@@ -136,7 +136,7 @@ dependencies {
|
|
|
136
136
|
//noinspection GradleDynamicVersion
|
|
137
137
|
implementation "com.facebook.react:react-native:+"
|
|
138
138
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
139
|
-
implementation 'io.rownd:android:2.6.
|
|
139
|
+
implementation 'io.rownd:android:2.6.1'
|
|
140
140
|
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2"
|
|
141
141
|
implementation 'androidx.compose.ui:ui-unit:1.3.0'
|
|
142
142
|
implementation 'androidx.compose.ui:ui-graphics:1.3.0'
|
|
@@ -3,6 +3,7 @@ package com.reactnativerowndplugin
|
|
|
3
3
|
import android.content.res.Configuration
|
|
4
4
|
import android.os.Handler
|
|
5
5
|
import android.os.Looper
|
|
6
|
+
import android.util.Log
|
|
6
7
|
import androidx.compose.ui.graphics.Color
|
|
7
8
|
import androidx.compose.ui.unit.Dp
|
|
8
9
|
import androidx.compose.ui.unit.dp
|
|
@@ -13,8 +14,11 @@ import io.rownd.android.*
|
|
|
13
14
|
import io.rownd.android.Rownd
|
|
14
15
|
import io.rownd.android.RowndSignInHint
|
|
15
16
|
import io.rownd.android.RowndSignInOptions
|
|
17
|
+
import io.rownd.android.models.ConnectionActionPayload
|
|
18
|
+
import io.rownd.android.models.FirebaseGetIdTokenResponse
|
|
16
19
|
import io.rownd.android.models.RowndCustomizations
|
|
17
20
|
import io.rownd.android.models.repos.GlobalState
|
|
21
|
+
import io.rownd.android.util.RowndException
|
|
18
22
|
import kotlinx.coroutines.*
|
|
19
23
|
import kotlinx.serialization.SerialName
|
|
20
24
|
import kotlinx.serialization.json.Json
|
|
@@ -47,6 +51,7 @@ class AppCustomizations(app: FragmentActivity) : RowndCustomizations() {
|
|
|
47
51
|
class RowndPluginModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
|
|
48
52
|
private var uiThreadHandler = Handler(Looper.getMainLooper())
|
|
49
53
|
private var coroutineScope: Job? = null
|
|
54
|
+
private var coroutineScope2: Job? = null
|
|
50
55
|
private var isRowndJSInitialized = false
|
|
51
56
|
|
|
52
57
|
override fun getName(): String {
|
|
@@ -203,4 +208,16 @@ class RowndPluginModule(reactContext: ReactApplicationContext) : ReactContextBas
|
|
|
203
208
|
}
|
|
204
209
|
}
|
|
205
210
|
}
|
|
211
|
+
|
|
212
|
+
@ReactMethod
|
|
213
|
+
fun getFirebaseIdToken(promise: Promise) {
|
|
214
|
+
CoroutineScope(Dispatchers.IO).async {
|
|
215
|
+
try {
|
|
216
|
+
val token: String? = Rownd.Firebase().getIdToken().await()
|
|
217
|
+
promise.resolve(token ?: "")
|
|
218
|
+
} catch (e: Throwable) {
|
|
219
|
+
promise.reject("ROWND PLUGIN MODULE ERROR: ${e.message}")
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
206
223
|
}
|
package/ios/RowndPlugin.m
CHANGED
|
@@ -22,6 +22,9 @@ RCT_EXTERN_METHOD(getAccessToken:(NSString *)token
|
|
|
22
22
|
withResolver:(RCTPromiseResolveBlock)resolve
|
|
23
23
|
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
24
24
|
|
|
25
|
+
RCT_EXTERN_METHOD(getFirebaseIdToken:(RCTPromiseResolveBlock)resolve
|
|
26
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
27
|
+
|
|
25
28
|
RCT_EXTERN_METHOD(handleSignInLink:(NSString *)url)
|
|
26
29
|
|
|
27
30
|
+ (BOOL)requiresMainQueueSetup
|
package/ios/RowndPlugin.swift
CHANGED
|
@@ -25,6 +25,15 @@ class RowndPlugin: NSObject {
|
|
|
25
25
|
|
|
26
26
|
@objc(configure:withResolver:withRejecter:)
|
|
27
27
|
func configure(config: NSDictionary, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void {
|
|
28
|
+
|
|
29
|
+
if let apiUrl = config.value(forKey: "apiUrl") as? String {
|
|
30
|
+
Rownd.config.apiUrl = apiUrl
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if let baseUrl = config.value(forKey: "baseUrl") as? String {
|
|
34
|
+
Rownd.config.baseUrl = baseUrl
|
|
35
|
+
}
|
|
36
|
+
|
|
28
37
|
if let appKey = config.value(forKey: "appKey") as? String {
|
|
29
38
|
Task {
|
|
30
39
|
await Rownd.configure(launchOptions: nil, appKey: appKey);
|
|
@@ -51,7 +60,7 @@ class RowndPlugin: NSObject {
|
|
|
51
60
|
let json = loadingAnimation.data(using: .utf8)!
|
|
52
61
|
do {
|
|
53
62
|
let decoder = JSONDecoder()
|
|
54
|
-
let animation = try decoder.decode(Animation.self, from: json)
|
|
63
|
+
let animation = try decoder.decode(Lottie.Animation.self, from: json)
|
|
55
64
|
appCustomizations.loadingAnimation = animation
|
|
56
65
|
} catch {
|
|
57
66
|
print("Failed to encode Loading Animation: \(error)")
|
|
@@ -136,8 +145,19 @@ class RowndPlugin: NSObject {
|
|
|
136
145
|
}
|
|
137
146
|
resolve(accessToken ?? "")
|
|
138
147
|
} catch {
|
|
139
|
-
|
|
140
|
-
|
|
148
|
+
reject("Error","\(error)",error)
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
@objc(getFirebaseIdToken:withRejecter:)
|
|
154
|
+
func getFirebaseIdToken(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
155
|
+
Task {
|
|
156
|
+
do {
|
|
157
|
+
let idToken = try await Rownd.firebase.getIdToken()
|
|
158
|
+
resolve(idToken)
|
|
159
|
+
} catch {
|
|
160
|
+
reject("Error","\(error)",error)
|
|
141
161
|
}
|
|
142
162
|
}
|
|
143
163
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _ = require("..");
|
|
11
|
+
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
|
|
14
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
+
|
|
16
|
+
const RequireSignIn = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
children,
|
|
19
|
+
initializing,
|
|
20
|
+
signInProps
|
|
21
|
+
} = _ref;
|
|
22
|
+
const {
|
|
23
|
+
is_authenticated,
|
|
24
|
+
is_initializing,
|
|
25
|
+
requestSignIn
|
|
26
|
+
} = (0, _.useRownd)();
|
|
27
|
+
(0, _react.useEffect)(() => {
|
|
28
|
+
if (!is_authenticated && !is_initializing) {
|
|
29
|
+
requestSignIn({ ...signInProps
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}, [is_authenticated, is_initializing, requestSignIn]);
|
|
33
|
+
|
|
34
|
+
if (is_initializing && initializing) {
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, initializing);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
var _default = RequireSignIn;
|
|
42
|
+
exports.default = _default;
|
|
43
|
+
//# sourceMappingURL=RequireSignIn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RequireSignIn","children","initializing","signInProps","is_authenticated","is_initializing","requestSignIn","useRownd","useEffect"],"sources":["RequireSignIn.tsx"],"sourcesContent":["import React, {\n FunctionComponent,\n useEffect,\n} from 'react';\nimport { useRownd } from '..';\nimport type { RequestSignIn } from 'src/hooks/rownd';\n\nexport type ContextProps = {\n children?: React.ReactNode;\n initializing?: React.ReactNode;\n signInProps?: RequestSignIn;\n};\n\nconst RequireSignIn: FunctionComponent<ContextProps> = ({\n children,\n initializing,\n signInProps,\n}) => {\n const { is_authenticated, is_initializing, requestSignIn } = useRownd();\n\n useEffect(() => {\n if (!is_authenticated && !is_initializing) {\n requestSignIn({ ...signInProps });\n }\n }, [is_authenticated, is_initializing, requestSignIn]);\n\n if (is_initializing && initializing) {\n return <>{initializing}</>;\n }\n\n return <>{children}</>;\n};\n\nexport default RequireSignIn;\n"],"mappings":";;;;;;;AAAA;;AAIA;;;;;;AASA,MAAMA,aAA8C,GAAG,QAIjD;EAAA,IAJkD;IACtDC,QADsD;IAEtDC,YAFsD;IAGtDC;EAHsD,CAIlD;EACJ,MAAM;IAAEC,gBAAF;IAAoBC,eAApB;IAAqCC;EAArC,IAAuD,IAAAC,UAAA,GAA7D;EAEA,IAAAC,gBAAA,EAAU,MAAM;IACd,IAAI,CAACJ,gBAAD,IAAqB,CAACC,eAA1B,EAA2C;MACzCC,aAAa,CAAC,EAAE,GAAGH;MAAL,CAAD,CAAb;IACD;EACF,CAJD,EAIG,CAACC,gBAAD,EAAmBC,eAAnB,EAAoCC,aAApC,CAJH;;EAMA,IAAID,eAAe,IAAIH,YAAvB,EAAqC;IACnC,oBAAO,4DAAGA,YAAH,CAAP;EACD;;EAED,oBAAO,4DAAGD,QAAH,CAAP;AACD,CAlBD;;eAoBeD,a"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _rownd = require("../hooks/rownd");
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
const SignedIn = _ref => {
|
|
15
|
+
let {
|
|
16
|
+
children
|
|
17
|
+
} = _ref;
|
|
18
|
+
const {
|
|
19
|
+
is_authenticated
|
|
20
|
+
} = (0, _rownd.useRownd)();
|
|
21
|
+
|
|
22
|
+
if (!is_authenticated) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var _default = SignedIn;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
//# sourceMappingURL=SignedIn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SignedIn","children","is_authenticated","useRownd"],"sources":["SignedIn.tsx"],"sourcesContent":["import React from 'react';\nimport { useRownd } from '../hooks/rownd';\n\ninterface SignedInProps {\n children: React.ReactNode;\n}\n\nconst SignedIn: React.FC<SignedInProps> = ({ children }) => {\n const { is_authenticated } = useRownd();\n\n if (!is_authenticated) {\n return null;\n }\n return <>{children}</>;\n};\n\nexport default SignedIn;"],"mappings":";;;;;;;AAAA;;AACA;;;;AAMA,MAAMA,QAAiC,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EAC1D,MAAM;IAAEC;EAAF,IAAuB,IAAAC,eAAA,GAA7B;;EAEA,IAAI,CAACD,gBAAL,EAAuB;IACrB,OAAO,IAAP;EACD;;EACD,oBAAO,4DAAGD,QAAH,CAAP;AACD,CAPD;;eASeD,Q"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _rownd = require("../hooks/rownd");
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
const SignedOut = _ref => {
|
|
15
|
+
let {
|
|
16
|
+
children
|
|
17
|
+
} = _ref;
|
|
18
|
+
const {
|
|
19
|
+
is_authenticated
|
|
20
|
+
} = (0, _rownd.useRownd)();
|
|
21
|
+
|
|
22
|
+
if (is_authenticated) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var _default = SignedOut;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
//# sourceMappingURL=SignedOut.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SignedOut","children","is_authenticated","useRownd"],"sources":["SignedOut.tsx"],"sourcesContent":["import React from 'react'\nimport { useRownd } from '../hooks/rownd';\n\ninterface SignedOutProps {\n children: React.ReactNode;\n}\n\nconst SignedOut: React.FC<SignedOutProps> = ({ children }) => {\n const { is_authenticated } = useRownd();\n\n if (is_authenticated) {\n return null;\n }\n return <>{children}</>;\n};\n\nexport default SignedOut"],"mappings":";;;;;;;AAAA;;AACA;;;;AAMA,MAAMA,SAAmC,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EAC5D,MAAM;IAAEC;EAAF,IAAuB,IAAAC,eAAA,GAA7B;;EAEA,IAAID,gBAAJ,EAAsB;IACpB,OAAO,IAAP;EACD;;EACD,oBAAO,4DAAGD,QAAH,CAAP;AACD,CAPD;;eASeD,S"}
|
|
@@ -14,19 +14,22 @@ function useRownd() {
|
|
|
14
14
|
state
|
|
15
15
|
} = (0, _GlobalContext.useRowndContext)();
|
|
16
16
|
return {
|
|
17
|
+
access_token: state.auth.access_token,
|
|
18
|
+
auth: state.auth,
|
|
19
|
+
getAccessToken: _nativeModule.getAccessToken,
|
|
20
|
+
firebase: {
|
|
21
|
+
getIdToken: _nativeModule.getFirebaseIdToken
|
|
22
|
+
},
|
|
23
|
+
is_authenticated: !!state.auth.access_token,
|
|
24
|
+
is_initializing: !!state.auth.app_id,
|
|
25
|
+
manageAccount: _nativeModule.manageAccount,
|
|
17
26
|
requestSignIn: _nativeModule.requestSignIn,
|
|
18
27
|
signOut: _nativeModule.signOut,
|
|
19
|
-
manageAccount: _nativeModule.manageAccount,
|
|
20
|
-
getAccessToken: _nativeModule.getAccessToken,
|
|
21
28
|
user: {
|
|
22
29
|
data: state.user.data,
|
|
23
30
|
setValue: _nativeModule.setUserDataValue,
|
|
24
31
|
set: _nativeModule.setUserData
|
|
25
|
-
}
|
|
26
|
-
is_authenticated: !!state.auth.access_token,
|
|
27
|
-
is_initializing: !!state.auth.app_id,
|
|
28
|
-
auth: state.auth,
|
|
29
|
-
access_token: state.auth.access_token
|
|
32
|
+
}
|
|
30
33
|
};
|
|
31
34
|
}
|
|
32
35
|
//# sourceMappingURL=rownd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRownd","state","useRowndContext","
|
|
1
|
+
{"version":3,"names":["useRownd","state","useRowndContext","access_token","auth","getAccessToken","firebase","getIdToken","getFirebaseIdToken","is_authenticated","is_initializing","app_id","manageAccount","requestSignIn","signOut","user","data","setValue","setUserDataValue","set","setUserData"],"sources":["rownd.ts"],"sourcesContent":["import {\n requestSignIn,\n signOut,\n manageAccount,\n getAccessToken,\n getFirebaseIdToken,\n setUserDataValue,\n setUserData,\n} from '../utils/nativeModule';\nimport { useRowndContext } from '../components/GlobalContext';\n\nexport type TRowndContext = {\n access_token: string | null;\n auth: AuthContext;\n is_authenticated: boolean;\n is_initializing: boolean;\n firebase: {\n getIdToken: () => Promise<string>;\n }\n getAccessToken: (token?: string) => Promise<string>;\n manageAccount: () => void;\n requestSignIn: (e?: RequestSignIn) => void;\n signOut: () => void;\n user: UserContext;\n};\n\ntype UserContext = {\n data: {\n id?: string;\n email?: string | null;\n phone?: string | null;\n [key: string]: any;\n };\n set: (data: Record<string, any>) => void;\n setValue: (key: string, value: any) => void;\n};\n\ntype AuthContext = {\n access_token: string | null;\n app_id: string | null;\n is_verified_user?: boolean;\n};\n\nexport type RequestSignInMethods = 'google' | 'apple' | 'default' | 'guest' | 'passkey';\nexport type RequestSignInIntent = 'sign_in' | 'sign_up';\nexport type RequestSignIn = {method?: RequestSignInMethods, postSignInRedirect?: string, intent?: RequestSignInIntent}\n\nexport function useRownd(): TRowndContext {\n const { state } = useRowndContext();\n\n return {\n access_token: state.auth.access_token,\n auth: state.auth,\n getAccessToken,\n firebase: {\n getIdToken: getFirebaseIdToken,\n },\n is_authenticated: !!state.auth.access_token,\n is_initializing: !!state.auth.app_id,\n manageAccount,\n requestSignIn,\n signOut,\n user: {\n data: state.user.data,\n setValue: setUserDataValue,\n set: setUserData,\n }, \n };\n}\n"],"mappings":";;;;;;;AAAA;;AASA;;AAsCO,SAASA,QAAT,GAAmC;EACxC,MAAM;IAAEC;EAAF,IAAY,IAAAC,8BAAA,GAAlB;EAEA,OAAO;IACLC,YAAY,EAAEF,KAAK,CAACG,IAAN,CAAWD,YADpB;IAELC,IAAI,EAAEH,KAAK,CAACG,IAFP;IAGLC,cAAc,EAAdA,4BAHK;IAILC,QAAQ,EAAE;MACRC,UAAU,EAAEC;IADJ,CAJL;IAOLC,gBAAgB,EAAE,CAAC,CAACR,KAAK,CAACG,IAAN,CAAWD,YAP1B;IAQLO,eAAe,EAAE,CAAC,CAACT,KAAK,CAACG,IAAN,CAAWO,MARzB;IASLC,aAAa,EAAbA,2BATK;IAULC,aAAa,EAAbA,2BAVK;IAWLC,OAAO,EAAPA,qBAXK;IAYLC,IAAI,EAAE;MACJC,IAAI,EAAEf,KAAK,CAACc,IAAN,CAAWC,IADb;MAEJC,QAAQ,EAAEC,8BAFN;MAGJC,GAAG,EAAEC;IAHD;EAZD,CAAP;AAkBD"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,12 +3,30 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "RequireSignIn", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _RequireSignIn.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "RowndProvider", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function () {
|
|
9
15
|
return _GlobalContext.RowndProvider;
|
|
10
16
|
}
|
|
11
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "SignedIn", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _SignedIn.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "SignedOut", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _SignedOut.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
12
30
|
Object.defineProperty(exports, "useRownd", {
|
|
13
31
|
enumerable: true,
|
|
14
32
|
get: function () {
|
|
@@ -19,4 +37,12 @@ Object.defineProperty(exports, "useRownd", {
|
|
|
19
37
|
var _GlobalContext = require("./components/GlobalContext");
|
|
20
38
|
|
|
21
39
|
var _rownd = require("./hooks/rownd");
|
|
40
|
+
|
|
41
|
+
var _RequireSignIn = _interopRequireDefault(require("./components/RequireSignIn"));
|
|
42
|
+
|
|
43
|
+
var _SignedIn = _interopRequireDefault(require("./components/SignedIn"));
|
|
44
|
+
|
|
45
|
+
var _SignedOut = _interopRequireDefault(require("./components/SignedOut"));
|
|
46
|
+
|
|
47
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["import { RowndProvider } from './components/GlobalContext';\nimport { useRownd } from './hooks/rownd';\n\nexport { RowndProvider, useRownd };\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["import { RowndProvider } from './components/GlobalContext';\nimport { useRownd } from './hooks/rownd';\nimport RequireSignIn from './components/RequireSignIn';\nimport SignedIn from './components/SignedIn';\nimport SignedOut from './components/SignedOut';\n\nexport { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA"}
|
|
@@ -7,6 +7,7 @@ exports.Rownd = exports.LINKING_ERROR = exports.IOSRowndEventEmitter = void 0;
|
|
|
7
7
|
exports.configure = configure;
|
|
8
8
|
exports.customizations = customizations;
|
|
9
9
|
exports.getAccessToken = getAccessToken;
|
|
10
|
+
exports.getFirebaseIdToken = getFirebaseIdToken;
|
|
10
11
|
exports.handleSignInLink = handleSignInLink;
|
|
11
12
|
exports.manageAccount = manageAccount;
|
|
12
13
|
exports.requestSignIn = requestSignIn;
|
|
@@ -70,6 +71,10 @@ function getAccessToken(token) {
|
|
|
70
71
|
return Rownd.getAccessToken(token || null);
|
|
71
72
|
}
|
|
72
73
|
|
|
74
|
+
function getFirebaseIdToken() {
|
|
75
|
+
return Rownd.getFirebaseIdToken();
|
|
76
|
+
}
|
|
77
|
+
|
|
73
78
|
function setUserDataValue(key, value) {
|
|
74
79
|
return Rownd.setUserDataValue(key, _reactNative.Platform.OS === 'android' ? {
|
|
75
80
|
value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","Rownd","NativeModules","RowndPlugin","Proxy","get","Error","IOSRowndEventEmitter","OS","RowndPluginEventEmitter","configure","config","customizations","customizationConfig","requestSignIn","method","postSignInRedirect","intent","signOut","manageAccount","getAccessToken","token","setUserDataValue","key","value","setUserData","data","handleSignInLink","url"],"sources":["nativeModule.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport type { RequestSignIn } from 'src/hooks/rownd';\nimport type { Customizations, IConfig } from './config';\n\nexport const LINKING_ERROR =\n `The package '@rownd/react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport const Rownd = NativeModules.RowndPlugin\n ? NativeModules.RowndPlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const IOSRowndEventEmitter =\n Platform.OS !== 'ios'\n ? null\n : NativeModules.RowndPluginEventEmitter\n ? NativeModules.RowndPluginEventEmitter\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport function configure(config: IConfig): Promise<string> {\n return Rownd.configure(config);\n}\n\nexport function customizations(customizationConfig: Customizations) {\n return Rownd.customizations(customizationConfig);\n}\n\nexport function requestSignIn(config?: RequestSignIn) {\n if (!config) {\n return Rownd.requestSignIn({ method: 'default' });\n }\n return Rownd.requestSignIn({\n method: config?.method,\n postSignInRedirect: config?.postSignInRedirect,\n intent: config?.intent\n });\n}\n\nexport function signOut() {\n return Rownd.signOut();\n}\n\nexport function manageAccount() {\n return Rownd.manageAccount();\n}\n\nexport function getAccessToken(token?: string): Promise<string> {\n return Rownd.getAccessToken(token || null);\n}\n\nexport function setUserDataValue(key: string, value: any) {\n return Rownd.setUserDataValue(\n key,\n Platform.OS === 'android' ? { value } : value\n );\n}\n\nexport function setUserData(data: Record<string, any>) {\n return Rownd.setUserData(data);\n}\n\nexport function handleSignInLink(url: string) {\n return Rownd.handleSignInLink(url);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","Rownd","NativeModules","RowndPlugin","Proxy","get","Error","IOSRowndEventEmitter","OS","RowndPluginEventEmitter","configure","config","customizations","customizationConfig","requestSignIn","method","postSignInRedirect","intent","signOut","manageAccount","getAccessToken","token","getFirebaseIdToken","setUserDataValue","key","value","setUserData","data","handleSignInLink","url"],"sources":["nativeModule.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport type { RequestSignIn } from 'src/hooks/rownd';\nimport type { Customizations, IConfig } from './config';\n\nexport const LINKING_ERROR =\n `The package '@rownd/react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport const Rownd = NativeModules.RowndPlugin\n ? NativeModules.RowndPlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const IOSRowndEventEmitter =\n Platform.OS !== 'ios'\n ? null\n : NativeModules.RowndPluginEventEmitter\n ? NativeModules.RowndPluginEventEmitter\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport function configure(config: IConfig): Promise<string> {\n return Rownd.configure(config);\n}\n\nexport function customizations(customizationConfig: Customizations) {\n return Rownd.customizations(customizationConfig);\n}\n\nexport function requestSignIn(config?: RequestSignIn) {\n if (!config) {\n return Rownd.requestSignIn({ method: 'default' });\n }\n return Rownd.requestSignIn({\n method: config?.method,\n postSignInRedirect: config?.postSignInRedirect,\n intent: config?.intent\n });\n}\n\nexport function signOut() {\n return Rownd.signOut();\n}\n\nexport function manageAccount() {\n return Rownd.manageAccount();\n}\n\nexport function getAccessToken(token?: string): Promise<string> {\n return Rownd.getAccessToken(token || null);\n}\n\nexport function getFirebaseIdToken(): Promise<string> {\n return Rownd.getFirebaseIdToken();\n}\n\nexport function setUserDataValue(key: string, value: any) {\n return Rownd.setUserDataValue(\n key,\n Platform.OS === 'android' ? { value } : value\n );\n}\n\nexport function setUserData(data: Record<string, any>) {\n return Rownd.setUserData(data);\n}\n\nexport function handleSignInLink(url: string) {\n return Rownd.handleSignInLink(url);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAIO,MAAMA,aAAa,GACvB,8EAAD,GACAC,qBAAA,CAASC,MAAT,CAAgB;EAAEC,GAAG,EAAE,gCAAP;EAAyCC,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJK;;AAMA,MAAMC,KAAK,GAAGC,0BAAA,CAAcC,WAAd,GACjBD,0BAAA,CAAcC,WADG,GAEjB,IAAIC,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUV,aAAV,CAAN;EACD;;AAHH,CAFF,CAFG;;AAWA,MAAMW,oBAAoB,GAC/BV,qBAAA,CAASW,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEIN,0BAAA,CAAcO,uBAAd,GACAP,0BAAA,CAAcO,uBADd,GAEA,IAAIL,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUV,aAAV,CAAN;EACD;;AAHH,CAFF,CALC;;;AAcA,SAASc,SAAT,CAAmBC,MAAnB,EAAqD;EAC1D,OAAOV,KAAK,CAACS,SAAN,CAAgBC,MAAhB,CAAP;AACD;;AAEM,SAASC,cAAT,CAAwBC,mBAAxB,EAA6D;EAClE,OAAOZ,KAAK,CAACW,cAAN,CAAqBC,mBAArB,CAAP;AACD;;AAEM,SAASC,aAAT,CAAuBH,MAAvB,EAA+C;EACpD,IAAI,CAACA,MAAL,EAAa;IACX,OAAOV,KAAK,CAACa,aAAN,CAAoB;MAAEC,MAAM,EAAE;IAAV,CAApB,CAAP;EACD;;EACD,OAAOd,KAAK,CAACa,aAAN,CAAoB;IACzBC,MAAM,EAAEJ,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEI,MADS;IAEzBC,kBAAkB,EAAEL,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEK,kBAFH;IAGzBC,MAAM,EAAEN,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEM;EAHS,CAApB,CAAP;AAKD;;AAEM,SAASC,OAAT,GAAmB;EACxB,OAAOjB,KAAK,CAACiB,OAAN,EAAP;AACD;;AAEM,SAASC,aAAT,GAAyB;EAC9B,OAAOlB,KAAK,CAACkB,aAAN,EAAP;AACD;;AAEM,SAASC,cAAT,CAAwBC,KAAxB,EAAyD;EAC9D,OAAOpB,KAAK,CAACmB,cAAN,CAAqBC,KAAK,IAAI,IAA9B,CAAP;AACD;;AAEM,SAASC,kBAAT,GAA+C;EACpD,OAAOrB,KAAK,CAACqB,kBAAN,EAAP;AACD;;AAEM,SAASC,gBAAT,CAA0BC,GAA1B,EAAuCC,KAAvC,EAAmD;EACxD,OAAOxB,KAAK,CAACsB,gBAAN,CACLC,GADK,EAEL3B,qBAAA,CAASW,EAAT,KAAgB,SAAhB,GAA4B;IAAEiB;EAAF,CAA5B,GAAwCA,KAFnC,CAAP;AAID;;AAEM,SAASC,WAAT,CAAqBC,IAArB,EAAgD;EACrD,OAAO1B,KAAK,CAACyB,WAAN,CAAkBC,IAAlB,CAAP;AACD;;AAEM,SAASC,gBAAT,CAA0BC,GAA1B,EAAuC;EAC5C,OAAO5B,KAAK,CAAC2B,gBAAN,CAAuBC,GAAvB,CAAP;AACD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
|
+
import { useRownd } from '..';
|
|
3
|
+
|
|
4
|
+
const RequireSignIn = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
children,
|
|
7
|
+
initializing,
|
|
8
|
+
signInProps
|
|
9
|
+
} = _ref;
|
|
10
|
+
const {
|
|
11
|
+
is_authenticated,
|
|
12
|
+
is_initializing,
|
|
13
|
+
requestSignIn
|
|
14
|
+
} = useRownd();
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (!is_authenticated && !is_initializing) {
|
|
17
|
+
requestSignIn({ ...signInProps
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}, [is_authenticated, is_initializing, requestSignIn]);
|
|
21
|
+
|
|
22
|
+
if (is_initializing && initializing) {
|
|
23
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, initializing);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default RequireSignIn;
|
|
30
|
+
//# sourceMappingURL=RequireSignIn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRownd","RequireSignIn","children","initializing","signInProps","is_authenticated","is_initializing","requestSignIn"],"sources":["RequireSignIn.tsx"],"sourcesContent":["import React, {\n FunctionComponent,\n useEffect,\n} from 'react';\nimport { useRownd } from '..';\nimport type { RequestSignIn } from 'src/hooks/rownd';\n\nexport type ContextProps = {\n children?: React.ReactNode;\n initializing?: React.ReactNode;\n signInProps?: RequestSignIn;\n};\n\nconst RequireSignIn: FunctionComponent<ContextProps> = ({\n children,\n initializing,\n signInProps,\n}) => {\n const { is_authenticated, is_initializing, requestSignIn } = useRownd();\n\n useEffect(() => {\n if (!is_authenticated && !is_initializing) {\n requestSignIn({ ...signInProps });\n }\n }, [is_authenticated, is_initializing, requestSignIn]);\n\n if (is_initializing && initializing) {\n return <>{initializing}</>;\n }\n\n return <>{children}</>;\n};\n\nexport default RequireSignIn;\n"],"mappings":"AAAA,OAAOA,KAAP,IAEEC,SAFF,QAGO,OAHP;AAIA,SAASC,QAAT,QAAyB,IAAzB;;AASA,MAAMC,aAA8C,GAAG,QAIjD;EAAA,IAJkD;IACtDC,QADsD;IAEtDC,YAFsD;IAGtDC;EAHsD,CAIlD;EACJ,MAAM;IAAEC,gBAAF;IAAoBC,eAApB;IAAqCC;EAArC,IAAuDP,QAAQ,EAArE;EAEAD,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,gBAAD,IAAqB,CAACC,eAA1B,EAA2C;MACzCC,aAAa,CAAC,EAAE,GAAGH;MAAL,CAAD,CAAb;IACD;EACF,CAJQ,EAIN,CAACC,gBAAD,EAAmBC,eAAnB,EAAoCC,aAApC,CAJM,CAAT;;EAMA,IAAID,eAAe,IAAIH,YAAvB,EAAqC;IACnC,oBAAO,0CAAGA,YAAH,CAAP;EACD;;EAED,oBAAO,0CAAGD,QAAH,CAAP;AACD,CAlBD;;AAoBA,eAAeD,aAAf"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useRownd } from '../hooks/rownd';
|
|
3
|
+
|
|
4
|
+
const SignedIn = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
children
|
|
7
|
+
} = _ref;
|
|
8
|
+
const {
|
|
9
|
+
is_authenticated
|
|
10
|
+
} = useRownd();
|
|
11
|
+
|
|
12
|
+
if (!is_authenticated) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default SignedIn;
|
|
20
|
+
//# sourceMappingURL=SignedIn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useRownd","SignedIn","children","is_authenticated"],"sources":["SignedIn.tsx"],"sourcesContent":["import React from 'react';\nimport { useRownd } from '../hooks/rownd';\n\ninterface SignedInProps {\n children: React.ReactNode;\n}\n\nconst SignedIn: React.FC<SignedInProps> = ({ children }) => {\n const { is_authenticated } = useRownd();\n\n if (!is_authenticated) {\n return null;\n }\n return <>{children}</>;\n};\n\nexport default SignedIn;"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,gBAAzB;;AAMA,MAAMC,QAAiC,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EAC1D,MAAM;IAAEC;EAAF,IAAuBH,QAAQ,EAArC;;EAEA,IAAI,CAACG,gBAAL,EAAuB;IACrB,OAAO,IAAP;EACD;;EACD,oBAAO,0CAAGD,QAAH,CAAP;AACD,CAPD;;AASA,eAAeD,QAAf"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useRownd } from '../hooks/rownd';
|
|
3
|
+
|
|
4
|
+
const SignedOut = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
children
|
|
7
|
+
} = _ref;
|
|
8
|
+
const {
|
|
9
|
+
is_authenticated
|
|
10
|
+
} = useRownd();
|
|
11
|
+
|
|
12
|
+
if (is_authenticated) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default SignedOut;
|
|
20
|
+
//# sourceMappingURL=SignedOut.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useRownd","SignedOut","children","is_authenticated"],"sources":["SignedOut.tsx"],"sourcesContent":["import React from 'react'\nimport { useRownd } from '../hooks/rownd';\n\ninterface SignedOutProps {\n children: React.ReactNode;\n}\n\nconst SignedOut: React.FC<SignedOutProps> = ({ children }) => {\n const { is_authenticated } = useRownd();\n\n if (is_authenticated) {\n return null;\n }\n return <>{children}</>;\n};\n\nexport default SignedOut"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,gBAAzB;;AAMA,MAAMC,SAAmC,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EAC5D,MAAM;IAAEC;EAAF,IAAuBH,QAAQ,EAArC;;EAEA,IAAIG,gBAAJ,EAAsB;IACpB,OAAO,IAAP;EACD;;EACD,oBAAO,0CAAGD,QAAH,CAAP;AACD,CAPD;;AASA,eAAeD,SAAf"}
|
|
@@ -1,23 +1,26 @@
|
|
|
1
|
-
import { requestSignIn, signOut, manageAccount, getAccessToken, setUserDataValue, setUserData } from '../utils/nativeModule';
|
|
1
|
+
import { requestSignIn, signOut, manageAccount, getAccessToken, getFirebaseIdToken, setUserDataValue, setUserData } from '../utils/nativeModule';
|
|
2
2
|
import { useRowndContext } from '../components/GlobalContext';
|
|
3
3
|
export function useRownd() {
|
|
4
4
|
const {
|
|
5
5
|
state
|
|
6
6
|
} = useRowndContext();
|
|
7
7
|
return {
|
|
8
|
+
access_token: state.auth.access_token,
|
|
9
|
+
auth: state.auth,
|
|
10
|
+
getAccessToken,
|
|
11
|
+
firebase: {
|
|
12
|
+
getIdToken: getFirebaseIdToken
|
|
13
|
+
},
|
|
14
|
+
is_authenticated: !!state.auth.access_token,
|
|
15
|
+
is_initializing: !!state.auth.app_id,
|
|
16
|
+
manageAccount,
|
|
8
17
|
requestSignIn,
|
|
9
18
|
signOut,
|
|
10
|
-
manageAccount,
|
|
11
|
-
getAccessToken,
|
|
12
19
|
user: {
|
|
13
20
|
data: state.user.data,
|
|
14
21
|
setValue: setUserDataValue,
|
|
15
22
|
set: setUserData
|
|
16
|
-
}
|
|
17
|
-
is_authenticated: !!state.auth.access_token,
|
|
18
|
-
is_initializing: !!state.auth.app_id,
|
|
19
|
-
auth: state.auth,
|
|
20
|
-
access_token: state.auth.access_token
|
|
23
|
+
}
|
|
21
24
|
};
|
|
22
25
|
}
|
|
23
26
|
//# sourceMappingURL=rownd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["requestSignIn","signOut","manageAccount","getAccessToken","setUserDataValue","setUserData","useRowndContext","useRownd","state","
|
|
1
|
+
{"version":3,"names":["requestSignIn","signOut","manageAccount","getAccessToken","getFirebaseIdToken","setUserDataValue","setUserData","useRowndContext","useRownd","state","access_token","auth","firebase","getIdToken","is_authenticated","is_initializing","app_id","user","data","setValue","set"],"sources":["rownd.ts"],"sourcesContent":["import {\n requestSignIn,\n signOut,\n manageAccount,\n getAccessToken,\n getFirebaseIdToken,\n setUserDataValue,\n setUserData,\n} from '../utils/nativeModule';\nimport { useRowndContext } from '../components/GlobalContext';\n\nexport type TRowndContext = {\n access_token: string | null;\n auth: AuthContext;\n is_authenticated: boolean;\n is_initializing: boolean;\n firebase: {\n getIdToken: () => Promise<string>;\n }\n getAccessToken: (token?: string) => Promise<string>;\n manageAccount: () => void;\n requestSignIn: (e?: RequestSignIn) => void;\n signOut: () => void;\n user: UserContext;\n};\n\ntype UserContext = {\n data: {\n id?: string;\n email?: string | null;\n phone?: string | null;\n [key: string]: any;\n };\n set: (data: Record<string, any>) => void;\n setValue: (key: string, value: any) => void;\n};\n\ntype AuthContext = {\n access_token: string | null;\n app_id: string | null;\n is_verified_user?: boolean;\n};\n\nexport type RequestSignInMethods = 'google' | 'apple' | 'default' | 'guest' | 'passkey';\nexport type RequestSignInIntent = 'sign_in' | 'sign_up';\nexport type RequestSignIn = {method?: RequestSignInMethods, postSignInRedirect?: string, intent?: RequestSignInIntent}\n\nexport function useRownd(): TRowndContext {\n const { state } = useRowndContext();\n\n return {\n access_token: state.auth.access_token,\n auth: state.auth,\n getAccessToken,\n firebase: {\n getIdToken: getFirebaseIdToken,\n },\n is_authenticated: !!state.auth.access_token,\n is_initializing: !!state.auth.app_id,\n manageAccount,\n requestSignIn,\n signOut,\n user: {\n data: state.user.data,\n setValue: setUserDataValue,\n set: setUserData,\n }, \n };\n}\n"],"mappings":"AAAA,SACEA,aADF,EAEEC,OAFF,EAGEC,aAHF,EAIEC,cAJF,EAKEC,kBALF,EAMEC,gBANF,EAOEC,WAPF,QAQO,uBARP;AASA,SAASC,eAAT,QAAgC,6BAAhC;AAsCA,OAAO,SAASC,QAAT,GAAmC;EACxC,MAAM;IAAEC;EAAF,IAAYF,eAAe,EAAjC;EAEA,OAAO;IACLG,YAAY,EAAED,KAAK,CAACE,IAAN,CAAWD,YADpB;IAELC,IAAI,EAAEF,KAAK,CAACE,IAFP;IAGLR,cAHK;IAILS,QAAQ,EAAE;MACRC,UAAU,EAAET;IADJ,CAJL;IAOLU,gBAAgB,EAAE,CAAC,CAACL,KAAK,CAACE,IAAN,CAAWD,YAP1B;IAQLK,eAAe,EAAE,CAAC,CAACN,KAAK,CAACE,IAAN,CAAWK,MARzB;IASLd,aATK;IAULF,aAVK;IAWLC,OAXK;IAYLgB,IAAI,EAAE;MACJC,IAAI,EAAET,KAAK,CAACQ,IAAN,CAAWC,IADb;MAEJC,QAAQ,EAAEd,gBAFN;MAGJe,GAAG,EAAEd;IAHD;EAZD,CAAP;AAkBD"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { RowndProvider } from './components/GlobalContext';
|
|
2
2
|
import { useRownd } from './hooks/rownd';
|
|
3
|
-
|
|
3
|
+
import RequireSignIn from './components/RequireSignIn';
|
|
4
|
+
import SignedIn from './components/SignedIn';
|
|
5
|
+
import SignedOut from './components/SignedOut';
|
|
6
|
+
export { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };
|
|
4
7
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RowndProvider","useRownd"],"sources":["index.tsx"],"sourcesContent":["import { RowndProvider } from './components/GlobalContext';\nimport { useRownd } from './hooks/rownd';\n\nexport { RowndProvider, useRownd };\n"],"mappings":"AAAA,SAASA,aAAT,QAA8B,4BAA9B;AACA,SAASC,QAAT,QAAyB,eAAzB;AAEA,
|
|
1
|
+
{"version":3,"names":["RowndProvider","useRownd","RequireSignIn","SignedIn","SignedOut"],"sources":["index.tsx"],"sourcesContent":["import { RowndProvider } from './components/GlobalContext';\nimport { useRownd } from './hooks/rownd';\nimport RequireSignIn from './components/RequireSignIn';\nimport SignedIn from './components/SignedIn';\nimport SignedOut from './components/SignedOut';\n\nexport { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };\n"],"mappings":"AAAA,SAASA,aAAT,QAA8B,4BAA9B;AACA,SAASC,QAAT,QAAyB,eAAzB;AACA,OAAOC,aAAP,MAA0B,4BAA1B;AACA,OAAOC,QAAP,MAAqB,uBAArB;AACA,OAAOC,SAAP,MAAsB,wBAAtB;AAEA,SAASJ,aAAT,EAAwBC,QAAxB,EAAkCC,aAAlC,EAAiDC,QAAjD,EAA2DC,SAA3D"}
|
|
@@ -43,6 +43,9 @@ export function manageAccount() {
|
|
|
43
43
|
export function getAccessToken(token) {
|
|
44
44
|
return Rownd.getAccessToken(token || null);
|
|
45
45
|
}
|
|
46
|
+
export function getFirebaseIdToken() {
|
|
47
|
+
return Rownd.getFirebaseIdToken();
|
|
48
|
+
}
|
|
46
49
|
export function setUserDataValue(key, value) {
|
|
47
50
|
return Rownd.setUserDataValue(key, Platform.OS === 'android' ? {
|
|
48
51
|
value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","Rownd","RowndPlugin","Proxy","get","Error","IOSRowndEventEmitter","OS","RowndPluginEventEmitter","configure","config","customizations","customizationConfig","requestSignIn","method","postSignInRedirect","intent","signOut","manageAccount","getAccessToken","token","setUserDataValue","key","value","setUserData","data","handleSignInLink","url"],"sources":["nativeModule.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport type { RequestSignIn } from 'src/hooks/rownd';\nimport type { Customizations, IConfig } from './config';\n\nexport const LINKING_ERROR =\n `The package '@rownd/react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport const Rownd = NativeModules.RowndPlugin\n ? NativeModules.RowndPlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const IOSRowndEventEmitter =\n Platform.OS !== 'ios'\n ? null\n : NativeModules.RowndPluginEventEmitter\n ? NativeModules.RowndPluginEventEmitter\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport function configure(config: IConfig): Promise<string> {\n return Rownd.configure(config);\n}\n\nexport function customizations(customizationConfig: Customizations) {\n return Rownd.customizations(customizationConfig);\n}\n\nexport function requestSignIn(config?: RequestSignIn) {\n if (!config) {\n return Rownd.requestSignIn({ method: 'default' });\n }\n return Rownd.requestSignIn({\n method: config?.method,\n postSignInRedirect: config?.postSignInRedirect,\n intent: config?.intent\n });\n}\n\nexport function signOut() {\n return Rownd.signOut();\n}\n\nexport function manageAccount() {\n return Rownd.manageAccount();\n}\n\nexport function getAccessToken(token?: string): Promise<string> {\n return Rownd.getAccessToken(token || null);\n}\n\nexport function setUserDataValue(key: string, value: any) {\n return Rownd.setUserDataValue(\n key,\n Platform.OS === 'android' ? { value } : value\n );\n}\n\nexport function setUserData(data: Record<string, any>) {\n return Rownd.setUserData(data);\n}\n\nexport function handleSignInLink(url: string) {\n return Rownd.handleSignInLink(url);\n}\n"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,QAAxB,QAAwC,cAAxC;AAIA,OAAO,MAAMC,aAAa,GACvB,8EAAD,GACAD,QAAQ,CAACE,MAAT,CAAgB;EAAEC,GAAG,EAAE,gCAAP;EAAyCC,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJK;AAMP,OAAO,MAAMC,KAAK,GAAGN,aAAa,CAACO,WAAd,GACjBP,aAAa,CAACO,WADG,GAEjB,IAAIC,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;EACD;;AAHH,CAFF,CAFG;AAWP,OAAO,MAAMS,oBAAoB,GAC/BV,QAAQ,CAACW,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEIZ,aAAa,CAACa,uBAAd,GACAb,aAAa,CAACa,uBADd,GAEA,IAAIL,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;EACD;;AAHH,CAFF,CALC;AAcP,OAAO,SAASY,SAAT,CAAmBC,MAAnB,EAAqD;EAC1D,OAAOT,KAAK,CAACQ,SAAN,CAAgBC,MAAhB,CAAP;AACD;AAED,OAAO,SAASC,cAAT,CAAwBC,mBAAxB,EAA6D;EAClE,OAAOX,KAAK,CAACU,cAAN,CAAqBC,mBAArB,CAAP;AACD;AAED,OAAO,SAASC,aAAT,CAAuBH,MAAvB,EAA+C;EACpD,IAAI,CAACA,MAAL,EAAa;IACX,OAAOT,KAAK,CAACY,aAAN,CAAoB;MAAEC,MAAM,EAAE;IAAV,CAApB,CAAP;EACD;;EACD,OAAOb,KAAK,CAACY,aAAN,CAAoB;IACzBC,MAAM,EAAEJ,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEI,MADS;IAEzBC,kBAAkB,EAAEL,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEK,kBAFH;IAGzBC,MAAM,EAAEN,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEM;EAHS,CAApB,CAAP;AAKD;AAED,OAAO,SAASC,OAAT,GAAmB;EACxB,OAAOhB,KAAK,CAACgB,OAAN,EAAP;AACD;AAED,OAAO,SAASC,aAAT,GAAyB;EAC9B,OAAOjB,KAAK,CAACiB,aAAN,EAAP;AACD;AAED,OAAO,SAASC,cAAT,CAAwBC,KAAxB,EAAyD;EAC9D,OAAOnB,KAAK,CAACkB,cAAN,CAAqBC,KAAK,IAAI,IAA9B,CAAP;AACD;AAED,OAAO,SAASC,gBAAT,CAA0BC,GAA1B,EAAuCC,KAAvC,EAAmD;EACxD,
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","Rownd","RowndPlugin","Proxy","get","Error","IOSRowndEventEmitter","OS","RowndPluginEventEmitter","configure","config","customizations","customizationConfig","requestSignIn","method","postSignInRedirect","intent","signOut","manageAccount","getAccessToken","token","getFirebaseIdToken","setUserDataValue","key","value","setUserData","data","handleSignInLink","url"],"sources":["nativeModule.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport type { RequestSignIn } from 'src/hooks/rownd';\nimport type { Customizations, IConfig } from './config';\n\nexport const LINKING_ERROR =\n `The package '@rownd/react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport const Rownd = NativeModules.RowndPlugin\n ? NativeModules.RowndPlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const IOSRowndEventEmitter =\n Platform.OS !== 'ios'\n ? null\n : NativeModules.RowndPluginEventEmitter\n ? NativeModules.RowndPluginEventEmitter\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport function configure(config: IConfig): Promise<string> {\n return Rownd.configure(config);\n}\n\nexport function customizations(customizationConfig: Customizations) {\n return Rownd.customizations(customizationConfig);\n}\n\nexport function requestSignIn(config?: RequestSignIn) {\n if (!config) {\n return Rownd.requestSignIn({ method: 'default' });\n }\n return Rownd.requestSignIn({\n method: config?.method,\n postSignInRedirect: config?.postSignInRedirect,\n intent: config?.intent\n });\n}\n\nexport function signOut() {\n return Rownd.signOut();\n}\n\nexport function manageAccount() {\n return Rownd.manageAccount();\n}\n\nexport function getAccessToken(token?: string): Promise<string> {\n return Rownd.getAccessToken(token || null);\n}\n\nexport function getFirebaseIdToken(): Promise<string> {\n return Rownd.getFirebaseIdToken();\n}\n\nexport function setUserDataValue(key: string, value: any) {\n return Rownd.setUserDataValue(\n key,\n Platform.OS === 'android' ? { value } : value\n );\n}\n\nexport function setUserData(data: Record<string, any>) {\n return Rownd.setUserData(data);\n}\n\nexport function handleSignInLink(url: string) {\n return Rownd.handleSignInLink(url);\n}\n"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,QAAxB,QAAwC,cAAxC;AAIA,OAAO,MAAMC,aAAa,GACvB,8EAAD,GACAD,QAAQ,CAACE,MAAT,CAAgB;EAAEC,GAAG,EAAE,gCAAP;EAAyCC,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJK;AAMP,OAAO,MAAMC,KAAK,GAAGN,aAAa,CAACO,WAAd,GACjBP,aAAa,CAACO,WADG,GAEjB,IAAIC,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;EACD;;AAHH,CAFF,CAFG;AAWP,OAAO,MAAMS,oBAAoB,GAC/BV,QAAQ,CAACW,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEIZ,aAAa,CAACa,uBAAd,GACAb,aAAa,CAACa,uBADd,GAEA,IAAIL,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;EACD;;AAHH,CAFF,CALC;AAcP,OAAO,SAASY,SAAT,CAAmBC,MAAnB,EAAqD;EAC1D,OAAOT,KAAK,CAACQ,SAAN,CAAgBC,MAAhB,CAAP;AACD;AAED,OAAO,SAASC,cAAT,CAAwBC,mBAAxB,EAA6D;EAClE,OAAOX,KAAK,CAACU,cAAN,CAAqBC,mBAArB,CAAP;AACD;AAED,OAAO,SAASC,aAAT,CAAuBH,MAAvB,EAA+C;EACpD,IAAI,CAACA,MAAL,EAAa;IACX,OAAOT,KAAK,CAACY,aAAN,CAAoB;MAAEC,MAAM,EAAE;IAAV,CAApB,CAAP;EACD;;EACD,OAAOb,KAAK,CAACY,aAAN,CAAoB;IACzBC,MAAM,EAAEJ,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEI,MADS;IAEzBC,kBAAkB,EAAEL,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEK,kBAFH;IAGzBC,MAAM,EAAEN,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEM;EAHS,CAApB,CAAP;AAKD;AAED,OAAO,SAASC,OAAT,GAAmB;EACxB,OAAOhB,KAAK,CAACgB,OAAN,EAAP;AACD;AAED,OAAO,SAASC,aAAT,GAAyB;EAC9B,OAAOjB,KAAK,CAACiB,aAAN,EAAP;AACD;AAED,OAAO,SAASC,cAAT,CAAwBC,KAAxB,EAAyD;EAC9D,OAAOnB,KAAK,CAACkB,cAAN,CAAqBC,KAAK,IAAI,IAA9B,CAAP;AACD;AAED,OAAO,SAASC,kBAAT,GAA+C;EACpD,OAAOpB,KAAK,CAACoB,kBAAN,EAAP;AACD;AAED,OAAO,SAASC,gBAAT,CAA0BC,GAA1B,EAAuCC,KAAvC,EAAmD;EACxD,OAAOvB,KAAK,CAACqB,gBAAN,CACLC,GADK,EAEL3B,QAAQ,CAACW,EAAT,KAAgB,SAAhB,GAA4B;IAAEiB;EAAF,CAA5B,GAAwCA,KAFnC,CAAP;AAID;AAED,OAAO,SAASC,WAAT,CAAqBC,IAArB,EAAgD;EACrD,OAAOzB,KAAK,CAACwB,WAAN,CAAkBC,IAAlB,CAAP;AACD;AAED,OAAO,SAASC,gBAAT,CAA0BC,GAA1B,EAAuC;EAC5C,OAAO3B,KAAK,CAAC0B,gBAAN,CAAuBC,GAAvB,CAAP;AACD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React, { FunctionComponent } from 'react';
|
|
2
|
+
import type { RequestSignIn } from 'src/hooks/rownd';
|
|
3
|
+
export declare type ContextProps = {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
initializing?: React.ReactNode;
|
|
6
|
+
signInProps?: RequestSignIn;
|
|
7
|
+
};
|
|
8
|
+
declare const RequireSignIn: FunctionComponent<ContextProps>;
|
|
9
|
+
export default RequireSignIn;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
export declare type TRowndContext = {
|
|
2
|
+
access_token: string | null;
|
|
3
|
+
auth: AuthContext;
|
|
4
|
+
is_authenticated: boolean;
|
|
5
|
+
is_initializing: boolean;
|
|
6
|
+
firebase: {
|
|
7
|
+
getIdToken: () => Promise<string>;
|
|
8
|
+
};
|
|
9
|
+
getAccessToken: (token?: string) => Promise<string>;
|
|
10
|
+
manageAccount: () => void;
|
|
2
11
|
requestSignIn: (e?: RequestSignIn) => void;
|
|
3
12
|
signOut: () => void;
|
|
4
|
-
manageAccount: () => void;
|
|
5
|
-
getAccessToken: (token?: string) => Promise<string>;
|
|
6
13
|
user: UserContext;
|
|
7
|
-
is_authenticated: boolean;
|
|
8
|
-
is_initializing: boolean;
|
|
9
|
-
access_token: string | null;
|
|
10
|
-
auth: AuthContext;
|
|
11
14
|
};
|
|
12
15
|
declare type UserContext = {
|
|
13
16
|
data: {
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { RowndProvider } from './components/GlobalContext';
|
|
2
2
|
import { useRownd } from './hooks/rownd';
|
|
3
|
-
|
|
3
|
+
import RequireSignIn from './components/RequireSignIn';
|
|
4
|
+
import SignedIn from './components/SignedIn';
|
|
5
|
+
import SignedOut from './components/SignedOut';
|
|
6
|
+
export { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };
|
|
@@ -9,6 +9,7 @@ export declare function requestSignIn(config?: RequestSignIn): any;
|
|
|
9
9
|
export declare function signOut(): any;
|
|
10
10
|
export declare function manageAccount(): any;
|
|
11
11
|
export declare function getAccessToken(token?: string): Promise<string>;
|
|
12
|
+
export declare function getFirebaseIdToken(): Promise<string>;
|
|
12
13
|
export declare function setUserDataValue(key: string, value: any): any;
|
|
13
14
|
export declare function setUserData(data: Record<string, any>): any;
|
|
14
15
|
export declare function handleSignInLink(url: string): any;
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
18
|
|
|
19
19
|
s.dependency "React-Core"
|
|
20
|
-
s.dependency "Rownd", "~> 2.
|
|
20
|
+
s.dependency "Rownd", "~> 2.8.1"
|
|
21
21
|
|
|
22
22
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
23
23
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
FunctionComponent,
|
|
3
|
+
useEffect,
|
|
4
|
+
} from 'react';
|
|
5
|
+
import { useRownd } from '..';
|
|
6
|
+
import type { RequestSignIn } from 'src/hooks/rownd';
|
|
7
|
+
|
|
8
|
+
export type ContextProps = {
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
initializing?: React.ReactNode;
|
|
11
|
+
signInProps?: RequestSignIn;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const RequireSignIn: FunctionComponent<ContextProps> = ({
|
|
15
|
+
children,
|
|
16
|
+
initializing,
|
|
17
|
+
signInProps,
|
|
18
|
+
}) => {
|
|
19
|
+
const { is_authenticated, is_initializing, requestSignIn } = useRownd();
|
|
20
|
+
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (!is_authenticated && !is_initializing) {
|
|
23
|
+
requestSignIn({ ...signInProps });
|
|
24
|
+
}
|
|
25
|
+
}, [is_authenticated, is_initializing, requestSignIn]);
|
|
26
|
+
|
|
27
|
+
if (is_initializing && initializing) {
|
|
28
|
+
return <>{initializing}</>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return <>{children}</>;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export default RequireSignIn;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useRownd } from '../hooks/rownd';
|
|
3
|
+
|
|
4
|
+
interface SignedInProps {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const SignedIn: React.FC<SignedInProps> = ({ children }) => {
|
|
9
|
+
const { is_authenticated } = useRownd();
|
|
10
|
+
|
|
11
|
+
if (!is_authenticated) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return <>{children}</>;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export default SignedIn;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { useRownd } from '../hooks/rownd';
|
|
3
|
+
|
|
4
|
+
interface SignedOutProps {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const SignedOut: React.FC<SignedOutProps> = ({ children }) => {
|
|
9
|
+
const { is_authenticated } = useRownd();
|
|
10
|
+
|
|
11
|
+
if (is_authenticated) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return <>{children}</>;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export default SignedOut
|
package/src/hooks/rownd.ts
CHANGED
|
@@ -3,21 +3,25 @@ import {
|
|
|
3
3
|
signOut,
|
|
4
4
|
manageAccount,
|
|
5
5
|
getAccessToken,
|
|
6
|
+
getFirebaseIdToken,
|
|
6
7
|
setUserDataValue,
|
|
7
8
|
setUserData,
|
|
8
9
|
} from '../utils/nativeModule';
|
|
9
10
|
import { useRowndContext } from '../components/GlobalContext';
|
|
10
11
|
|
|
11
12
|
export type TRowndContext = {
|
|
13
|
+
access_token: string | null;
|
|
14
|
+
auth: AuthContext;
|
|
15
|
+
is_authenticated: boolean;
|
|
16
|
+
is_initializing: boolean;
|
|
17
|
+
firebase: {
|
|
18
|
+
getIdToken: () => Promise<string>;
|
|
19
|
+
}
|
|
20
|
+
getAccessToken: (token?: string) => Promise<string>;
|
|
21
|
+
manageAccount: () => void;
|
|
12
22
|
requestSignIn: (e?: RequestSignIn) => void;
|
|
13
23
|
signOut: () => void;
|
|
14
|
-
manageAccount: () => void;
|
|
15
|
-
getAccessToken: (token?: string) => Promise<string>;
|
|
16
24
|
user: UserContext;
|
|
17
|
-
is_authenticated: boolean;
|
|
18
|
-
is_initializing: boolean;
|
|
19
|
-
access_token: string | null;
|
|
20
|
-
auth: AuthContext;
|
|
21
25
|
};
|
|
22
26
|
|
|
23
27
|
type UserContext = {
|
|
@@ -45,18 +49,21 @@ export function useRownd(): TRowndContext {
|
|
|
45
49
|
const { state } = useRowndContext();
|
|
46
50
|
|
|
47
51
|
return {
|
|
52
|
+
access_token: state.auth.access_token,
|
|
53
|
+
auth: state.auth,
|
|
54
|
+
getAccessToken,
|
|
55
|
+
firebase: {
|
|
56
|
+
getIdToken: getFirebaseIdToken,
|
|
57
|
+
},
|
|
58
|
+
is_authenticated: !!state.auth.access_token,
|
|
59
|
+
is_initializing: !!state.auth.app_id,
|
|
60
|
+
manageAccount,
|
|
48
61
|
requestSignIn,
|
|
49
62
|
signOut,
|
|
50
|
-
manageAccount,
|
|
51
|
-
getAccessToken,
|
|
52
63
|
user: {
|
|
53
64
|
data: state.user.data,
|
|
54
65
|
setValue: setUserDataValue,
|
|
55
66
|
set: setUserData,
|
|
56
|
-
},
|
|
57
|
-
is_authenticated: !!state.auth.access_token,
|
|
58
|
-
is_initializing: !!state.auth.app_id,
|
|
59
|
-
auth: state.auth,
|
|
60
|
-
access_token: state.auth.access_token,
|
|
67
|
+
},
|
|
61
68
|
};
|
|
62
69
|
}
|
package/src/index.tsx
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { RowndProvider } from './components/GlobalContext';
|
|
2
2
|
import { useRownd } from './hooks/rownd';
|
|
3
|
+
import RequireSignIn from './components/RequireSignIn';
|
|
4
|
+
import SignedIn from './components/SignedIn';
|
|
5
|
+
import SignedOut from './components/SignedOut';
|
|
3
6
|
|
|
4
|
-
export { RowndProvider, useRownd };
|
|
7
|
+
export { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };
|
|
@@ -64,6 +64,10 @@ export function getAccessToken(token?: string): Promise<string> {
|
|
|
64
64
|
return Rownd.getAccessToken(token || null);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
export function getFirebaseIdToken(): Promise<string> {
|
|
68
|
+
return Rownd.getFirebaseIdToken();
|
|
69
|
+
}
|
|
70
|
+
|
|
67
71
|
export function setUserDataValue(key: string, value: any) {
|
|
68
72
|
return Rownd.setUserDataValue(
|
|
69
73
|
key,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/.idea/gradle.xml
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="GradleMigrationSettings" migrationVersion="1" />
|
|
4
|
-
<component name="GradleSettings">
|
|
5
|
-
<option name="linkedExternalProjectsSettings">
|
|
6
|
-
<GradleProjectSettings>
|
|
7
|
-
<option name="testRunner" value="GRADLE" />
|
|
8
|
-
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
|
9
|
-
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
10
|
-
<option name="modules">
|
|
11
|
-
<set>
|
|
12
|
-
<option value="$PROJECT_DIR$" />
|
|
13
|
-
</set>
|
|
14
|
-
</option>
|
|
15
|
-
</GradleProjectSettings>
|
|
16
|
-
</option>
|
|
17
|
-
</component>
|
|
18
|
-
</project>
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="RemoteRepositoriesConfiguration">
|
|
4
|
-
<remote-repository>
|
|
5
|
-
<option name="id" value="central" />
|
|
6
|
-
<option name="name" value="Maven Central repository" />
|
|
7
|
-
<option name="url" value="https://repo1.maven.org/maven2" />
|
|
8
|
-
</remote-repository>
|
|
9
|
-
<remote-repository>
|
|
10
|
-
<option name="id" value="jboss.community" />
|
|
11
|
-
<option name="name" value="JBoss Community repository" />
|
|
12
|
-
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
|
13
|
-
</remote-repository>
|
|
14
|
-
<remote-repository>
|
|
15
|
-
<option name="id" value="React Native sources" />
|
|
16
|
-
<option name="name" value="React Native sources" />
|
|
17
|
-
<option name="url" value="file:$PROJECT_DIR$/../node_modules/react-native/android/" />
|
|
18
|
-
</remote-repository>
|
|
19
|
-
<remote-repository>
|
|
20
|
-
<option name="id" value="MavenRepo" />
|
|
21
|
-
<option name="name" value="MavenRepo" />
|
|
22
|
-
<option name="url" value="https://repo.maven.apache.org/maven2/" />
|
|
23
|
-
</remote-repository>
|
|
24
|
-
<remote-repository>
|
|
25
|
-
<option name="id" value="Google" />
|
|
26
|
-
<option name="name" value="Google" />
|
|
27
|
-
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
|
28
|
-
</remote-repository>
|
|
29
|
-
</component>
|
|
30
|
-
</project>
|
package/android/.idea/misc.xml
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
|
4
|
-
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
|
|
5
|
-
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
6
|
-
</component>
|
|
7
|
-
<component name="ProjectType">
|
|
8
|
-
<option name="id" value="Android" />
|
|
9
|
-
</component>
|
|
10
|
-
</project>
|
package/android/.idea/vcs.xml
DELETED
package/android/local.properties
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
## This file must *NOT* be checked into Version Control Systems,
|
|
2
|
-
# as it contains information specific to your local configuration.
|
|
3
|
-
#
|
|
4
|
-
# Location of the SDK. This is only used by Gradle.
|
|
5
|
-
# For customization when using a Version Control System, please read the
|
|
6
|
-
# header note.
|
|
7
|
-
#Tue Nov 01 11:51:46 EDT 2022
|
|
8
|
-
sdk.dir=/Users/michaelmurray/Library/Android/sdk
|