react-pwa-install-updated
Version:
Install support for your PWA on several platforms
230 lines (228 loc) • 7.32 kB
JavaScript
var _jsxFileName = "/Users/mobile/Desktop/react-pwa-install/src/InstallDialogAction.js";
import React from "react";
import { DialogActions, Typography, Button, Box } from "@material-ui/core";
import { platforms } from "./Platforms";
import { IOSShareIcon, FireFoxA2HSIcon, MenuIcon, OperaA2HSIcon } from "./Icons";
function DialogActionWithInstructions(props) {
return /*#__PURE__*/React.createElement(Box, {
width: "100%",
display: "flex",
flexDirection: "column",
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 8,
columnNumber: 5
}
}, /*#__PURE__*/React.createElement(Box, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 9,
columnNumber: 7
}
}, /*#__PURE__*/React.createElement(Typography, {
variant: "subtitle1",
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 10,
columnNumber: 9
}
}, props.instructionTitle || "To install this app:"), /*#__PURE__*/React.createElement("ul", {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 11,
columnNumber: 9
}
}, /*#__PURE__*/React.createElement("li", {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 12,
columnNumber: 11
}
}, /*#__PURE__*/React.createElement("span", {
style: {
display: "flex",
alignItems: "center"
},
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 13,
columnNumber: 13
}
}, props.action1)), /*#__PURE__*/React.createElement("li", {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 15,
columnNumber: 11
}
}, props.action2))), /*#__PURE__*/React.createElement(Box, {
width: "100%",
textAlign: "right",
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 18,
columnNumber: 7
}
}, /*#__PURE__*/React.createElement(Button, {
onClick: props.onSubmit,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 19,
columnNumber: 9
}
}, props.instructionActionOk || "Ok")));
}
export default function InstallDialogAction(props) {
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DialogActions, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 28,
columnNumber: 7
}
}, props.platform === platforms.NATIVE && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
onClick: props.onClose,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 31,
columnNumber: 13
}
}, props.instructionActionCancel || "Cancel"), /*#__PURE__*/React.createElement(Button, {
onClick: props.onSubmit,
color: "primary",
variant: "contained",
disableElevation: true,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 32,
columnNumber: 13
}
}, props.instructionActionInstall || "Install")), props.platform === platforms.IDEVICE && /*#__PURE__*/React.createElement(DialogActionWithInstructions, {
action1: /*#__PURE__*/React.createElement(React.Fragment, null, props.instructionIdeviceAction1 || "Tap the share button:", /*#__PURE__*/React.createElement(IOSShareIcon, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 42,
columnNumber: 17
}
})),
action2: props.instructionIdeviceAction2 || "then find and tap 'Add to Homescreen'",
onSubmit: props.onSubmit,
instructionTitle: props.instructionTitle,
instructionActionOk: props.instructionActionOk,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 38,
columnNumber: 11
}
}), props.platform === platforms.FIREFOX && /*#__PURE__*/React.createElement(DialogActionWithInstructions, {
action1: /*#__PURE__*/React.createElement(React.Fragment, null, props.instructionFirefoxAction1 || "Tap this icon on the address bar:", /*#__PURE__*/React.createElement(FireFoxA2HSIcon, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 56,
columnNumber: 17
}
})),
action2: props.instructionFirefoxAction2 || "then tap '+Add to Homescreen'",
onSubmit: props.onSubmit,
instructionTitle: props.instructionTitle,
instructionActionOk: props.instructionActionOk,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 52,
columnNumber: 11
}
}), props.platform === platforms.FIREFOX_NEW && /*#__PURE__*/React.createElement(DialogActionWithInstructions, {
action1: /*#__PURE__*/React.createElement(React.Fragment, null, props.instructionFirefoxNewAction1 || "Tap the menu button:", /*#__PURE__*/React.createElement(MenuIcon, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 70,
columnNumber: 17
}
})),
action2: props.instructionFirefoxNewAction2 || "then tap 'Install'",
onSubmit: props.onSubmit,
instructionTitle: props.instructionTitle,
instructionActionOk: props.instructionActionOk,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 66,
columnNumber: 11
}
}), props.platform === platforms.OPERA && /*#__PURE__*/React.createElement(DialogActionWithInstructions, {
action1: /*#__PURE__*/React.createElement(React.Fragment, null, props.instructionOperaAction1 || "Tap the menu button:", /*#__PURE__*/React.createElement(MenuIcon, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 84,
columnNumber: 17
}
})),
action2: /*#__PURE__*/React.createElement(React.Fragment, null, props.instructionOperaAction2 || "then tap 'Home screen: '", /*#__PURE__*/React.createElement(OperaA2HSIcon, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 90,
columnNumber: 17
}
})),
onSubmit: props.onSubmit,
instructionTitle: props.instructionTitle,
instructionActionOk: props.instructionActionOk,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 80,
columnNumber: 11
}
}), props.platform === platforms.OTHER && /*#__PURE__*/React.createElement(Box, {
width: "100%",
display: "flex",
flexDirection: "column",
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 99,
columnNumber: 11
}
}, /*#__PURE__*/React.createElement(Box, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 100,
columnNumber: 13
}
}, props.instructionNotSupported || "Unfortunately the install feature is not supported by your browser."), /*#__PURE__*/React.createElement(Box, {
width: "100%",
textAlign: "right",
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 101,
columnNumber: 13
}
}, /*#__PURE__*/React.createElement(Button, {
onClick: props.onClose,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 102,
columnNumber: 15
}
}, props.instructionActionOk || "Ok")))));
}