Add net neutrality widget

This commit is contained in:
Samuel Shifterovich 2017-07-10 21:36:53 +02:00
parent 153967dfc4
commit 14c07c21b1
13 changed files with 453 additions and 0 deletions

View File

@ -59,6 +59,75 @@
<meta property="og:locale" content="en_US" />
<meta property="og:site_name" content="privacytools.io" />
<!-- July 12 widget -->
<script type="text/javascript">
var _bftn_options = {
/*
* Choose from 'money', 'stop', and 'slow'. Omit this property to get the
* default theme.
*/
theme: 'stop', // @type {string}
/*
* Or, if you want your own custom theme, specify its properties here.
* Unspecified options will fall back to the default values.
*/
theme: {
className: 'stop', // @type {string} will be applied to iframe body tag
logos: ['images/stop.png'], // @type {Array} img src values
headline: 'This site has been blocked by your ISP.', // @type {string} modal headline text
body: 'Well, not yet. But without net neutrality, cable companies could censor websites, favoring their own business partners. We can stop them and keep the Internet open, fast, and awesome if we all contact Congress and the FCC, but we only have a few days left.' // @type {string} modal body text
},
/*
* Choose from 'fp' for Free Press, 'dp' for Demand Progress or
* 'fftf' for Fight for the Future. Omit this property to randomly split
* form submissions between all organizations in the Battle for the Net
* coalition.
*/
org: 'fftf', // @type {string}
/*
* Specify a delay (in milliseconds) before showing the widget. Defaults to one
* second.
*/
delay: 1000, // @type {number}
/*
* Specify a date on which to display the widget. Defaults to July 12th, 2017 if
* omitted. ISO-8601 dates are UTC time, three-argument dates (with a zero-based
* month) are local time.
*/
date: new Date(2017, 6, 12), // @type {Date}
/*
* If you show the modal on your homepage, you should let users close it to
* access your site. However, if you launch a new tab to open the modal, closing
* the modal just leaves the user staring at a blank page. Set this to true to
* prevent closing the modal - the user can close the tab to dismiss it. Defaults
* to false.
*/
uncloseable: false, // @type {Boolean}
/*
* Always show the widget. Useful for testing.
*/
always_show_widget: false // @type {Boolean}
};
</script>
<script>(function(){if(typeof _bftn_options=="undefined")_bftn_options={};if(typeof _bftn_options.iframe_base_path=="undefined")_bftn_options.iframe_base_path='net_neutrality_widget';if(typeof _bftn_options.animation=="undefined")_bftn_options.animation='main';if(typeof _bftn_options.delay=="undefined")_bftn_options.delay=1000;if(typeof _bftn_options.debug=="undefined")_bftn_options.debug=false;if(typeof _bftn_options.date=="undefined")_bftn_options.date=new Date(2017,6,12);if(typeof _bftn_options.always_show_widget=="undefined")_bftn_options.always_show_widget=false;var _bftn_animations={main:{options:{modalAnimation:'main'},init:function(options){for(var k in options)this.options[k]=options[k];return this;},start:function(){var iframe=_bftn_util.createIframe();_bftn_util.bindIframeCommunicator(document.getElementById('_bftn_iframe'),this);},stop:function(){_bftn_util.destroyIframe();}}}
var _bftn_util={injectCSS:function(id,css){var style=document.createElement('style');style.type='text/css';style.id=id;if(style.styleSheet)style.styleSheet.cssText=css;else style.appendChild(document.createTextNode(css));document.head.appendChild(style);},createIframe:function(){var wrapper=document.createElement('div');wrapper.id='_bftn_wrapper';var iframe=document.createElement('iframe');iframe.id='_bftn_iframe';iframe.src=_bftn_options.iframe_base_path+'/iframe.html';iframe.frameBorder=0;iframe.allowTransparency=true;iframe.style.display='none';wrapper.appendChild(iframe);document.body.appendChild(wrapper);return wrapper;},destroyIframe:function(){var iframe=document.getElementById('_bftn_wrapper');iframe.parentNode.removeChild(iframe);},bindIframeCommunicator:function(iframe,animation){function sendMessage(requestType,data){data||(data={});data.requestType=requestType;data.BFTN_WIDGET_MSG=true;iframe.contentWindow.postMessage(data,'*');}
var eventMethod=window.addEventListener?"addEventListener":"attachEvent";var eventer=window[eventMethod];var messageEvent=eventMethod=="attachEvent"?"onmessage":"message";eventer(messageEvent,function(e){if(!e.data||!e.data.BFTN_IFRAME_MSG)return;delete e.data.BFTN_IFRAME_MSG;switch(e.data.requestType){case'getAnimation':iframe.style.display='block';sendMessage('putAnimation',animation.options);break;case'stop':animation.stop();break;}},false);},setCookie:function(name,val,exdays){var d=new Date();d.setTime(d.getTime()+(exdays*24*60*60*1000));var expires="expires="+d.toGMTString();document.cookie=name+"="+ val+"; "+ expires;},getCookie:function(cname){var name=cname+"=";var ca=document.cookie.split(';');var c;for(var i=0;i<ca.length;i++){c=ca[i].trim();if(c.indexOf(name)==0){return c.substring(name.length,c.length);}}
return"";},log:function(){if(_bftn_options.debug)console.log.apply(console,arguments);}}
function onDomContentLoaded(){var images=new Array();var preloaded=0;function init(){setTimeout(function(){_bftn_animations[_bftn_options.animation].init(_bftn_options).start();},_bftn_options.delay);}
function preload(){for(i=0;i<preload.arguments.length;i++){images[i]=new Image()
images[i].src=_bftn_options.iframe_base_path+'/images/'+ preload.arguments[i]
images[i].onload=function(){preloaded++;_bftn_util.log('Preloaded '+ preloaded+' images.');if(preloaded==images.length){_bftn_util.log('DONE PRELOADING IMAGES. Starting animation in '+ _bftn_options.delay+' milliseconds.');init();}}}}
if(!_bftn_options.always_show_widget&&window.location.href.indexOf('ALWAYS_SHOW_BFTN_WIDGET')===-1){if(_bftn_util.getCookie('_BFTN_WIDGET_SHOWN'))return;var today=new Date();if(today.getFullYear()!==_bftn_options.date.getFullYear()||today.getMonth()!==_bftn_options.date.getMonth()||today.getDate()!==_bftn_options.date.getDate()){return;}}
_bftn_util.setCookie('_BFTN_WIDGET_SHOWN','true',365);_bftn_util.injectCSS('_bftn_iframe_css','#_bftn_wrapper { position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 20000; -webkit-overflow-scrolling: touch; overflow-y: scroll; } #_bftn_iframe { width: 100%; height: 100%; }');init();}
switch(document.readyState){case'complete':case'loaded':case'interactive':onDomContentLoaded();break;default:if(typeof document.addEventListener==='function'){document.addEventListener('DOMContentLoaded',onDomContentLoaded,false);}}})();</script>
</head>
<body>

