MozillaVPN Integration
This commit is contained in:
+150
-46
@@ -13,13 +13,6 @@
|
||||
<a href="#" class="onboarding-button onboarding-start-button keyboard-nav" tabindex="0" data-i18n-message-id="getStarted"></a>
|
||||
</div>
|
||||
|
||||
<div class="hide panel onboarding security-onboarding-panel-1">
|
||||
<img class="onboarding-img" alt="" src="/img/onboarding-1.png" />
|
||||
<h3 class="onboarding-title" data-i18n-message-id="onboarding-1-sec-header"></h3>
|
||||
<p data-i18n-message-id="onboarding-1-sec-description"></p>
|
||||
<a href="#" class="onboarding-button onboarding-start-button keyboard-nav" tabindex="0" data-i18n-message-id="getStarted"></a>
|
||||
</div>
|
||||
|
||||
<div class="panel onboarding onboarding-panel-2 hide">
|
||||
<img class="onboarding-img" alt="" src="/img/onboarding-2.png" />
|
||||
<h3 class="onboarding-title" data-i18n-message-id="onboarding-2-header"></h3>
|
||||
@@ -27,13 +20,6 @@
|
||||
<a href="#" class="onboarding-button onboarding-next-button keyboard-nav" tabindex="0" data-i18n-message-id="next"></a>
|
||||
</div>
|
||||
|
||||
<div class="panel onboarding security-onboarding-panel-2 hide">
|
||||
<img class="onboarding-img" alt="" src="/img/onboarding-2.png" />
|
||||
<h3 class="onboarding-title" data-i18n-message-id="onboarding-2-header"></h3>
|
||||
<p data-i18n-message-id="onboarding-2-sec-description"></p>
|
||||
<a href="#" class="onboarding-button onboarding-next-button keyboard-nav" tabindex="0" data-i18n-message-id="next"></a>
|
||||
</div>
|
||||
|
||||
<div class="panel onboarding onboarding-panel-3 hide">
|
||||
<img class="onboarding-img" alt="" src="/img/onboarding-3.png" />
|
||||
<h3 class="onboarding-title" data-i18n-message-id="onboarding-3-header"></h3>
|
||||
@@ -41,13 +27,6 @@
|
||||
<a href="#" class="onboarding-button onboarding-almost-done-button keyboard-nav" tabindex="0" data-i18n-message-id="next"></a>
|
||||
</div>
|
||||
|
||||
<div class="panel onboarding security-onboarding-panel-3 hide">
|
||||
<img class="onboarding-img" alt="" src="/img/onboarding-3-security.png" />
|
||||
<h3 class="onboarding-title" data-i18n-message-id="onboarding-3-sec-header"></h3>
|
||||
<p data-i18n-message-id="onboarding-2-sec-description"></p>
|
||||
<a href="#" class="onboarding-button onboarding-almost-done-button keyboard-nav" tabindex="0" data-i18n-message-id="next"></a>
|
||||
</div>
|
||||
|
||||
<div class="panel onboarding onboarding-panel-4 hide" id="onboarding-panel-4">
|
||||
<img class="onboarding-img" alt="" src="/img/onboarding-4.png" />
|
||||
<h3 class="onboarding-title" data-i18n-message-id="onboarding-4-header"></h3>
|
||||
@@ -82,6 +61,15 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel onboarding onboarding-panel-8 hide" id="onboarding-panel-8">
|
||||
<img class="onboarding-img" alt="" src="/img/moz-vpn-onboarding.svg" />
|
||||
<h3 class="onboarding-title" data-i18n-message-id="proxyNowAvailable"></h3>
|
||||
<p data-i18n-message-id="onboarding-8-description"></p>
|
||||
<div class="half-button-wrapper">
|
||||
<a href="#" id="onboarding-done-btn" class="half-onboarding-button keyboard-nav" tabindex="0" data-i18n-message-id="done"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel achievement-panel hide" id="achievement-panel">
|
||||
<img class="onboarding-img" alt="" src="/img/onboarding-3.png" />
|
||||
<h3 class="onboarding-title" data-i18n-message-id="oneHundredTabsHeader"></h3>
|
||||
@@ -110,7 +98,7 @@
|
||||
<div class="panel menu-panel container-panel hide" id="container-panel">
|
||||
<h3 class="title">Multi-Account Containers</h3>
|
||||
<a href="#" class="info-icon" id="info-icon" tabindex="10">
|
||||
<img data-i18n-attribute-message-id="info" data-i18n-attribute="alt" alt="" ="info" src="/img/info-thin-16.svg" / >
|
||||
<img data-i18n-attribute-message-id="info" data-i18n-attribute="alt" alt="" ="info" src="/img/info.svg" / >
|
||||
</a>
|
||||
<hr>
|
||||
<table class="menu">
|
||||
@@ -132,9 +120,6 @@
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<table class="menu">
|
||||
<tr class="menu-item hover-highlight keyboard-nav" id="sort-containers-link" tabindex="0">
|
||||
<td>
|
||||
<img class="menu-icon" alt="" src="/img/sort-16_1.svg" />
|
||||
@@ -154,7 +139,14 @@
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="sub-header" data-i18n-message-id="containers"></div>
|
||||
<div class="sub-header-wrapper flx-row flx-space-between">
|
||||
<div class="sub-header" data-i18n-message-id="containers"></div>
|
||||
<h4 class="moz-vpn-logotype vpn-status-container-list display-none">Mozilla VPN
|
||||
<span class="moz-vpn-connection-status-indicator container-list-status-icon">
|
||||
<span class="tooltip"></span>
|
||||
</span>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="scrollable identities-list">
|
||||
<table class="menu" id="identities-list">
|
||||
<tr class="menu-item hover-highlight">
|
||||
@@ -177,13 +169,26 @@
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="bottom-btn keyboard-nav hover-highlight" id="manage-containers-link" tabindex="0" data-i18n-message-id="manageContainers"></div>
|
||||
<div id="moz-vpn-tout" class="moz-vpn-content expanded">
|
||||
<div class="flx-row button-wrapper">
|
||||
<h4 class="moz-vpn-logo">Mozilla VPN</h4>
|
||||
<button class="controller dismiss-moz-vpn-tout" tab-index="0"></button>
|
||||
</div>
|
||||
<div class="collapsible-content flx-col controller-collapsible-content">
|
||||
<div class="flx-row flx-space-between">
|
||||
<span class="moz-vpn-subtitle" data-i18n-message-id="integrateWithMozillaVpn"></span>
|
||||
</div>
|
||||
<button id="moz-vpn-learn-more" class="moz-vpn-cta primary-cta" data-i18n-message-id="learnMore"></button>
|
||||
</div>
|
||||
</div>
|
||||
<v-padding-hack-footer></v-padding-hack-footer> <!--presents last container from getting covered up by the 'manage containers button' when list is long-->
|
||||
<div class="bottom-btn keyboard-nav controller" id="manage-containers-link" tabindex="0" data-i18n-message-id="manageContainers"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hide panel menu-panel container-info-panel" id="container-info-panel" tabindex="-1">
|
||||
<h3 class="title" id="container-info-title" data-i18n-attribute-message-id="personal"></h3>
|
||||
<button class="btn-return arrow-left keyboard-nav-back" id="close-container-info-panel" tabindex="0"></button>
|
||||
<button class="btn-return arrow-left controller keyboard-nav-back" id="close-container-info-panel" tabindex="0"></button>
|
||||
<hr>
|
||||
<table class="menu">
|
||||
<tr class="menu-item hover-highlight keyboard-nav" id="open-new-tab-in-info" tabindex="0">
|
||||
@@ -220,18 +225,21 @@
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="sub-header" data-i18n-message-id="openTabs"></div>
|
||||
<div class="sub-header-wrapper">
|
||||
<div class="sub-header" data-i18n-message-id="openTabs"></div>
|
||||
</div>
|
||||
<div class="scrollable">
|
||||
<table class="menu" id="container-info-table">
|
||||
<tr class="menu-item hover-highlight keyboard-nav" tabindex="0">
|
||||
<td>
|
||||
<div class="favicon"><img class="menu-icon" src="https://www.mozilla.org/favicon.ico" /></div>
|
||||
<span class="menu-text truncate-text">www.mozillllllllllllllllllllllllllllllllllllla.org</span>
|
||||
<img class="trash-button" src="/img/container-close-tab.svg" />
|
||||
<img class="trash-button" src="/img/close.svg" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<v-padding-hack-footer></v-padding-hack-footer>
|
||||
<div class="bottom-btn keyboard-nav hover-highlight" id="manage-container-link" tabindex="0" data-i18n-message-id="manageThisContainer"></div>
|
||||
</div>
|
||||
|
||||
@@ -240,7 +248,7 @@
|
||||
<h3 class="title" id="picker-title">
|
||||
Multi-Account Containers
|
||||
</h3>
|
||||
<button class="btn-return arrow-left keyboard-nav-back" id="close-container-picker-panel" tabindex="0"></button>
|
||||
<button class="btn-return arrow-left controller keyboard-nav-back" id="close-container-picker-panel" tabindex="0"></button>
|
||||
<hr>
|
||||
<div id="new-container-div"></div>
|
||||
<div class="scrollable identities-list">
|
||||
@@ -262,39 +270,87 @@
|
||||
|
||||
<div class="panel menu-panel edit-container-panel hide" id="edit-container-panel">
|
||||
<h3 class="title" id="container-edit-title" data-i18n-message-id="default"></h3>
|
||||
<button class="btn-return arrow-left" id="close-container-edit-panel"></button>
|
||||
<button class="btn-return arrow-left controller" id="close-container-edit-panel"></button>
|
||||
<hr>
|
||||
<div class="scrollable edit-form">
|
||||
<div class="edit-form">
|
||||
<form id="edit-container-panel-form">
|
||||
<input type="hidden" name="container-id" id="edit-container-panel-usercontext-input" />
|
||||
<fieldset>
|
||||
<legend class="form-header" data-i18n-message-id="name"></legend>
|
||||
<v-padding-hack-4></v-padding-hack-4>
|
||||
<input type="text" name="container-name" id="edit-container-panel-name-input" class="edit-container-panel-name-input" maxlength="25"/>
|
||||
</fieldset>
|
||||
<legend class="form-header" data-i18n-message-id="color"></legend>
|
||||
<fieldset id="edit-container-panel-choose-color" class="radio-choice">
|
||||
<legend class="form-header" data-i18n-message-id="color"></legend>
|
||||
|
||||
</fieldset>
|
||||
<fieldset id="edit-container-panel-choose-icon" class="radio-choice">
|
||||
<legend class="form-header" data-i18n-message-id="icon"></legend>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Proxy (Optional)</legend>
|
||||
<input type="text" name="container-proxy" id="edit-container-panel-proxy" maxlength="50" placeholder="type://host:port"/>
|
||||
<fieldset class="proxies"> <!---- PROXIES -->
|
||||
<input type="text" class="proxies" name="container-proxy" id="edit-container-panel-proxy" maxlength="50" placeholder="type://host:port" hidden/>
|
||||
<input type="text" class="proxies" name="moz-proxy-enabled" id="moz-proxy-enabled" maxlength="5" hidden/>
|
||||
<input type="text" class="proxies" name="country-code" id="country-code-input" maxlength="5" hidden/>
|
||||
<input type="text" class="proxies" name="city-name" id="city-name-input" maxlength="5" hidden/>
|
||||
</fieldset>
|
||||
</form>
|
||||
<div id="edit-container-options">
|
||||
<div class="options-header" data-i18n-message-id="options"></div>
|
||||
<div class="container-options">
|
||||
<input type="checkbox" class="site-isolation" id="site-isolation" name="site-isolation">
|
||||
<label for="site-isolation" class="options-label" data-i18n-message-id="limitToDesignatedSites"></label>
|
||||
<label class="switch">
|
||||
<input id="site-isolation" class="switch-input" name="site-isolation" type="checkbox">
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="container-options options-label manage-assigned-sites-list" id="manage-assigned-sites-list" tabindex="0">
|
||||
</div>
|
||||
<button class="container-options blue-link" id="manage-assigned-sites-list" tabindex="0" data-i18n-message-id="manageSiteList"></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="delete-container">
|
||||
<button class="delete-btn" id="delete-container-button" data-i18n-message-id="deleteThisContainer"></button>
|
||||
</div>
|
||||
<moz-vpn-container-ui class="moz-vpn-controller-content expanded">
|
||||
<div class="flx-row button-wrapper">
|
||||
<h4 class="moz-vpn-logotype">Mozilla VPN
|
||||
<span class="moz-vpn-connection-status-indicator"></span>
|
||||
</h4>
|
||||
<button class="expand-collapse blue-link" tab-index="0">
|
||||
<span data-i18n-message-id="hide" class="hide-label hide-show-label"></span>
|
||||
<span data-i18n-message-id="show" class="show-label hide-show-label"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="collapsible-content flx-col controller-collapsible-conten">
|
||||
<div class="flx-row flx-space-between add-bg-color">
|
||||
<span class="moz-vpn-subtitle"></span>
|
||||
<label class="switch">
|
||||
<input id="moz-vpn-switch" class="moz-vpn-switch switch-input" type="checkbox">
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</div>
|
||||
<button id="get-mozilla-vpn" class="moz-vpn-cta primary-cta" data-i18n-message-id="getMozillaVpn"></button>
|
||||
<button id="moz-vpn-current-server" class="controller">
|
||||
<span class="current-country-flag"></span>
|
||||
<span class="current-city-name"></span>
|
||||
</button>
|
||||
</div>
|
||||
</moz-vpn-container-ui>
|
||||
<button id="advanced-proxy-settings-btn" class="proxy-section advanced-proxy-settings-btn controller">
|
||||
<span class="advanced-proxy-settings-btn-label" data-i18n-message-id="advancedProxySettings"></span>
|
||||
<span id="advanced-proxy-address"></span>
|
||||
</button>
|
||||
<button class="delete-container delete-btn alert-text" id="delete-container-button" data-i18n-message-id="deleteThisContainer"></button>
|
||||
|
||||
<!-- TODO get UX / CONTENT on how to message about unavailable proxies -->
|
||||
<!-- Prevent users from opening containers where proxies are unavailable and which will result in timeouts -->
|
||||
<!-- Provide a way for users to disable Mozilla proxies if they cancel their subscription or somehow lose access -->
|
||||
|
||||
<!-- <div class="modal-warning">
|
||||
<div class="modal-content">
|
||||
<button id="close-proxy-warning" class="x-close modal-clickable">Close</button>
|
||||
<p>This container has been configured to use a Mozilla VPN proxy, but the Mozilla VPN app is off. To access the web via this container, turn Mozilla VPN on or disable the proxy for this container.</p>
|
||||
<button class="disable-proxy modal-clickable">Disable proxy for this container</button>
|
||||
<button id="close-modal" class="modal-clickable" class="disable-proxy">Close</button>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
|
||||
<div class="panel-footer">
|
||||
<a href="#" class="button expanded secondary footer-button cancel-button" id="create-container-cancel-link" data-i18n-message-id="cancel"></a>
|
||||
<a href="#" class="button expanded primary footer-button" id="create-container-ok-link" data-i18n-message-id="ok"></a>
|
||||
@@ -303,7 +359,7 @@
|
||||
|
||||
<div class="panel menu-panel edit-container-assignments hide" id="edit-container-assignments">
|
||||
<h3 class="title" id="edit-assignments-title" data-i18n-message-id="default"></h3>
|
||||
<button class="btn-return arrow-left" id="close-container-assignment-panel"></button>
|
||||
<button class="btn-return arrow-left controller" id="close-container-assignment-panel"></button>
|
||||
<hr>
|
||||
<div class="scrollable edit-sites-assigned">
|
||||
<div class="sub-header" data-i18n-attribute-message-id="sitesAssignedToThisContainer"></div>
|
||||
@@ -322,7 +378,8 @@
|
||||
<div class="hide panel delete-container-panel" id="delete-container-panel">
|
||||
<h3 class="title" id="container-delete-title" data-i18n-message-id="default">
|
||||
</h3>
|
||||
<button class="btn-return arrow-left" id="close-container-delete-panel"></button>
|
||||
|
||||
<button class="btn-return arrow-left controller" id="close-container-delete-panel"></button>
|
||||
<hr>
|
||||
<div class="panel-content delete-container-confirm">
|
||||
<h4 class="delete-container-confirm-title" data-i18n-message-id="removeThisContainer"></h4>
|
||||
@@ -335,8 +392,55 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hide panel moz-vpn-server-list-panel" id="moz-vpn-server-list-panel">
|
||||
<h3 class="title proxy-panel-title" id="vpn-server-list-title" data-i18n-message-id="chooseLocation"></h3>
|
||||
<button class="btn-return arrow-left controller moz-vpn-return" id="moz-vpn-return"></button>
|
||||
<ul id="moz-vpn-server-list" class="moz-vpn-server-list">
|
||||
<template id="server-list-item">
|
||||
<li class="server-list-item" data-country-code="">
|
||||
<button class="flx-row server-city-list-visibility-btn controller">
|
||||
<div class="toggle"></div>
|
||||
<img class="server-country-flag" src="" alt="" />
|
||||
<p class="server-country-name"></p>
|
||||
</button>
|
||||
<ul class="server-city-list"></ul>
|
||||
</li>
|
||||
</template>
|
||||
<template id="server-city-list-items">
|
||||
<li>
|
||||
<label class="server-city-list-item">
|
||||
<input class="server-radio-btn" type="radio" data-country-code="" data-city-name="" checked=""/>
|
||||
<div class="server-radio-control"></div>
|
||||
<span class="server-city-name"></span>
|
||||
</label>
|
||||
</li>
|
||||
</template>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="hide panel advanced-proxy-settings-panel" id="advanced-proxy-settings-panel">
|
||||
<h3 class="title proxy-panel-title" id="advanced-proxy-settings-title">
|
||||
<span data-i18n-message-id="advancedProxySettings"></span>
|
||||
<div class="flx-row">
|
||||
<p data-identity-color="" class="proxy-title-container-color"></p>
|
||||
<span id="proxy-title-container-name"></span>
|
||||
</div>
|
||||
</h3>
|
||||
<button class="btn-return arrow-left controller moz-vpn-return" id="advanced-proxy-settings-return"></button>
|
||||
<form class="advanced-proxy-panel-content">
|
||||
<label class="advanced-proxy-input-label" for="container-proxy" data-i18n-message-id="advancedProxySettings"></label>
|
||||
<div class="advanced-proxy-input-wrapper">
|
||||
<input id="edit-advanced-proxy-input" class="proxy-host primary-input" name="container-proxy" type="text" maxlength="50" placeholder="type://host:port" />
|
||||
<button id="clear-advanced-proxy-input" class="controller" data-i18n-attribute="value" data-i18n-attribute-message-id="clearproxylabel"></button>
|
||||
<span class="proxy-validity" data-i18n-message-id="invalidProxyAlert"></span>
|
||||
</div>
|
||||
<button id="submit-advanced-proxy" class="primary-cta apply-to-container" data-i18n-message-id="applyToThisContainer"></button>
|
||||
<a id="advanced-proxy-settings-learn-more" href="" class="blue-link" data-i18n-message-id="learnMore"></a>
|
||||
</form>
|
||||
</div>
|
||||
<script src="js/utils.js"></script>
|
||||
<script src="js/proxified-containers.js"></script>
|
||||
<script src="js/popup.js"></script>
|
||||
<script src="js/mozillaVpn.js"></script>
|
||||
<script src="js/proxified-containers.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user