onairos 0.1.351 → 0.1.352
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.
|
@@ -11,60 +11,101 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
11
11
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
12
|
function GoogleButton(_ref) {
|
|
13
13
|
let {
|
|
14
|
-
onLoginSuccess
|
|
14
|
+
onLoginSuccess = () => {}
|
|
15
15
|
} = _ref;
|
|
16
|
+
const [error, setError] = (0, _react.useState)(null);
|
|
16
17
|
const handleTelegramAuth = (0, _react.useCallback)(async () => {
|
|
18
|
+
setError(null);
|
|
19
|
+
|
|
20
|
+
// Check if we're in a Telegram Web App environment
|
|
21
|
+
if (typeof window !== 'undefined' && !window.Telegram?.WebApp) {
|
|
22
|
+
setError('Not running in Telegram Web App');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Check SDK initialization
|
|
17
27
|
if (!_sdk.miniApp.isInitialized) {
|
|
18
|
-
|
|
28
|
+
setError('Telegram Mini App not initialized');
|
|
19
29
|
return;
|
|
20
30
|
}
|
|
21
31
|
try {
|
|
22
|
-
//
|
|
23
|
-
const telegramAppUrl = _sdk.miniApp.initData;
|
|
32
|
+
// Safely get Telegram Mini App data
|
|
33
|
+
const telegramAppUrl = _sdk.miniApp.initData || '';
|
|
24
34
|
const botUsername = 'OnairosMiniApp';
|
|
25
35
|
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
connectUrl.searchParams.append('botUsername', botUsername);
|
|
36
|
+
// Log debug information
|
|
37
|
+
console.log('Telegram App URL:', telegramAppUrl);
|
|
38
|
+
console.log('Bot Username:', botUsername);
|
|
30
39
|
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
40
|
+
// Construct URL with error handling
|
|
41
|
+
let connectUrl;
|
|
42
|
+
try {
|
|
43
|
+
connectUrl = new URL('https://onairos.uk/othent-connect');
|
|
44
|
+
connectUrl.searchParams.append('tgAppUrl', encodeURIComponent(telegramAppUrl));
|
|
45
|
+
connectUrl.searchParams.append('botUsername', botUsername);
|
|
46
|
+
} catch (urlError) {
|
|
47
|
+
setError('Error constructing URL: ' + urlError.message);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
35
50
|
|
|
36
|
-
//
|
|
51
|
+
// Register event listener before opening link
|
|
37
52
|
const handleAppActive = () => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
53
|
+
try {
|
|
54
|
+
const startParam = _sdk.miniApp.initDataUnsafe?.start_param;
|
|
55
|
+
console.log('Start param received:', startParam);
|
|
56
|
+
if (startParam) {
|
|
41
57
|
const authData = JSON.parse(decodeURIComponent(startParam));
|
|
42
58
|
if (authData) {
|
|
43
59
|
onLoginSuccess(authData);
|
|
44
60
|
}
|
|
45
|
-
} catch (error) {
|
|
46
|
-
console.error('Error processing auth data:', error);
|
|
47
61
|
}
|
|
62
|
+
} catch (error) {
|
|
63
|
+
setError('Error processing auth data: ' + error.message);
|
|
64
|
+
} finally {
|
|
65
|
+
_sdk.miniApp.removeEvent('active', handleAppActive);
|
|
48
66
|
}
|
|
49
|
-
_sdk.miniApp.removeEvent('active', handleAppActive);
|
|
50
67
|
};
|
|
51
68
|
_sdk.miniApp.onEvent('active', handleAppActive);
|
|
69
|
+
|
|
70
|
+
// Open link with error handling
|
|
71
|
+
await (0, _sdk.openLink)(connectUrl.toString(), {
|
|
72
|
+
tryInstantView: false
|
|
73
|
+
});
|
|
52
74
|
} catch (error) {
|
|
53
|
-
|
|
75
|
+
setError('Auth flow failed: ' + error.message);
|
|
76
|
+
console.error('Full error:', error);
|
|
54
77
|
}
|
|
55
78
|
}, [onLoginSuccess]);
|
|
56
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
79
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
57
80
|
className: "flex flex-col items-center",
|
|
58
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
81
|
+
children: [error && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
82
|
+
className: "text-red-500 text-sm mb-2 px-4 py-2 bg-red-50 rounded",
|
|
83
|
+
children: error
|
|
84
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
|
|
59
85
|
onClick: handleTelegramAuth,
|
|
60
|
-
className: "flex items-center justify-center px-4 py-2 border border-gray-300 rounded-full shadow-sm bg-white hover:bg-gray-50",
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
className: "w-5 h-5 mr-2"
|
|
86
|
+
className: "flex items-center justify-center px-4 py-2 border border-gray-300 rounded-full shadow-sm bg-white hover:bg-gray-50 relative",
|
|
87
|
+
type: "button",
|
|
88
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
|
|
89
|
+
viewBox: "0 0 24 24",
|
|
90
|
+
className: "w-5 h-5 mr-2",
|
|
91
|
+
fill: "#4285F4",
|
|
92
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
93
|
+
d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z",
|
|
94
|
+
fill: "#4285F4"
|
|
95
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
96
|
+
d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",
|
|
97
|
+
fill: "#34A853"
|
|
98
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
99
|
+
d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",
|
|
100
|
+
fill: "#FBBC05"
|
|
101
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
102
|
+
d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",
|
|
103
|
+
fill: "#EA4335"
|
|
104
|
+
})]
|
|
65
105
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
106
|
+
className: "text-gray-700",
|
|
66
107
|
children: "Continue with Google"
|
|
67
108
|
})]
|
|
68
|
-
})
|
|
109
|
+
})]
|
|
69
110
|
});
|
|
70
111
|
}
|