View File

@ -0,0 +1,122 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="gutter table">
<div id="background" class="cell">
<div class="modal fade">
<main>
<a id="close" href="#"><img src="images/close.svg" alt="Close"/></a>
<section id="loading" class="hidden invisible fade">
<div class="table">
<div class="cell">
<img src="images/slow.png">
</div>
</div>
</section>
<section id="main" class="fade">
<div id="logos"></div>
<h1 id="headline"></h1>
<p id="content"></p>
<form id="form" method="post" action="https://queue.fightforthefuture.org/action" accept-charset="UTF-8">
<input type="text" name="member[first_name]" placeholder="Full Name" title="Full Name" autocomplete="name" required>
<input type="email" name="member[email]" placeholder="Email" title="Email" required>
<div class="flex">
<input type="text" name="member[street_address]" placeholder="Street Address" title="Street Address" required>
<input id="postcode" type="text" name="member[postcode]" placeholder="Postcode" title="Postcode" required>
</div>
<input id="phone" type="tel" name="member[phone]" placeholder="Phone # (to volunteer)" title="Phone">
<input type="hidden" name="subject" value="Protect Net Neutrality!"/>
<textarea name="action_comment" title="Comment" required>The FCC's Open Internet Rules (net neutrality rules) are extremely important to me. I urge you to protect them.&#013;&#010;&#013;&#010;I don't want ISPs to have the power to block websites, slow them down, give some sites an advantage over others, or split the Internet into "fast lanes" for companies that pay and "slow lanes" for the rest.&#013;&#010;&#013;&#010;Now is not the time to let giant ISPs censor what we see and do online.&#013;&#010;&#013;&#010;Censorship by ISPs is a serious problem. Comcast has throttled Netflix, AT&T blocked FaceTime, Time Warner Cable throttled the popular game League of Legends, and Verizon admitted it will introduce fast lanes for sites that pay-and slow lanes for everyone else-if the FCC lifts the rules. This hurts consumers and businesses large and small.&#013;&#010;&#013;&#010;Courts have made clear that if the FCC ends Title II classification, the FCC must let ISPs offer "fast lanes" to websites for a fee.&#013;&#010;&#013;&#010;Chairman Pai has made clear that he intends to do exactly this.&#013;&#010;&#013;&#010;But if some companies can pay our ISPs to have their content load faster, startups and small businesses that can't pay those fees won't be able to compete. You will kill the open marketplace that has enabled millions of small businesses and created the 5 most valuable companies in America-just to further enrich a few much less valuable cable giants famous for sky-high prices and abysmal customer service.&#013;&#010;&#013;&#010;Internet providers will be able to impose a private tax on every sector of the American economy.&#013;&#010;&#013;&#010;Moreover, under Chairman Pai's plan, ISPs will be able to make it more difficult to access political speech that they don't like. They'll be able to charge fees for website delivery that would make it harder for blogs, nonprofits, artists, and others who can't pay up to have their voices heard.&#013;&#010;&#013;&#010;I'm sending this to the FCC's open proceeding, but I worry that Chairman Pai, a former Verizon lawyer, has made his plans and will ignore me and millions of other Americans.&#013;&#010;&#013;&#010;So I'm also sending this to my members of Congress. Please publicly support the FCC's existing net neutrality rules based on Title II, and denounce Chairman Pai's plans. Do whatever you can to dissuade him.&#013;&#010;&#013;&#010;Thank you!</textarea>
<input type="submit" value="Send Letter"/>
<div class="disclaimer">
<p id="rotation"></p>
<p><a href="https://www.battleforthenet.com/privacy/" target="_blank">Privacy Policy</a> | <a href="https://github.com/fightforthefuture/battleforthenet-widget#how-to-install-the-widget">Get the code <img class="github" src="images/github.svg" alt="GitHub"/></a> | <a href="https://github.com/fightforthefuture/battleforthenet-widget/issues">Issues?</a></p>
</div>
<input class="hidden" type="checkbox" checked="checked" name="hp_enabled"/>
<input class="hidden" type="checkbox" name="hp_disabled"/>
<input class="hidden" type="text" name="guard"/>
<input type="hidden" name="contact_congress" value="1"/>
<input type="hidden" name="fcc_ecfs_docket" value="17-108"/>
<input type="hidden" name="an_tags" value="[&quot;net-neutrality&quot;]"/>
<input type="hidden" name="an_petition_id" value="5de97f0d-fd08-4b3a-904d-f808e380dbd6"/>
<input id="source" type="hidden" name="subscription[source]" value=""/>
</form>
</section>
<section id="prompt" class="prompt hidden invisible fade">
<h1>Thanks for emailing them!<br/>Now, can you call?</h1>
<p>Enter your number and we'll connect you to Congress and the FCC. (We'll also give you suggestions on what to say.)</p>
<form id="call" method="post" action="https://call-congress.fightforthefuture.org/create" accept-charset="UTF-8">
<input id="userPhone" type="phone" name="userPhone" placeholder="Phone" title="Phone" required>
<input id="zipcode" type="hidden" name="zipcode">
<input type="hidden" name="campaignId" value="battleforthenet-2017">
<input type="submit" value="Call Now"/>
<div class="disclaimer">
<p>Your phone number will only be used to make this call. <a href="https://www.battleforthenet.com/privacy/" target="_blank">Privacy Policy</a></p>
</div>
</form>
</section>
<section id="script" class="hidden invisible fade">
<h1>Calling you now!</h1>
<h2>Be polite, introduce yourself, and say:</h2>
<h2>&ldquo;I support the *existing* Title II net neutrality rules and I would like you to publicly oppose the FCCs plan to repeal them.&rdquo;</h2>
</section>
</main>
<footer id="footer" class="hidden invisible">
<h3>Other ways to help us win...</h3>
<ul>
<li>
<a href="https://www.facebook.com/sharer.php?u=https://www.battleforthenet.com/" target="_blank">
<button class="facebook">
<img src="images/facebook.svg"/>
<span>Share</span>
</button>
</a>
</li>
<li>
<a href="https://twitter.com/intent/tweet?related=fightfortheftr&text=What%0A%0A%20if%0A%0A%20the%0A%0A%20Internet%0A%0A%20was%0A%0A%20so%0A%0A%20slow%0A%0A%20it%0A%0A%20loaded%0A%0A%20one%0A%0A%20word%0A%0A%20at%0A%0A%20a%0A%0A%20time?%0A%0A%20Defend %23NetNeutrality. https://www.battleforthenet.com" target="_blank">
<button class="twitter">
<img src="images/twitter.svg"/>
<span>Tweet</span>
</button>
</a>
</li>
<li>
<a id="protest" href="https://actionnetwork.org/event_campaigns/show-up-and-speak-out-for-net-neutrality" target="_blank">
<button class="protest">
<img src="images/pin.svg"/>
<span>Protest</span>
</button>
</a>
</li>
<li>
<a id="donate" href="https://donate.fightforthefuture.org/" target="_blank">
<button class="donate">
<img src="images/heart.svg"/>
<span>Donate</span>
</button>
</a>
</li>
<li>
<a href="https://video.battleforthenet.com/" target="_blank">
<button class="video">
<img src="images/video.svg"/>
<span>Send Video</span>
</button>
</a>
</li>
</ul>
</footer>
</div>
</div>
</div>
<script type="text/javascript" src="script.js"></script>
</body>
</html>

