/** @jsx React.DOM */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ /* global loop:true, React, MozActivity */ /* jshint newcap:false, maxlen:false */ var loop = loop || {}; loop.webapp = (function($, _, OT, mozL10n) { "use strict"; loop.config = loop.config || {}; loop.config.serverUrl = loop.config.serverUrl || "http://localhost:5000"; var sharedMixins = loop.shared.mixins; var sharedModels = loop.shared.models; var sharedViews = loop.shared.views; var sharedUtils = loop.shared.utils; /** * Homepage view. */ var HomeView = React.createClass({ render: function() { return (

{mozL10n.get("welcome")}

); } }); /** * Unsupported Browsers view. */ var UnsupportedBrowserView = React.createClass({ render: function() { var useLatestFF = mozL10n.get("use_latest_firefox", { "firefoxBrandNameLink": React.renderComponentToStaticMarkup( Firefox ) }); return (

{mozL10n.get("incompatible_browser")}

{mozL10n.get("powered_by_webrtc")}

); } }); /** * Unsupported Device view. */ var UnsupportedDeviceView = React.createClass({ render: function() { return (

{mozL10n.get("incompatible_device")}

{mozL10n.get("sorry_device_unsupported")}

{mozL10n.get("use_firefox_windows_mac_linux")}

); } }); /** * Firefox promotion interstitial. Will display only to non-Firefox users. */ var PromoteFirefoxView = React.createClass({ propTypes: { helper: React.PropTypes.object.isRequired }, render: function() { if (this.props.helper.isFirefox(navigator.userAgent)) { return
; } return (

{mozL10n.get("promote_firefox_hello_heading")}

{mozL10n.get("get_firefox_button")}

); } }); /** * Expired call URL view. */ var CallUrlExpiredView = React.createClass({ propTypes: { helper: React.PropTypes.object.isRequired }, render: function() { return (

{mozL10n.get("call_url_unavailable_notification_heading")}

{mozL10n.get("call_url_unavailable_notification_message2")}

); } }); var ConversationBranding = React.createClass({ render: function() { return (

{mozL10n.get("brandShortname")} {mozL10n.get("clientShortname2")}

); } }); /** * The Firefox Marketplace exposes a web page that contains a postMesssage * based API that wraps a small set of functionality from the WebApps API * that allow us to request the installation of apps given their manifest * URL. We will be embedding the content of this web page within an hidden * iframe in case that we need to request the installation of the FxOS Loop * client. */ var FxOSHiddenMarketplace = React.createClass({ render: function() { return