html page to stream
This commit is contained in:
parent
2869cae3a0
commit
c81e5a88ae
31 changed files with 34139 additions and 47 deletions
110
OsmAnd/assets/server/css/admin.css
Normal file
110
OsmAnd/assets/server/css/admin.css
Normal 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;
|
||||
}
|
||||
}
|
606
OsmAnd/assets/server/css/report.css
Normal file
606
OsmAnd/assets/server/css/report.css
Normal 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;
|
||||
}
|
||||
}
|
3322
OsmAnd/assets/server/css/site.css
Normal file
3322
OsmAnd/assets/server/css/site.css
Normal file
File diff suppressed because it is too large
Load diff
117
OsmAnd/assets/server/css/slick.css
Normal file
117
OsmAnd/assets/server/css/slick.css
Normal 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;
|
||||
}
|
98
OsmAnd/assets/server/css/src/slick.less
Normal file
98
OsmAnd/assets/server/css/src/slick.less
Normal 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;
|
||||
}
|
2176
OsmAnd/assets/server/css/src/source_site.css
Normal file
2176
OsmAnd/assets/server/css/src/source_site.css
Normal file
File diff suppressed because it is too large
Load diff
1693
OsmAnd/assets/server/css/src/style.less
Normal file
1693
OsmAnd/assets/server/css/src/style.less
Normal file
File diff suppressed because it is too large
Load diff
43
OsmAnd/assets/server/css/src/vars.less
Normal file
43
OsmAnd/assets/server/css/src/vars.less
Normal 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;
|
2
OsmAnd/assets/server/css/style.css
Normal file
2
OsmAnd/assets/server/css/style.css
Normal file
|
@ -0,0 +1,2 @@
|
|||
/***********************EMPTY USED BY HELP inlining but already defined in site.css
|
||||
*********************************************/
|
BIN
OsmAnd/assets/server/fonts/Roboto-Bold-webfont.eot
Executable file
BIN
OsmAnd/assets/server/fonts/Roboto-Bold-webfont.eot
Executable file
Binary file not shown.
7503
OsmAnd/assets/server/fonts/Roboto-Bold-webfont.svg
Executable file
7503
OsmAnd/assets/server/fonts/Roboto-Bold-webfont.svg
Executable file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 574 KiB |
BIN
OsmAnd/assets/server/fonts/Roboto-Bold-webfont.ttf
Executable file
BIN
OsmAnd/assets/server/fonts/Roboto-Bold-webfont.ttf
Executable file
Binary file not shown.
BIN
OsmAnd/assets/server/fonts/Roboto-Bold-webfont.woff
Executable file
BIN
OsmAnd/assets/server/fonts/Roboto-Bold-webfont.woff
Executable file
Binary file not shown.
BIN
OsmAnd/assets/server/fonts/Roboto-Regular-webfont.eot
Executable file
BIN
OsmAnd/assets/server/fonts/Roboto-Regular-webfont.eot
Executable file
Binary file not shown.
7613
OsmAnd/assets/server/fonts/Roboto-Regular-webfont.svg
Executable file
7613
OsmAnd/assets/server/fonts/Roboto-Regular-webfont.svg
Executable file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 584 KiB |
BIN
OsmAnd/assets/server/fonts/Roboto-Regular-webfont.ttf
Executable file
BIN
OsmAnd/assets/server/fonts/Roboto-Regular-webfont.ttf
Executable file
Binary file not shown.
BIN
OsmAnd/assets/server/fonts/Roboto-Regular-webfont.woff
Executable file
BIN
OsmAnd/assets/server/fonts/Roboto-Regular-webfont.woff
Executable file
Binary file not shown.
BIN
OsmAnd/assets/server/images/amazon-apps-store.png
Normal file
BIN
OsmAnd/assets/server/images/amazon-apps-store.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
BIN
OsmAnd/assets/server/images/app-store-badge.png
Normal file
BIN
OsmAnd/assets/server/images/app-store-badge.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.6 KiB |
BIN
OsmAnd/assets/server/images/logo-grey.png
Normal file
BIN
OsmAnd/assets/server/images/logo-grey.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
86
OsmAnd/assets/server/scripts/blog.js
Normal file
86
OsmAnd/assets/server/scripts/blog.js
Normal 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();
|
||||
|
||||
|
||||
}
|
4
OsmAnd/assets/server/scripts/jquery-1.11.1.min.js
vendored
Normal file
4
OsmAnd/assets/server/scripts/jquery-1.11.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10346
OsmAnd/assets/server/scripts/jquery-1.11.2.js
vendored
Normal file
10346
OsmAnd/assets/server/scripts/jquery-1.11.2.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
4
OsmAnd/assets/server/scripts/jquery-3.1.0.min.js
vendored
Normal file
4
OsmAnd/assets/server/scripts/jquery-3.1.0.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
38
OsmAnd/assets/server/scripts/jquery.ellipsis.js
Normal file
38
OsmAnd/assets/server/scripts/jquery.ellipsis.js
Normal 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);
|
165
OsmAnd/assets/server/scripts/js.cookie.js
Normal file
165
OsmAnd/assets/server/scripts/js.cookie.js
Normal 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 () {});
|
||||
}));
|
29
OsmAnd/assets/server/scripts/mapselector.js
Normal file
29
OsmAnd/assets/server/scripts/mapselector.js
Normal 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();
|
||||
|
||||
|
||||
}
|
35
OsmAnd/assets/server/scripts/poll.js
Normal file
35
OsmAnd/assets/server/scripts/poll.js
Normal 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);
|
||||
}
|
||||
}
|
18
OsmAnd/assets/server/scripts/slick.min.js
vendored
Normal file
18
OsmAnd/assets/server/scripts/slick.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
129
OsmAnd/assets/server/scripts/slider.js
Normal file
129
OsmAnd/assets/server/scripts/slider.js
Normal 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();
|
||||
|
||||
}
|
|
@ -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,
|
||||
|
|
Loading…
Reference in a new issue