View File

@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="63" height="63" viewBox="0 0 63 63">
<metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""/>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?></metadata>
<defs>
<style>
.cls-1 {
fill: #fff;
fill-rule: evenodd;
}
</style>
</defs>
<path class="cls-1" d="M2021.97,3592.24l-12.47,12.48-12.47-12.48-1.79,1.79,12.48,12.47-12.48,12.47,1.79,1.79,12.47-12.48,12.47,12.48,1.78-1.79-12.47-12.47,12.47-12.47ZM2009.5,3575a31.5,31.5,0,1,0,31.5,31.5A31.5,31.5,0,0,0,2009.5,3575Zm0,60.48a28.98,28.98,0,1,1,28.98-28.98A29.051,29.051,0,0,1,2009.5,3635.48Z" transform="translate(-1978 -3575)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="37" viewBox="0 0 18 37">
<metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""/>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?></metadata>
<defs>
<style>
.cls-1 {
fill: #fff;
fill-rule: evenodd;
}
</style>
</defs>
<path class="cls-1" d="M1081.86,9917.11v-2.95a1.6,1.6,0,0,1,1.71-1.79h4.33v-6.34l-5.96-.03c-6.6,0-8.12,4.74-8.12,7.76v3.35H1070v7.4h3.85v18.5h7.71v-18.5h5.73l0.28-2.91,0.43-4.49h-6.14Z" transform="translate(-1070 -9906)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1 @@
<svg width="2500" height="2432" viewBox="0 0 256 249" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet"><g fill="#b1afda"><path d="M127.505 0C57.095 0 0 57.085 0 127.505c0 56.336 36.534 104.13 87.196 120.99 6.372 1.18 8.712-2.766 8.712-6.134 0-3.04-.119-13.085-.173-23.739-35.473 7.713-42.958-15.044-42.958-15.044-5.8-14.738-14.157-18.656-14.157-18.656-11.568-7.914.872-7.752.872-7.752 12.804.9 19.546 13.14 19.546 13.14 11.372 19.493 29.828 13.857 37.104 10.6 1.144-8.242 4.449-13.866 8.095-17.05-28.32-3.225-58.092-14.158-58.092-63.014 0-13.92 4.981-25.295 13.138-34.224-1.324-3.212-5.688-16.18 1.235-33.743 0 0 10.707-3.427 35.073 13.07 10.17-2.826 21.078-4.242 31.914-4.29 10.836.048 21.752 1.464 31.942 4.29 24.337-16.497 35.029-13.07 35.029-13.07 6.94 17.563 2.574 30.531 1.25 33.743 8.175 8.929 13.122 20.303 13.122 34.224 0 48.972-29.828 59.756-58.22 62.912 4.573 3.957 8.648 11.717 8.648 23.612 0 17.06-.148 30.791-.148 34.991 0 3.393 2.295 7.369 8.759 6.117 50.634-16.879 87.122-64.656 87.122-120.973C255.009 57.085 197.922 0 127.505 0"/><path d="M47.755 181.634c-.28.633-1.278.823-2.185.389-.925-.416-1.445-1.28-1.145-1.916.275-.652 1.273-.834 2.196-.396.927.415 1.455 1.287 1.134 1.923M54.027 187.23c-.608.564-1.797.302-2.604-.589-.834-.889-.99-2.077-.373-2.65.627-.563 1.78-.3 2.616.59.834.899.996 2.08.36 2.65M58.33 194.39c-.782.543-2.06.034-2.849-1.1-.781-1.133-.781-2.493.017-3.038.792-.545 2.05-.055 2.85 1.07.78 1.153.78 2.513-.019 3.069M65.606 202.683c-.699.77-2.187.564-3.277-.488-1.114-1.028-1.425-2.487-.724-3.258.707-.772 2.204-.555 3.302.488 1.107 1.026 1.445 2.496.7 3.258M75.01 205.483c-.307.998-1.741 1.452-3.185 1.028-1.442-.437-2.386-1.607-2.095-2.616.3-1.005 1.74-1.478 3.195-1.024 1.44.435 2.386 1.596 2.086 2.612M85.714 206.67c.036 1.052-1.189 1.924-2.705 1.943-1.525.033-2.758-.818-2.774-1.852 0-1.062 1.197-1.926 2.721-1.951 1.516-.03 2.758.815 2.758 1.86M96.228 206.267c.182 1.026-.872 2.08-2.377 2.36-1.48.27-2.85-.363-3.039-1.38-.184-1.052.89-2.105 2.367-2.378 1.508-.262 2.857.355 3.049 1.398"/></g></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="43" height="37" viewBox="0 0 43 37">
<metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""/>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?></metadata>
<defs>
<style>
.cls-1 {
fill: #ff2984;
fill-rule: evenodd;
}
</style>
</defs>
<path class="cls-1" d="M1480.7,9980.13c-1.79,2.14-3.51,4.06-17.22,14.87h0c-13.77-10.81-15.42-12.73-17.21-14.87-6.6-7.83-4.81-16.65.43-20.35,4.66-3.27,11.26-2.06,16.78,4.2,5.53-6.19,12.13-7.47,16.79-4.2C1485.51,9963.48,1487.37,9972.3,1480.7,9980.13Z" transform="translate(-1442 -9958)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="46" viewBox="0 0 30 46">
<metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""/>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?></metadata>
<defs>
<style>
.cls-1 {
fill: #6679fc;
fill-rule: evenodd;
}
</style>
</defs>
<path class="cls-1" d="M28.389,8.384A14.944,14.944,0,0,0,8.229,1.625,15.5,15.5,0,0,0,1.556,22.044C5.171,29.226,13,44.763,13,44.763a2.19,2.19,0,0,0,3.939,0s9.315-18.4,11.447-22.719A15.237,15.237,0,0,0,28.389,8.384ZM15,23.17a7.933,7.933,0,1,1,7.832-7.933A7.9,7.9,0,0,1,15,23.17Z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="43" height="35" viewBox="0 0 43 35">
<metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""/>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?></metadata>
<defs>
<style>
.cls-1 {
fill: #fff;
fill-rule: evenodd;
}
</style>
</defs>
<path class="cls-1" d="M1364,9912.14a17.513,17.513,0,0,1-5.05,1.4,8.847,8.847,0,0,0,3.87-4.9,17.6,17.6,0,0,1-5.6,2.15,8.836,8.836,0,0,0-15.27,6.04,9.067,9.067,0,0,0,.23,2.02,25.107,25.107,0,0,1-18.19-9.23,8.822,8.822,0,0,0,2.74,11.79,8.742,8.742,0,0,1-4.01-1.11v0.12a8.625,8.625,0,0,0,.61,3.19,8.842,8.842,0,0,0,6.48,5.48,9.914,9.914,0,0,1-2.33.3,10.045,10.045,0,0,1-1.66-.15,8.842,8.842,0,0,0,8.23,6.13,17.629,17.629,0,0,1-10.94,3.79,21.165,21.165,0,0,1-2.12-.13,25.1,25.1,0,0,0,13.54,3.96c13.78,0,22.27-9.72,24.49-19.79a23.977,23.977,0,0,0,.61-5.34c0-.38,0-0.77-0.02-1.14a17.867,17.867,0,0,0,4.39-4.58h0Z" transform="translate(-1321 -9908)"/>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="24" viewBox="0 0 40 24">
<metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""/>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?></metadata>
<defs>
<style>
.cls-1 {
fill: #ff4b3d;
fill-rule: evenodd;
}
</style>
</defs>
<path class="cls-1" d="M1749.39,9966.36l-8.45,4.48v-5.53a1.323,1.323,0,0,0-1.31-1.32H1713.3a1.321,1.321,0,0,0-1.3,1.32v21.38a1.321,1.321,0,0,0,1.3,1.32h26.33a1.323,1.323,0,0,0,1.31-1.32v-5.53l8.45,4.48a1.77,1.77,0,0,0,2.61-1.57v-16.14A1.77,1.77,0,0,0,1749.39,9966.36Z" transform="translate(-1712 -9964)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,26 @@
(function(){var transitionTimer;var loading=document.getElementById('loading');var main=document.getElementById('main');var callPrompt=document.getElementById('prompt');var callScript=document.getElementById('script');function getOrg(org){function getRandomOrg(){var coinToss=Math.random();if(coinToss<.20){return'fp';}else if(coinToss<.60){return'dp';}else{return'fftf';}}
var orgs={'dp':{code:'dp',name:'Demand Progress',url:'https://demandprogress.org/',donate:'https://secure.actblue.com/contribute/page/demanding'},'fp':{code:'fp',name:'Free Press',url:'https://www.freepress.net/',donate:'https://freepress.actionkit.com/donate/single/'},'fftf':{code:'fftf',name:'Fight for the Future',url:'https://www.fightforthefuture.org/',donate:'https://donate.fightforthefuture.org/'}};return orgs.hasOwnProperty(org)?orgs[org]:orgs[getRandomOrg()];}
function getTheme(theme){var themeObj;switch(typeof theme==='string'?theme:''){case'money':themeObj={className:theme,logos:['images/money.png'],headline:'Please upgrade your plan to proceed.',body:'Just kidding. You can still get to this site *for now*. But if the FCC ends net neutrality, your cable company could charge you extra fees just to use the websites and apps you want. We can stop them and keep the Internet open, fast, and awesome if we all contact the U.S. Congress and the FCC, but we only have a few days left.'};break;case'stop':themeObj={className:theme,logos:['images/stop.png'],headline:'This site has been blocked by your ISP.',body:'Well, not yet. But without net neutrality, cable companies could censor websites, favoring their own business partners. We can stop them and keep the Internet open, fast, and awesome if we all contact the U.S. Congress and the FCC, but we only have a few days left.'};break;case'slow':themeObj={className:theme,logos:['images/slow.png'],headline:'Sorry, we\'re stuck in the slow lane.',body:'Well, not yet. Cable companies want to get rid of net neutrality, so they can slow sites like ours to a crawl and shake us down for extra fees just to reach you. If they get their way, the Internet will never be the same. We can stop them and keep the web fast, open, and awesome if we all contact the U.S. Congress and the FCC, but we only have a few days left.'};break;case'without':default:themeObj={className:'without',logos:['images/slow.png','images/stop_gradient.png','images/money_gradient.png'],headline:'This is the web without net neutrality.',body:'Cable companies want to get rid of net neutrality. Without it, sites like ours could be censored, slowed down, or forced to charge extra fees. We can stop them and keep the Internet open, fast, and awesome if we all contact Congress and the FCC, but we only have a few days left.'};break;}
if(typeof theme=='object'){var keys=Object.keys(theme);var key;for(var i=0;i<keys.length;i++){key=keys[i];themeObj[key]=theme[key];}}
return themeObj;}
function renderContent(theme){document.body.classList.add(theme.className);var fragment=document.createDocumentFragment();var img;for(var i=0;i<theme.logos.length;i++){img=document.createElement('img');img.setAttribute('src',theme.logos[i]);fragment.appendChild(img);}
document.getElementById('logos').appendChild(fragment);document.getElementById('headline').textContent=theme.headline;var bodyFragment=document.createDocumentFragment();bodyFragment.textContent=theme.body+' ';var learnMore=document.createElement('a');learnMore.setAttribute('href','https://www.battleforthenet.com/#widget-learn-more');learnMore.setAttribute('target','_blank');learnMore.textContent='Learn more.';bodyFragment.appendChild(learnMore);document.getElementById('content').appendChild(bodyFragment);}
function renderOrgRotation(org){var fragment=document.createDocumentFragment();var orgInput=document.createElement('input');orgInput.setAttribute('type','hidden');orgInput.setAttribute('name','org');orgInput.setAttribute('value',org.code);fragment.appendChild(orgInput);var checkbox=document.createElement('input');checkbox.setAttribute('type','checkbox');checkbox.setAttribute('name','opt_in');checkbox.setAttribute('checked','checked');fragment.appendChild(checkbox);var orgLink=document.createElement('a');orgLink.setAttribute('href',org.url);orgLink.setAttribute('target','_blank');orgLink.textContent=org.name;fragment.appendChild(orgLink);var disclaimer=document.createElement('span');disclaimer.textContent=' will contact you about future campaigns. FCC comments are public records.';fragment.appendChild(disclaimer);document.getElementById('rotation').appendChild(fragment);var donate=document.getElementById('donate');if(org.donate)donate.setAttribute('href',org.donate);}
function addCloseListeners(){document.getElementById('close').addEventListener('mousedown',function(e){e.preventDefault();sendMessage('stop');});document.getElementById('background').addEventListener('mousedown',function(e){if(e.target==document.getElementById('background'))sendMessage('stop');});}
function sendMessage(requestType,data){data||(data={});data.requestType=requestType;data.BFTN_IFRAME_MSG=true;parent.postMessage(data,'*');}
var animations={main:{options:{debug:false,},init:function(options){for(var k in options)this.options[k]=options[k];renderContent(getTheme(this.options.theme));renderOrgRotation(getOrg(this.options.org));if(this.options.uncloseable){document.getElementById('close').classList.add('hidden');}else{addCloseListeners();}
return this;},log:function(){if(this.options.debug)console.log.apply(console,arguments);}}}
window.addEventListener('message',function(e){if(!e.data||!e.data.BFTN_WIDGET_MSG)return;delete e.data.BFTN_WIDGET_MSG;switch(e.data.requestType){case'putAnimation':animations[e.data.modalAnimation].init(e.data);break;}});function onError(e){}
function onSuccess(e){if(transitionTimer)clearTimeout(transitionTimer);if(loading){loading.addEventListener('transitionend',showAfterAction);loading.classList.add('invisible');}
transitionTimer=setTimeout(showAfterAction,500);}
function showAfterAction(e){if(transitionTimer)clearTimeout(transitionTimer);if(callPrompt)callPrompt.classList.remove('invisible');if(main){main.classList.add('invisible');main.classList.add('hidden');}
if(loading)loading.classList.add('hidden');}
var form=document.getElementById('form');form.addEventListener('submit',function submitForm(e){e.preventDefault();var userPhone=document.getElementById('userPhone');var phone=document.getElementById('phone');if(userPhone&&phone&&phone.value)userPhone.value=phone.value;var postcode=document.getElementById('postcode');var protest=document.getElementById('protest');if(postcode&&postcode.value){protest.setAttribute('href',[protest.href,'?zipcode=',postcode.value].join(''));}
var zipcode=document.getElementById('zipcode');if(postcode&&postcode.value&&zipcode)zipcode.value=postcode.value;var footer=document.getElementById('footer');if(footer){footer.classList.remove('hidden');footer.classList.remove('invisible');}
if(callPrompt)callPrompt.classList.remove('hidden');if(main)main.classList.add('hidden');document.getElementById('source').value=document.referrer;var formData=new FormData(form);var xhr=new XMLHttpRequest();xhr.addEventListener('error',onSuccess);xhr.addEventListener('load',onSuccess);xhr.open(form.getAttribute('method'),form.getAttribute('action'),true);xhr.send(formData);if(loading){loading.classList.remove('hidden');loading.classList.remove('invisible');}});function showCallScript(e){if(transitionTimer)clearTimeout(transitionTimer);if(callScript){callScript.classList.remove('hidden');callScript.classList.remove('invisible');}
if(callPrompt){callPrompt.classList.add('invisible');callPrompt.classList.add('hidden');}
if(loading)loading.classList.add('hidden');}
function onCall(e){if(transitionTimer)clearTimeout(transitionTimer);if(loading){loading.addEventListener('transitionend',showCallScript);loading.classList.add('invisible');}
transitionTimer=setTimeout(showCallScript,500);}
var call=document.getElementById('call');call.addEventListener('submit',function submitCall(e){e.preventDefault();var formData=new FormData(call);var xhr=new XMLHttpRequest();if(loading){loading.addEventListener('transitionend',onCall);loading.classList.remove('hidden');loading.classList.remove('invisible');}
transitionTimer=setTimeout(onCall,500);if(callPrompt)callPrompt.classList.add('invisible');xhr.open(call.getAttribute('method'),call.getAttribute('action'),true);xhr.send(formData);});sendMessage('getAnimation');})();

File diff suppressed because one or more lines are too long