@daimo/pay
Version:
Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.
43 lines (40 loc) • 1.4 kB
JavaScript
import { detect } from 'detect-browser';
import React from 'react';
const detectBrowser = () => {
const browser = detect();
return browser?.name ?? "";
};
const detectOS = () => {
const browser = detect();
return browser?.os ?? "";
};
const isIOS = () => {
const os = detectOS();
return os.toLowerCase().includes("ios");
};
const isAndroid = () => {
const os = detectOS();
return os.toLowerCase().includes("android");
};
const isMobile = () => {
const os = detectOS().toLowerCase();
return os.includes("android") || os.includes("ios");
};
function flattenChildren(children) {
const childrenArray = React.Children.toArray(children);
return childrenArray.reduce((flatChildren, child) => {
if (child.type === React.Fragment) {
return flatChildren.concat(
flattenChildren(child.props.children)
);
}
flatChildren.push(child);
return flatChildren;
}, []);
}
const isBaseAccountConnector = (connectorId) => connectorId === "baseAccount";
const isGeminiConnector = (connectorId) => connectorId === "gemini";
const isSafeConnector = (connectorId) => connectorId === "safe";
const isInjectedConnector = (connectorId) => connectorId === "injected";
export { detectBrowser, detectOS, flattenChildren, isAndroid, isBaseAccountConnector, isGeminiConnector, isIOS, isInjectedConnector, isMobile, isSafeConnector };
//# sourceMappingURL=index.js.map