html page to stream

This commit is contained in:
simon 2020-09-03 20:34:38 +03:00
parent 2869cae3a0
commit c81e5a88ae
31 changed files with 34139 additions and 47 deletions

View file

@ -0,0 +1,110 @@
body {
margin:0;
padding:20px;
max-width: 1250px;
}
table {
border-collapse: collapse;
}
.send-private-giveaway, .register-giveaway, .access-server-logs, .update-btc-report {
margin: 20px 0px;
border: 1px solid #e6e6e6;
width: 50%;
}
.wrapper {
list-style-type: none;
padding: 0;
border-radius: 3px;
}
.form-row {
display: flex;
justify-content: flex-start;
align-items: flex-start;
padding: 5px;
text-align: left;
}
.form-row > label {
flex: 1;
}
.form-row > input {
flex: 1;
width: auto;
}
.form-row > button {
flex: 1;
}
th, td {
text-align: left;
padding: 8px;
}
tr:nth-child(even){background-color: #f2f2f2}
tr:hover {background-color: #d5d5d5;}
th {
background-color: #4CAF50;
color: white;
}
.loader,
.loader:before,
.loader:after {
border-radius: 50%;
width: 2.5em;
height: 2.5em;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
-webkit-animation: load7 1.8s infinite ease-in-out;
animation: load7 1.8s infinite ease-in-out;
}
.loader {
color: #00ffff;
font-size: 10px;
margin: 25px auto;
position: relative;
text-indent: -9999em;
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
-webkit-animation-delay: -0.16s;
animation-delay: -0.16s;
}
.loader:before,
.loader:after {
content: '';
position: absolute;
top: 0;
}
.loader:before {
left: -3.5em;
-webkit-animation-delay: -0.32s;
animation-delay: -0.32s;
}
.loader:after {
left: 3.5em;
}
@-webkit-keyframes load7 {
0%,
80%,
100% {
box-shadow: 0 2.5em 0 -1.3em;
}
40% {
box-shadow: 0 2.5em 0 0;
}
}
@keyframes load7 {
0%,
80%,
100% {
box-shadow: 0 2.5em 0 -1.3em;
}
40% {
box-shadow: 0 2.5em 0 0;
}
}

View file

@ -0,0 +1,606 @@
::-webkit-input-placeholder {color:#000;}
::-moz-placeholder {color:#000;}
:-moz-placeholder {color:#000;}
:-ms-input-placeholder {color:#000;}
h2, h3 {
font-size: 20px;
}
.nav-holder {
padding: 0 20px;
background: #ff8e01;
}
.navigation {
max-width: 1100px;
margin: 0 auto;
}
.navigation li {
margin-right: 30px;
}
.navigation a {
display: block;
padding: 30px 0;
color: rgba(255, 255, 255, 0.5);
font-size: 15px;
font-weight: bold;
text-decoration: none;
text-transform: uppercase;
border-bottom: 4px solid #ff8e01;
outline: none;
}
.navigation a:hover {
color: #fff;
}
.navigation li {
display: inline-block;
vertical-align: middle;
}
.navigation li.active a,
.navigation li.active a:focus,
.navigation li.active a:hover {
color: #fff;
border-bottom: 4px solid #4464ad;
}
#month-selection {
margin-bottom: 10px;
}
#region-selection {
margin-bottom: 10px;
}
.infobox {
font-size: 16px;
line-height: 150%;
}
.infobox h2 {
font-size: 33px;
}
.infobox h3 {
margin-top: 35px;
font-weight: bold;
}
.infobox ul {
list-style-type: disc;
list-style-position: inside;
}
.report-period-group {
padding: 20px;
background: #f2f2f2;
}
.report-period-group.supporters {
float: left;
width: 30%;
height: 120px;
}
.supporters-total {
float: right;
width: 70%;
height: 120px;
border: 1px solid #ddd;
border-left: 0 none;
}
.supporters-total-holder:after {
content: '';
display: table;
clear: both;
float: none;
}
.report-group {
display: inline-block;
vertical-align: top;
}
.report-group.period {
width: 100%;
max-width: 250px;
margin-right: 40px;
}
.supporters .report-group.period {
margin-right: 0;
}
.report-group.region {
width: 100%;
max-width: 420px;
}
.styled-select {
position: relative;
width: 100%;
height: 42px;
overflow: hidden;
background: #fff;
border: 1px solid #ccc;
border-radius: 2px;
}
.styled-select:before {
z-index: 0;
content: '';
position: absolute;
top: 10px;
left: 10px;
width: 20px;
height: 20px;
background: url('../images/main-sprite.png') no-repeat;
}
.styled-select:after {
z-index: 0;
content: '';
position: absolute;
top: 12px;
right: 10px;
width: 20px;
height: 20px;
background: url('../images/main-sprite.png') no-repeat -200px -80px;
}
.report-group.period .styled-select:before {
background-position: -251px -110px;
}
.report-group.region .styled-select:before {
background-position: -290px -110px;
}
.report-group.round .styled-select:before {
background-position: -290px -110px;
}
.styled-select select {
position: relative;
z-index: 1;
display: block;
width: 110%;
height: 42px;
padding: 10px 45px 10px 35px;
border: 0 none;
border-radius: 0;
background: transparent;
text-overflow: ellipsis;
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #000;
}
.report-total-div {
border: 1px solid #e6e6e6;
border-top: 0 none;
}
.overview-body {
padding: 15px 15px 0;
}
.overview-hint {
font-weight: bold;
margin: 5px 0 20px;
}
.overview-hint span {
color: #484dde;
}
.overview {
position: relative;
display: inline-block;
vertical-align: top;
padding-left: 50px;
margin-right: 80px;
margin-bottom: 20px;
text-align: left;
}
.overview:last-child {
margin-right: 0;
}
.overview:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 40px;
background: url('../images/main-sprite.png') no-repeat;
}
.overview-changes:before {
background-position: -0px -280px;
}
.overview-users:before {
background-position: -40px -280px;
}
.overview-region:before {
background-position: -80px -280px;
}
.overview-active_supporters:before {
background-position: -40px -280px;
}
.overview-register_supporters:before {
background-position: -120px -280px;
}
.overview-btc:before {
background-position: -160px -280px;
}
.overview-total_weight:before {
background-position: -200px -280px;
}
.overview p {
margin: 0;
margin-bottom: -10px;
font-size: 30px;
font-weight: bold;
line-height: 1.2;
}
.overview span {
color: #999;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 2px;
}
#report-ranking,
#users-ranking,
#support-country-table-header,
#support-table-header,
#recipients-table-header {
margin-top: 50px;
font-size: 20px;
}
#report-ranking span {
display: block;
font-size: 13px;
font-weight: normal;
color: #999;
text-transform: uppercase;
}
.table {
font-size: 14px;
}
.table thead span {
display: block;
color: #999;
font-size: 11px;
text-transform: uppercase;
}
.table tbody tr td {
padding: 12px;
font-weight: bold;
}
.table-bordered > thead > tr > td,
.table-bordered > thead > tr > th {
vertical-align: middle;
border-bottom-color: #ff8f00;
font-weight: normal;
}
.table-controls.hidden {
display: none;
}
.table-controls {
position: relative;
padding-right: 185px;
}
.tc.search {
position: relative;
}
.tc.search:before {
content: '';
position: absolute;
top: 10px;
left: 12px;
width: 20px;
height: 20px;
background: url('../images/main-sprite.png') no-repeat -300px -80px;
}
.tc.search input {
max-width: 350px;
height: 42px;
padding-left: 40px;
border-radius: 2px;
}
.tc.entries {
position: absolute;
top: 0;
right: 0;
width: 100%;
max-width: 180px;
font-size: 14px;
}
.tc.entries .styled-select {
display: inline-block;
vertical-align: middle;
width: 80px;
}
.tc.entries .styled-select:before {
content: none;
}
.tc.entries label {
display: block;
text-align: right;
}
.tc.entries select {
display: inline-block;
vertical-align: middle;
width: 125%;
padding: 10px 0 10px 10px;
}
.sorting_desc,
.sorting_asc,
.sorting {
position: relative;
}
.sorting_desc:after,
.sorting_asc:after {
content: '' !important;
position: absolute;
top: 50%;
right: 0;
width: 20px;
height: 20px;
background: url('../images/main-sprite.png') no-repeat;
transform: translate(0, -50%);
}
.sorting_asc:after {
background-position: -160px -140px;
}
.sorting_desc:after {
background-position: -200px -140px;
}
.sorting:after {
content: '' !important;
position: absolute;
top: 50%;
right: 0;
width: 20px;
height: 20px;
background: url('../images/main-sprite.png') no-repeat -180px -140px;
transform: translate(0, -50%);
}
.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
background-color: #ff8f00;
border-color: #ff8f00;
}
.pagination > li > a,
.pagination > li > span {
color: #000;
}
.pagination > li > a:hover,
.pagination > li > span:hover {
background-color: rgba(255, 143, 0, 0.5);
border-color: #ff8f00;
color: #fff;
}
.registration {
display: inline-block;
vertical-align: top;
width: 49%;
min-height: 420px;
padding: 20px;
margin-top: 20px;
margin-right: 1%;
background: #f2f2f2;
}
.registration.contributor-registration {
margin-right: 0;
}
.registration h4 {
margin-top: 0;
font-size: 20px;
}
.recipient-registration label {
margin-top: 10px;
font-size: 14px;
font-weight: normal;
}
.recipient-registration .form-control {
margin: 0;
border-radius: 2px;
height: 42px;
padding-left: 40px;
}
.recipient-registration .input-holder {
position: relative;
}
#agree_osm_live {
margin-left: 5px;
margin-top: 3px;
}
.agree_osm_live_label {
position: relative;
cursor: pointer;
font-size: 14px;
margin-left: 7px;
margin-bottom: 15px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
.recipient-registration .input-holder:before {
content: '';
position: absolute;
top: 10px;
left: 12px;
width: 20px;
height: 20px;
background: url('../images/main-sprite.png') no-repeat;
}
.recipient-registration .input-holder.input-user:before {
background-position: -180px -80px;
}
.recipient-registration .input-holder.input-pass:before {
height: 21px;
background-position: -172px -109px;
}
.recipient-registration .input-holder.input-bitcoin:before {
background-position: -210px -110px;
}
.recipient-registration .input-hint {
color: #999;
line-height: 1.4;
}
.recipient-registration .btn,
.recipient-registration .btn:active {
background: #575bde;
border: 1px solid #3d42bf;
color: #fff;
font-weight: bold;
}
.registration-badges img {
border: none;
height: 45px;
margin-bottom: 20px;
}
.contributor-registration p {
font-size: 14px;
line-height: 1.4;
}
.contributor-registration .btc-address {
padding: 15px 10px;
margin-bottom: 10px;
background: #ff8f00;
border-radius: 2px;
color: #fff;
font-size: 14px;
font-weight: bold;
}
#recipients-info-div {
margin-top: 20px;
margin-bottom: 20px;
}
.maincontainer {
background-color: white;
}
.full-width-banner {
width: 100%;
margin: 20px auto;
}
.full-width-banner img {
display: block;
max-width: 100%;
}
.vlabel {
font-size: 16px;
font-weight: bold;
}
.form-control {
margin-bottom: 10px;
}
.tab-content {
margin-top: 25px;
}
.container {
max-width: 1135px;
margin: 10px auto 50px;
}
#recipients-table td:nth-child(7) {
word-break: break-all;
padding: 8px 5px !important;
}
@media screen and (max-width: 1200px) {
.nav-holder .navigation{
max-width: 940px;
}
}
@media screen and (max-width: 991px) {
.nav-holder .navigation{
max-width: 720px;
}
.report-group.period {
max-width: 420px;
margin-right: 0;
}
.supporters-total .overview {
margin-right: 20px;
}
}
@media screen and (max-width: 770px) {
.report-period-group.supporters {
float: none;
width: 100%;
height: 120px;
}
.supporters-total {
float: none;
width: 100%;
height: auto;
border: 1px solid #ddd;
border-top: 0 none;
}
.supporters-total:after {
content: '';
display: table;
clear: both;
float: none;
}
.registration {
width: 100%;
min-height: auto;
margin-right: 0;
margin-bottom: 20px;
}
}
@media screen and (max-width: 650px) {
#recipients-table th:nth-child(4),
#recipients-table td:nth-child(4),
#recipients-table th:nth-child(3),
#recipients-table td:nth-child(3) {
display: none;
}
.navigation li a,
.navigation li.active a,
.navigation li.active a:focus,
.navigation li.active a:hover {
border-bottom: 0 none;
padding: 15px 0;
}
}
@media screen and (max-width: 550px) {
.table {
font-size: 13px;
}
.table thead {
font-size: 11px;
}
.table thead span {
text-transform: lowercase;
}
.table th,
.table td {
padding: 8px 2px !important;
vertical-align: middle !important;
font-weight: normal !important;
text-align: center;
}
.table th.sorting_asc:before,
.table th.sorting_desc:before {
content: '';
position: absolute;
left: 50%;
margin-left: -2px;
border: 4px solid transparent;
}
.table th.sorting_asc:before {
bottom: 1px;
border-top-color: #ff8f00;
}
.table th.sorting_desc:before {
top: 1px;
border-bottom-color: #ff8f00;
}
.table th:after {
content: none !important;
}
.table-controls {
padding-right: 145px;
}
.tc.entries {
font-size: 12px;
}
.tc.entries span {
display: inline-block;
vertical-align: middle;
width: 30%;
text-align: center;
}
.contributor-registration .btc-address {
word-break: break-all;
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,117 @@
/* Slider */
.slick-slider
{
position: relative;
display: block;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.slick-list
{
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}
.slick-list:focus
{
outline: none;
}
.slick-list.dragging
{
cursor: pointer;
cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list
{
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.slick-track
{
position: relative;
top: 0;
left: 0;
display: block;
}
.slick-track:before,
.slick-track:after
{
display: table;
content: '';
}
.slick-track:after
{
clear: both;
}
.slick-loading .slick-track
{
visibility: hidden;
}
.slick-slide
{
display: none;
float: left;
height: 100%;
min-height: 1px;
}
[dir='rtl'] .slick-slide
{
float: right;
}
.slick-slide img
{
display: block;
}
.slick-slide.slick-loading img
{
display: none;
}
.slick-slide.dragging img
{
pointer-events: none;
}
.slick-initialized .slick-slide
{
display: block;
}
.slick-loading .slick-slide
{
visibility: hidden;
}
.slick-vertical .slick-slide
{
display: block;
height: auto;
border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
display: none;
}

View file

@ -0,0 +1,98 @@
/* Slider */
.slick-slider {
position: relative;
display: block;
box-sizing: border-box;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.slick-list {
position: relative;
overflow: hidden;
display: block;
margin: 0;
padding: 0;
&:focus {
outline: none;
}
&.dragging {
cursor: pointer;
cursor: hand;
}
}
.slick-slider .slick-track,
.slick-slider .slick-list {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.slick-track {
position: relative;
left: 0;
top: 0;
display: block;
&:before,
&:after {
content: "";
display: table;
}
&:after {
clear: both;
}
.slick-loading & {
visibility: hidden;
}
}
.slick-slide {
float: left;
height: 100%;
min-height: 1px;
[dir="rtl"] & {
float: right;
}
img {
display: block;
}
&.slick-loading img {
display: none;
}
display: none;
&.dragging img {
pointer-events: none;
}
.slick-initialized & {
display: block;
}
.slick-loading & {
visibility: hidden;
}
.slick-vertical & {
display: block;
height: auto;
border: 1px solid transparent;
}
}
.slick-arrow.slick-hidden {
display: none;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,43 @@
@font-family: 'Roboto Regular';
@text-color: #000;
@oposite-text-color: #fff;
@header-color: #536dfe;
@read-more-color: #adadad;
@brand-orange: #ff8f00;
@opacity-orange-overlay: 0.9;
@separator-bg: #ffbb00;
@badge-free: #f3f3f3;
@badge-free-text: #737373;
@badge-paid: #62c452;
@badge-paid-text: #fff;
@footer-bg: #292f33;
@footer-text-color: #fff;
@footer-header-color: #698d8f;
@footer-header-underline-color: #2f4445;
@footer-copyright-color: #525e66;
@footer-font-family: Arial;
@footer-contact-btn-border: #394247;
@index-app-features-header: #ffa516;
@index-app-features-subheader: #c1c1c1;
@index-banner-btn-bg: #ffa516;
@index-header-color: #000;
@index-subheader-color: #737373;
@index-slider-btn-active: #ffa516;
@index-slider-btn-passive: #d4d4d4;
@index-recomendations-username: #212121;
@index-recomendations-service: #9e9e9e;
@index-news-link-color: #266ce0;
@index-news-read-more-link: #adadad;
@index-news-timestamp: #adadad;
@index-poll-btn-bg: #ff8f00;
@index-poll-result-btn-bg: #ff6c00;
@index-poll-radio-btn-active: #ff8f00;
@index-poll-radio-btn-border: #bbb;
@blog-article-header: #536dfe;
@help-question-link: #454ade;
@help-question-border: #e6e7ec;

View file

@ -0,0 +1,2 @@
/***********************EMPTY USED BY HELP inlining but already defined in site.css
*********************************************/

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 574 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 584 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,86 @@
var blogArticles = [
{title:'OsmAnd for iPhone is released', url:'blog.html?id=osmand-ios', id:'osmand-ios', gatag:'osmand_ios'},
{title:'Nautical charts', url:'blog.html?id=nautical-charts', id:'nautical-charts', gatag:'nautical_charts'},
{title:'OsmAnd DVR goes live', url:'blog.html?id=osmand-dvr-goes-live', id:'osmand-dvr-goes-live', gatag:'osmand_dvr_goes_live'},
{title:'OsmAnd 1.9', url:'blog.html?id=osmand-1-9-released', id:'osmand-1-9-released', gatag:'osmand_1_9'},
{title:'OsmAnd 1.8', url:'blog.html?id=osmand-1-8-released', id:'osmand-1-8-released', gatag:'osmand_1_8'},
{title:'OsmAnd 1.7', url:'blog.html?id=osmand-1-7-released', id:'osmand-1-7-released', gatag:'osmand_1_7'},
{title:'OsmAnd 1.6 Released', url:'blog.html?id=osmand-1-6-released', id:'osmand-1-6-released', gatag:'osmand_1_6'},
{title:'OsmAnd 1.5 Released', url:'blog.html?id=osmand-1-5-released', id:'osmand-1-5-released', gatag:'osmand_1_5'}
];
var webSiteUrl = "http://osmand.net";
$.urlParam = function(url, name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(url);
if (results==null){
return null;
}
else{
return results[1] || 0;
}
}
function blog(container){
var getFullArticleUrl = function(articleObj){
return webSiteUrl + "/" + articleObj.url;
}
var fixTwitter =function (){
$('#___plusone_0 iframe').css('height', '21px');
}
var updateMetaTags = function(articleObj){
if (articleObj && articleObj != null){
var articleFullUrl = getFullArticleUrl(articleObj);
$('meta[property="og:title"]').attr('content', articleObj.title);
$('meta[property="og:url"]').attr('content', articleFullUrl);
$('meta[property="og:description"]').attr('content', articleObj.title);
$('link[rel="canonical"]').attr('href', articleFullUrl);
$('div.fb-like').attr('data-href', articleFullUrl);
$('.twitter-share-button').attr('data-url', articleFullUrl);
}
}
var getArticleById = function(articleid){
for(var i=0; i < blogArticles.length;++i){
if (blogArticles[i].id === articleid){
return blogArticles[i];
}
}
return null;
}
var init = function(){
container.empty();
for(var i=0; i < blogArticles.length; ++i){
var link = blogArticles[i];
container.append('<li><a data-gatag="' +link.gatag+ '" data-index="' + link.index+ '" href="' + link.url + '">' + link.title + '</a></li>');
}
var articleid = $.urlParam(window.location.href, 'id');
if (!articleid || articleid == null){
articleid = blogArticles[0].id;
}
//hide share buttons
$('.share_buttons').css('display', 'none');
updateMetaTags(getArticleById(articleid));
var url = 'blog_articles' + '/' + articleid + ".html";
$( ".article" ).load(url, function( response, status, xhr) {
if ( status != "error" ) {
$('.share_buttons').css('display', 'block');
setTimeout(fixTwitter, 5000);
}
});
}
init();
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,38 @@
(function($) {
$.fn.ellipsis = function()
{
return this.each(function()
{
var el = $(this);
if(el.css("overflow") == "hidden")
{
var text = el.html();
var multiline = el.hasClass('multiline');
var t = $(this.cloneNode(true))
.hide()
.css('position', 'absolute')
.css('overflow', 'visible')
.width(multiline ? el.width() : 'auto')
.height(multiline ? 'auto' : el.height())
;
el.after(t);
function height() { return t.height() > el.height(); };
function width() { return t.width() > el.width(); };
var func = multiline ? height : width;
while (text.length > 0 && func())
{
text = text.substr(0, text.length - 1);
t.html(text + "...");
}
el.html(t.html());
t.remove();
}
});
};
})(jQuery);

View file

@ -0,0 +1,165 @@
/*!
* JavaScript Cookie v2.1.4
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/
;(function (factory) {
var registeredInModuleLoader = false;
if (typeof define === 'function' && define.amd) {
define(factory);
registeredInModuleLoader = true;
}
if (typeof exports === 'object') {
module.exports = factory();
registeredInModuleLoader = true;
}
if (!registeredInModuleLoader) {
var OldCookies = window.Cookies;
var api = window.Cookies = factory();
api.noConflict = function () {
window.Cookies = OldCookies;
return api;
};
}
}(function () {
function extend () {
var i = 0;
var result = {};
for (; i < arguments.length; i++) {
var attributes = arguments[ i ];
for (var key in attributes) {
result[key] = attributes[key];
}
}
return result;
}
function init (converter) {
function api (key, value, attributes) {
var result;
if (typeof document === 'undefined') {
return;
}
// Write
if (arguments.length > 1) {
attributes = extend({
path: '/'
}, api.defaults, attributes);
if (typeof attributes.expires === 'number') {
var expires = new Date();
expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);
attributes.expires = expires;
}
// We're using "expires" because "max-age" is not supported by IE
attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
try {
result = JSON.stringify(value);
if (/^[\{\[]/.test(result)) {
value = result;
}
} catch (e) {}
if (!converter.write) {
value = encodeURIComponent(String(value))
.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
} else {
value = converter.write(value, key);
}
key = encodeURIComponent(String(key));
key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);
key = key.replace(/[\(\)]/g, escape);
var stringifiedAttributes = '';
for (var attributeName in attributes) {
if (!attributes[attributeName]) {
continue;
}
stringifiedAttributes += '; ' + attributeName;
if (attributes[attributeName] === true) {
continue;
}
stringifiedAttributes += '=' + attributes[attributeName];
}
return (document.cookie = key + '=' + value + stringifiedAttributes);
}
// Read
if (!key) {
result = {};
}
// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all. Also prevents odd result when
// calling "get()"
var cookies = document.cookie ? document.cookie.split('; ') : [];
var rdecode = /(%[0-9A-Z]{2})+/g;
var i = 0;
for (; i < cookies.length; i++) {
var parts = cookies[i].split('=');
var cookie = parts.slice(1).join('=');
if (cookie.charAt(0) === '"') {
cookie = cookie.slice(1, -1);
}
try {
var name = parts[0].replace(rdecode, decodeURIComponent);
cookie = converter.read ?
converter.read(cookie, name) : converter(cookie, name) ||
cookie.replace(rdecode, decodeURIComponent);
if (this.json) {
try {
cookie = JSON.parse(cookie);
} catch (e) {}
}
if (key === name) {
result = cookie;
break;
}
if (!key) {
result[name] = cookie;
}
} catch (e) {}
}
return result;
}
api.set = api;
api.get = function (key) {
return api.call(api, key);
};
api.getJSON = function () {
return api.apply({
json: true
}, [].slice.call(arguments));
};
api.defaults = {};
api.remove = function (key, attributes) {
api(key, '', extend(attributes, {
expires: -1
}));
};
api.withConverter = init;
return api;
}
return init(function () {});
}));

View file

@ -0,0 +1,29 @@
function mapselector(container){
var $cnt = $(container);
var $selectbox = $cnt.find(".selectbox");
$cnt.find("label").on('click', function(){
refreshMap();
});
var refreshMap = function(){
var selectedStyle = getSelectedStyle().val();
var selectedMap = getSelectedMap().val();
if (selectedStyle && selectedMap){
var imageName = selectedMap + "-" + selectedStyle + ".png";
$cnt.css('background-image', "url('/images/" + imageName + "')");
}
}
var getSelectedStyle = function(){
return $selectbox.find("input[name='style']:checked");
}
var getSelectedMap = function(){
return $selectbox.find("input[name='show']:checked");
}
refreshMap();
}

View file

@ -0,0 +1,35 @@
function applyPolStyles(){
if ($('.pds-box').length > 0){
$('.pds-box').css('border', 'none');
$('.pds-vote-button').css('float', 'left');
$('.pds-vote-button').css('background', 'none');
$('.pds-vote-button').css('background-color', '#FF8F00');
$('.pds-vote-button').css('color', '#fff');
$('.pds-vote-button').css('border', 'none');
$('.pds-vote-button').css('border-radius', '5px');
$('.pds-box-outer').css('padding', '0');
$('.pds-view-results').on('click', function(){
subscribeToReturnToPoll();
});
}else{
setTimeout(applyPolStyles, timeout);
}
}
function subscribeToReturnToPoll(){
if ($('.pds-return-poll').length > 0){
$('.pds-return-poll').on('click', function(){applyStyleOnBackToPoll();});
applyPolStyles();
}else{
setTimeout(subscribeToReturnToPoll, timeout);
}
}
function applyStyleOnBackToPoll(){
if ($('.pds-view-results').length >0){
applyPolStyles();
}else{
setTimeout(applyStyleOnBackToPoll, timeout);
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,129 @@
var images_android=[
"promo-1s.png",
"promo-2s.png",
"promo-3s.png",
"promo-4s.png",
"promo-5s.png",
"promo-6s.png",
"promo-7s.png",
"promo-8s.png",
"promo-9s.png",
"promo-10s.png",
"promo-11s.png",
"promo-12s.png"
];
var images_ios=[
"ios-1s.png",
"ios-2s.png",
"ios-3s.png",
"ios-4s.png",
"ios-5s.png"
];
function slider(container){
var $cnt = $(container);
var $img1 = $cnt.find("#screenshot1");
var $img2 =$cnt.find("#screenshot2");
var $img3 = $cnt.find("#screenshot3");
var $img4 = $cnt.find("#screenshot4");
var $leftarrow = $cnt.find(".arrow.left");
var $rightarrow = $cnt.find(".arrow.right");
var $btnleft = $cnt.find(".button.left");
var $btnright = $cnt.find(".button.right");
var currentPosition =0;
var count =4;
var images = images_android;
var init = function(){
updatePictures();
updateArrows();
$leftarrow.on('click', function(){
if (currentPosition > 0){
currentPosition-=count;
updatePictures();
updateArrows();
}
});
$rightarrow.on('click', function(){
if (currentPosition + count < images.length){
currentPosition+=count;
updatePictures();
updateArrows();
}
});
$btnleft.on('click', function(){
if (!$btnleft.hasClass("active")){
$btnleft.addClass("active");
$btnright.removeClass("active");
$btnright.addClass
images = images_android;
currentPosition = 0;
updatePictures();
updateArrows();
}
});
$btnright.on('click', function(){
if (!$btnright.hasClass("active")){
$btnright.addClass("active");
$btnleft.removeClass("active");
images = images_ios;
currentPosition = 0;
updatePictures();
updateArrows();
}
});
}
var changePicture = function(img, index){
if (index < images.length){
img.attr("src", "images/" + images[index]);
}else{
img.attr("src", "images/empty.png");
}
}
var updatePictures = function(){
changePicture( $img1, currentPosition);
changePicture( $img2, currentPosition+1);
changePicture( $img3, currentPosition+2);
changePicture( $img4, currentPosition+3);
}
var updateArrows = function(){
if (currentPosition + count < images.length){
enableRightArrow();
}else{
disableRightArrow();
}
if (currentPosition== 0 ){
disableLeftArrow();
}else{
enableLeftArrow();
}
}
var enableLeftArrow = function(){
$leftarrow.attr("src", "images/left_arrow_orange.png");
while ($leftarrow.hasClass("disabled")){
$leftarrow.removeClass("disabled");
}
}
var disableLeftArrow = function(){
$leftarrow.attr("src", "images/left_arrow_grey.png");
$leftarrow.addClass("disabled");
}
var enableRightArrow = function(){
$rightarrow.attr("src", "images/right_arrow_orange.png");
while ($rightarrow.hasClass("disabled")){
$rightarrow.removeClass("disabled");
}
}
var disableRightArrow = function(){
$rightarrow.attr("src", "images/right_arrow_grey.png");
$rightarrow.addClass("disabled");
}
init();
}

View file

@ -60,7 +60,7 @@ public class ApiRouter {
if (isApiUrl(uri)) {
return routeApi(session);
} else {
return routeContent(session);
return getStatic(session.getUri());
}
}
@ -88,18 +88,6 @@ public class ApiRouter {
return false;
}
private NanoHTTPD.Response routeContent(NanoHTTPD.IHTTPSession session) {
String url = session.getUri();
//add index page
//return getStatic(session.getUri());
String responseText = getHtmlPage(url);
if (responseText != null) {
return newFixedLengthResponse(responseText);
} else {
return ErrorResponses.response404;
}
}
public NanoHTTPD.Response getStatic(String uri) {
InputStream is;
String mimeType = parseMimeType(uri);
@ -122,7 +110,7 @@ public class ApiRouter {
}
private String parseMimeType(String url) {
String type = null;
String type = "text/plain";
if (url.endsWith(".js")) return "text/javascript";
String extension = MimeTypeMap.getFileExtensionFromUrl(url);
if (extension != null) {
@ -131,39 +119,6 @@ public class ApiRouter {
return type;
}
private String readHTMLFromFile(String filename) {
// try {
// InputStream is = application.getAssets().open(FOLDER_NAME + filename);
// return Algorithms.readFromInputStream(is,false).toString();
// } catch (IOException e) {
// e.printStackTrace();
// }
// return null;
StringBuilder sb = new StringBuilder();
try {
InputStream is = application.getAssets().open(FOLDER_NAME + filename);
BufferedReader br = new BufferedReader(new InputStreamReader(is,
Charset.forName("UTF-8")));
String str;
while ((str = br.readLine()) != null) {
sb.append(str);
}
br.close();
} catch (IOException e) {
LOG.error("IOException", e);
return null;
}
return sb.toString();
}
public String getHtmlPage(String name) {
String responseText = "";
if (application != null) {
responseText = readHTMLFromFile(name);
}
return responseText;
}
public static class ErrorResponses {
public static NanoHTTPD.Response response404 =
newFixedLengthResponse(NanoHTTPD.Response.Status.NOT_FOUND,