Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
522
assets/webapps/fm.gaiamobile.org/style/fm.css
Normal file
|
|
@ -0,0 +1,522 @@
|
|||
html, body {
|
||||
padding: 0;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
color: #FFF;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. No content inside the app
|
||||
* should be user-selectable.
|
||||
*/
|
||||
* {
|
||||
-moz-user-select: none; /* 1 */
|
||||
}
|
||||
|
||||
a {
|
||||
outline: 0 none;
|
||||
text-decoration: none;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
a:active {
|
||||
color: #000;
|
||||
background-color: #00ABCD;
|
||||
}
|
||||
|
||||
.hidden-block {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
#container {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #2F3337;
|
||||
}
|
||||
|
||||
#container > div {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/****** styles for frequency view *******/
|
||||
#frequency-bar {
|
||||
border-bottom: 1px solid #24292E;
|
||||
box-sizing: border-box;
|
||||
top: 0;
|
||||
height: 10rem;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
background-color: #353A41;
|
||||
overflow: hidden;
|
||||
transition: background-color 680ms ease;
|
||||
}
|
||||
|
||||
#frequency-bar.dim {
|
||||
background-color: #232323;
|
||||
}
|
||||
|
||||
#frequency-bar > div {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#frequency-bar a {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
line-height: 4rem;
|
||||
width: 3.8rem;
|
||||
height: 3.8rem;
|
||||
font-size: 1.4rem;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
margin-top: 3rem;
|
||||
box-shadow: 0 -.1rem .1rem #111;
|
||||
}
|
||||
|
||||
#frequency-display {
|
||||
position: relative;
|
||||
transition: opacity 680ms ease;
|
||||
}
|
||||
|
||||
.dim #frequency-display {
|
||||
opacity: 0.1;
|
||||
}
|
||||
|
||||
#bookmark-button {
|
||||
top: 0;
|
||||
right: 2rem;
|
||||
}
|
||||
|
||||
#frequency {
|
||||
font-size: 6rem;
|
||||
font-weight: 300;
|
||||
color: #fff;
|
||||
padding-top: 1.5rem;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 10rem;
|
||||
display: block;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#frequency small {
|
||||
font-size: 1.5rem;
|
||||
padding-left: 0.3rem;
|
||||
}
|
||||
|
||||
#bookmark-button {
|
||||
background: url("images/toggle-fav-star-off.png") no-repeat center center / 4rem;
|
||||
}
|
||||
|
||||
#bookmark-button:focus {
|
||||
border-color: #888;
|
||||
}
|
||||
|
||||
#bookmark-button:active,
|
||||
#bookmark-button[data-bookmarked="true"]:active {
|
||||
background: #00ABCD url("images/toggle-fav-star-pressed.png") no-repeat center center / 4rem;
|
||||
}
|
||||
|
||||
#bookmark-button[data-bookmarked="true"] {
|
||||
background: url("images/toggle-fav-star-on.png") no-repeat center center / 4rem;
|
||||
}
|
||||
|
||||
#speaker-switch {
|
||||
top: 0;
|
||||
left: 2rem;
|
||||
background: url("images/speaker-off.png") no-repeat center center / 4rem;
|
||||
}
|
||||
|
||||
#speaker-switch:focus {
|
||||
border-color: #888;
|
||||
}
|
||||
|
||||
#speaker-switch:active,
|
||||
#speaker-switch[data-speaker-on="true"]:active {
|
||||
background: #00ABCD url("images/speaker-pressed.png") no-repeat center center / 4rem;
|
||||
}
|
||||
|
||||
#speaker-switch[data-speaker-on="true"] {
|
||||
background: url("images/speaker-on.png") no-repeat center center / 4rem;
|
||||
}
|
||||
/***** end *****/
|
||||
|
||||
/**** styles for frequency dialer *****/
|
||||
#dialer-bar {
|
||||
top: 10rem;
|
||||
font-size: 1.4rem;
|
||||
font-weight: 400;
|
||||
height: 9rem;
|
||||
overflow: hidden;
|
||||
background: #2F3337;
|
||||
color: #FFF;
|
||||
box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
#dialer-container {
|
||||
box-shadow: inset 0 0.05rem 0 #3A3F44;
|
||||
position: relative;
|
||||
padding-left: 50%;
|
||||
margin: 0 2rem;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#dialer-container:before,
|
||||
#dialer-container:after {
|
||||
content: "";
|
||||
background-color: #474E57;
|
||||
box-shadow: inset 0 0.05rem 0 #585E65;
|
||||
position: absolute;
|
||||
width: 2rem;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#dialer-container:before {
|
||||
border-right: 0.1rem solid #24292E;
|
||||
left: -2rem;
|
||||
}
|
||||
|
||||
#dialer-container:after {
|
||||
border-left: 0.1rem solid #24292E;
|
||||
right: -2rem;
|
||||
}
|
||||
|
||||
#frequency-indicator {
|
||||
border-radius: 50%/0.1rem;
|
||||
height: 8.6rem;
|
||||
width: 1.6rem;
|
||||
margin: 0.6rem 0 0 -0.8rem;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
background: url(images/selector.png) no-repeat center center / 1.6rem;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
div.animation-on > div {
|
||||
transition: -moz-transform var(--transition-duration) ease 0s;
|
||||
}
|
||||
|
||||
#frequency-dialer {
|
||||
display: inline-block;
|
||||
display: -moz-inline-box;
|
||||
-moz-user-select: none;
|
||||
width: 100%;
|
||||
margin-left: -2.2rem;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
#frequency-dialer .dialer-unit-mark-box {
|
||||
background: url(images/dial-notches.png) no-repeat 0 3.4rem / 32rem;
|
||||
overflow: hidden;
|
||||
height: 5.5rem;
|
||||
}
|
||||
|
||||
#frequency-dialer .dialer-unit {
|
||||
text-align: left;
|
||||
height: 7.5rem;
|
||||
position: absolute;
|
||||
width: 32rem;
|
||||
}
|
||||
|
||||
/* The beginning and end of the dial are masked to hide notches that
|
||||
are out of range. */
|
||||
.dialer-unit-mark-mask-start,
|
||||
.dialer-unit-mark-mask-end {
|
||||
background-color: #2F3337;
|
||||
display: block;
|
||||
height: 5.5rem;
|
||||
position: absolute;
|
||||
}
|
||||
/* The mask at the end should be jogged left by 0.3rem, since the
|
||||
mask is intended to cover everything except the first notch. */
|
||||
.dialer-unit-mark-mask-end {
|
||||
margin-left: .3rem;
|
||||
}
|
||||
|
||||
#frequency-dialer .dialer-unit-floor {
|
||||
color: #AAA;
|
||||
float: left;
|
||||
}
|
||||
/**** end *******/
|
||||
|
||||
/***** styles for favorites list ******/
|
||||
div#fav-list {
|
||||
overflow: auto;
|
||||
top: 19rem;
|
||||
bottom: 9rem;
|
||||
}
|
||||
|
||||
div#fav-list-container {
|
||||
max-height: 100%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div#fav-list-container > div:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 2rem;
|
||||
right: 2rem;
|
||||
width: calc(100% - 4rem);
|
||||
height: .1rem;
|
||||
background-color: #3D4045;
|
||||
}
|
||||
|
||||
div#fav-list-container > div {
|
||||
position: relative;
|
||||
font-size: 2.3rem;
|
||||
font-weight: 300;
|
||||
height: 4.4rem;
|
||||
padding-bottom: 0.2rem;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div#fav-list-container > div:active {
|
||||
background-color: rgba(52,140,158, .6);
|
||||
}
|
||||
|
||||
div#fav-list-container > div:active:before,
|
||||
div#fav-list-container > div:active + div:before {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
div#fav-list-container div.fav-list-remove-button {
|
||||
height: 100%;
|
||||
width: 4rem;
|
||||
margin-left: 2rem;
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
background: url("images/fav-star.png") no-repeat center center / 1.4rem;
|
||||
}
|
||||
|
||||
div#fav-list-container div.selected div.fav-list-remove-button {
|
||||
background: url("images/fav-star-selected.png") no-repeat center center / 1.4rem;
|
||||
}
|
||||
|
||||
div#fav-list-container div.fav-list-frequency {
|
||||
float: right;
|
||||
padding: 0.8rem -moz-calc(50% - 2.4rem) 0 0;
|
||||
text-align: right;
|
||||
width: 6rem;
|
||||
}
|
||||
|
||||
div#fav-list-container div.fav-list-frequency small {
|
||||
font-size: 1.5rem;
|
||||
position: absolute;
|
||||
padding: .6rem .2rem 0 1rem;
|
||||
}
|
||||
/***** end *****/
|
||||
|
||||
/***** styles for status bars *****/
|
||||
#action-bar {
|
||||
bottom: 0;
|
||||
border-top: .1rem solid #3A3E46;
|
||||
box-shadow: 0 0 .2rem #111;
|
||||
height: 9rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Styles for action bar */
|
||||
/* FIX: it doesn't hide itself */
|
||||
#action-bar[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#action-bar > div {
|
||||
text-align: center;
|
||||
padding: 1rem 0 0;
|
||||
width: 33.333%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#action-bar > div:first-child {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#action-bar > div:last-child {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#action-bar a {
|
||||
display: inline-block;
|
||||
border: none;
|
||||
font-size: 2.5rem;
|
||||
width: 7rem;
|
||||
height: 7rem;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
box-shadow: 0 .1rem .1rem #A8A8A8 inset, 0 .2rem 0 #1e2226;
|
||||
}
|
||||
|
||||
#action-bar a:active {
|
||||
color: #FFF;
|
||||
background-color: #00ABCD;
|
||||
box-shadow: 0 .1rem .1rem #3F6978 inset, 0 .2rem 0 #1e2226;
|
||||
}
|
||||
|
||||
#power-switch, #power-switch span {
|
||||
background-image: url(images/play.png), url(images/reflection-72.png);
|
||||
background-repeat: no-repeat, no-repeat;
|
||||
background-color: transparent;
|
||||
background-position: center center, 0 0;
|
||||
background-size: 7.2rem;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#power-switch:active {
|
||||
background-image: url(images/play.png);
|
||||
}
|
||||
|
||||
#power-switch[data-enabled="true"] {
|
||||
background-image: url(images/stop.png), url(images/reflection-72.png);
|
||||
}
|
||||
|
||||
#power-switch[data-enabled="true"]:active {
|
||||
background-image: url(images/stop.png);
|
||||
}
|
||||
|
||||
#power-switch span {
|
||||
background-image: url(images/spinner-FMRadio.png);
|
||||
background-size: 6.6rem;
|
||||
display: none;
|
||||
height: 6.6rem;
|
||||
left: 0.2rem;
|
||||
position: absolute;
|
||||
top: 0.2rem;
|
||||
width: 6.6rem;
|
||||
}
|
||||
|
||||
#power-switch[data-enabling="true"] span,
|
||||
#power-switch[data-seeking="true"] span {
|
||||
animation: 0.9s spinner-animation infinite steps(30);
|
||||
display: block;
|
||||
}
|
||||
|
||||
@keyframes spinner-animation {
|
||||
from {
|
||||
transform: rotate(1deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
a#frequency-op-seekdown {
|
||||
width: 5rem;
|
||||
height: 5rem;
|
||||
margin: 1rem 0;
|
||||
background-image: url(images/seekdown.png), url(images/reflection-56.png);
|
||||
background-repeat: no-repeat, no-repeat;
|
||||
background-color: transparent;
|
||||
background-position: center center;
|
||||
background-size: 5.6rem;
|
||||
}
|
||||
|
||||
a#frequency-op-seekdown:active {
|
||||
background-image: url(images/seekdown.png);
|
||||
}
|
||||
|
||||
a#frequency-op-seekup {
|
||||
width: 5rem;
|
||||
height: 5rem;
|
||||
margin: 1rem 0;
|
||||
background-image: url(images/seekup.png), url(images/reflection-56.png);
|
||||
background-repeat: no-repeat, no-repeat;
|
||||
background-color: transparent;
|
||||
background-position: center center;
|
||||
background-size: 5.6rem;
|
||||
}
|
||||
|
||||
a#frequency-op-seekup:active {
|
||||
background-image: url(images/seekup.png);
|
||||
}
|
||||
/**** end ****/
|
||||
|
||||
/*** styles for warning box ****/
|
||||
.warning {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: #FFF;
|
||||
background-color: #2d2d2d;
|
||||
}
|
||||
|
||||
.warning .warning-header {
|
||||
padding: 1rem 3rem 1rem 3rem;
|
||||
font-weight: normal;
|
||||
font-size: 1.9rem;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.warning .warning-body {
|
||||
font-weight: 300;
|
||||
font-size: 2.5rem;
|
||||
padding: .5rem;
|
||||
border-top: .1rem solid #686868;
|
||||
margin: 0 2.5rem;
|
||||
}
|
||||
|
||||
/* Press (default & recommend) */
|
||||
.warning .menu button:active {
|
||||
border-color: #008aaa;
|
||||
color: #333;
|
||||
}
|
||||
/**** end ****/
|
||||
|
||||
/*** styles for antenna warning box ****/
|
||||
#antenna-warning {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
#antenna-warning:not([hidden]) {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#antenna-warning > div:first-child {
|
||||
height: 60%;
|
||||
background: url(images/headset.png) no-repeat center center / 18.4rem;
|
||||
}
|
||||
|
||||
#antenna-warning .warning-header {
|
||||
margin-top: -2.5rem;
|
||||
}
|
||||
/******* end *******/
|
||||
|
||||
/*** styles for airplane mode warning box ****/
|
||||
#airplane-mode-warning {
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
#airplane-mode-warning .warning-header {
|
||||
margin-top: 50%;
|
||||
}
|
||||
/******* end *******/
|
||||
|
||||
/*** styles for RTL languages ****/
|
||||
/* The scrollbar should be on the left.
|
||||
* But direction is explicitly set to LTR on #container
|
||||
So we force #fav-list to be RTL, while keeping the children LTR
|
||||
*/
|
||||
html[dir=rtl] #fav-list {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
html[dir=rtl] #fav-list > * {
|
||||
direction: ltr;
|
||||
}
|
||||
/******* end *******/
|
||||
BIN
assets/webapps/fm.gaiamobile.org/style/icons/fm_126.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
assets/webapps/fm.gaiamobile.org/style/icons/fm_142.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
assets/webapps/fm.gaiamobile.org/style/icons/fm_189.png
Normal file
|
After Width: | Height: | Size: 5 KiB |
BIN
assets/webapps/fm.gaiamobile.org/style/icons/fm_284.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
assets/webapps/fm.gaiamobile.org/style/icons/fm_84.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
assets/webapps/fm.gaiamobile.org/style/images/dial-notches.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 270 B |
BIN
assets/webapps/fm.gaiamobile.org/style/images/fav-star.png
Normal file
|
After Width: | Height: | Size: 285 B |
BIN
assets/webapps/fm.gaiamobile.org/style/images/headset.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
assets/webapps/fm.gaiamobile.org/style/images/play.png
Normal file
|
After Width: | Height: | Size: 397 B |
BIN
assets/webapps/fm.gaiamobile.org/style/images/reflection-56.png
Normal file
|
After Width: | Height: | Size: 521 B |
BIN
assets/webapps/fm.gaiamobile.org/style/images/reflection-72.png
Normal file
|
After Width: | Height: | Size: 695 B |
BIN
assets/webapps/fm.gaiamobile.org/style/images/seekdown.png
Normal file
|
After Width: | Height: | Size: 308 B |
BIN
assets/webapps/fm.gaiamobile.org/style/images/seekup.png
Normal file
|
After Width: | Height: | Size: 334 B |
BIN
assets/webapps/fm.gaiamobile.org/style/images/selector.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
assets/webapps/fm.gaiamobile.org/style/images/speaker-off.png
Normal file
|
After Width: | Height: | Size: 298 B |
BIN
assets/webapps/fm.gaiamobile.org/style/images/speaker-on.png
Normal file
|
After Width: | Height: | Size: 457 B |
|
After Width: | Height: | Size: 287 B |
|
After Width: | Height: | Size: 1.3 KiB |
BIN
assets/webapps/fm.gaiamobile.org/style/images/stop.png
Normal file
|
After Width: | Height: | Size: 211 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 406 B |
|
After Width: | Height: | Size: 312 B |