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.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,364 @@
html {
font-size: 10px;
background-color: #F4F4F4;
}
[role="toolbar"] {
position: static;
}
ul {
font-size: 0.9em;
}
.gaia-icon::before {
font-style: normal;
position: relative;
}
.icon-settings::before {
color: white;
top: 2px;
left: 1px;
}
.note {
font-size: 0.7em;
padding-left: 15px;
padding-bottom: 5px;
background-color: rgb(248, 246, 246);
display: none;
}
#main article > header {
background-color: rgb(248, 246, 246);
color: #F97C17;
height: 30px;
line-height: 30px;
text-align: center;
text-transform: uppercase;
border-bottom: 1px white solid;
border-top: 1px white solid;
/* box-shadow: 0px 1px 5px 0px rgba(50, 50, 50, 0.1);*/
font-size: 12px;
box-shadow: 0px 1px 1px 0px rgba(33, 33, 33, 0.1);
}
.bottom-article > header {
z-index: 3;
position: relative;
}
.hide, .listview-hide {
display: none;
}
#settings p {
margin: 10px;
}
.error {
color: red;
}
section[role="region"] > header:first-child h1:nth-child(2) {
margin-left: 50px;
}
#hci-notification {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 300;
transition: all 0.6s ease;
transform: translateY(100%);
}
#hci-notification img {
width: 240px;
box-shadow: 0px 1px 4px 1px #7B7B7B;
border-radius: 8px;
}
#hci-notification.show {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 300;
transition: all 0.6s ease;
transform: translateY(0);
}
article.notification {
color: #9C9C9C;
font-size: 0.7em;
font-style: italic;
opacity: 0.95;
background: black;
padding-bottom: 10px;
}
.hci-card {
position: absolute;
width: 100%;
height: 100%;
color: white;
z-index: 1;
}
.hci-container {
text-align: center;
border-radius: 10px;
padding: 0px 20px;
color: rgb(77, 78, 83);
background: transparent linear-gradient(to bottom, rgb(234, 239, 242), rgb(212, 221, 228));
}
.hci-container p {
line-height: 3em;
font-weight: 300;
font-size: 0.8em;
}
@keyframes show-card {
0% { z-index: 2; transform: rotate(0deg); top: 0px; left: 0px; width: 240px;}
50% { z-index: 10; transform: rotate(0deg); top: -30px; left: -2px; width: 244px;}
100% { z-index: 10; transform: rotate(0deg); top: -8px; left: 0px; width: 240px;}
}
@keyframes hide-card {
0% { z-index: 10; transform: rotate(0deg); top: -8px; left: 0px; width: 240px;}
50% { z-index: 10; transform: rotate(0deg); top: -30px; left: -2px; width: 244px;}
100% { z-index: 2; transform: rotate(0deg); top: 0px; left: 0px; width: 240px;}
}
ul.swipeable > li.deselected > img {
animation-name: hide-card;
animation-duration: 0.5s;
z-index: 2;
position: relative;
top: 0px;
}
ul.swipeable > li.selected > img {
z-index: 10;
transform: rotate(0deg);
position: relative;
top: -8px;
animation-name: show-card;
animation-duration: 0.5s;
}
ul.details > li {
display: block;
padding: 15px 10px;
}
ul.details > li > p.label {
font-size: 1em;
}
.details span.date {
display: inline-block;
width: 67%;
}
li.details-more {
text-align: center;
vertical-align: bottom;
margin-right: 15px;
}
li.details-more > .details-note {
font-style: italic;
font-size: 0.8em;
color: rgb(133, 133, 133);
vertical-align: bottom;
}
/*.details-oneline p {
display: inline-block;
}*/
.active > header {
z-index: 3;
}
.slider {
background-color: rgb(248, 246, 246);
/* transform: translate3d(0, -131px, 0);
box-shadow: inset 0px 1px 5px 0px rgba(50, 50, 50, 0.1);
box-shadow: 0px 5px 5px 0px rgba(33, 33, 33, 0.1) inset; */
padding-top: 1rem;
height: 25rem;
overflow: hidden;
}
.bottom-slide .slider {
box-shadow: 0px 2px 2px 0px rgba(33, 33, 33, 0.1) inset;
}
.bottom-slide > header {
position: relative;
}
.top-slide {
margin-top: -26rem;
transition: transform 0.75s, margin-top 0.75s ease;
}
.details-visible .top-slide {
margin-top: 0px;
overflow: auto;
transform: translate3d(0,0,0)
}
.bottom-slide {
z-index: 3;
position: relative;
top: -10px;
transition: transform 0.75s, top 0.75s ease;
}
.bottom-slide.details-visible {
top: -253px;
transform: translate3d(0,0,0)
}
section[role="region"] > header:first-child .t-logo {
background: url(../img/icons/t_logo_white.png) center center / 5rem auto no-repeat;
width: 5rem;
}
.pocket, .listview-element-pocket {
width: 260px;
height: 40px;
border-radius: 12px;
position: relative;
z-index: 5;
top: 150px;
left: 0px;
background: linear-gradient(to bottom, rgb(200, 200, 200) 0%, #F4F4F4 77%, #F4F4F4 100%) repeat scroll 0% 0% transparent;
border-top: 1px solid #808080;
opacity: 0.9;
}
/*.nonpayment*/ .details li {
min-height: 0px
}
/*.nonpayment*/ .details p {
display: inline;
}
/*.nonpayment*/ .details p.val {
float: right;
margin-right: 15px;
}
.details .price {
font-family: "Fira Mono";
font-size: 13px;
width: 21%;
display: inline-block;
text-align: right;
}
.details .currency {
font-family: "Fira Mono";
font-size: 13px;
}
.sew, .listview-element-sew {
width: 92%;
height: 10px;
margin: 2px 0px 0px 5px;
border-radius: 12px;
padding-right: 10px;
border-top: 1px dashed #8C8C8C;
}
ul.transaction-list > li.transaction {
padding: 4px 0px 1px 10px;
color: rgb(133, 133, 133);
}
ul.transaction-list > li.transaction:after {
border: 0px none;
}
ul.details > li p {
font-size: 1em;
margin-left: 10px;
line-height: 1em;
}
ul.details > li p.value {
float: right;
margin-right: 10px;
font-size: 0.9em;
}
.error-view {
text-align: center;
padding: 10px;
margin-top: -2em;
}
.error-view h2.error {
font-weight: normal;
font-size: 1.2em;
}
.error-view button {
margin-bottom: 1em;
}
.error-img {
width: 5em;
height: 5em;
background-image: url(../img/errors/error.png);
background-size: contain;
background-repeat: no-repeat;
background-position: center center;
display: inline-block;
}
.error-api {
background-image: url(../img/errors/api-error.png);
}
.error-no-sim {
background-image: url(../img/errors/no-sim.png);
}
.error-sim {
background-image: url(../img/errors/sim-error.png);
}
.footer {
position: absolute;
left: 0px;
right: 0px;
bottom: 0px;
margin: 10px 10px 0px 10px;
}
@media (min-width: 360px) {
.bottom-slide {
top: -1px;
}
.bottom-slide.details-visible {
top: -26rem;
}
ul.details > li.details-more {
padding-right: 20px;
padding-left: 20px;
}
}

View file

@ -0,0 +1,131 @@
section#pin {
background-color: #F4F4F4;
}
.pin-unblocked {
font-weight: 300;
color: #333;
}
.pin-view h2 {
font-size: 1.2em;
font-weight: 300;
text-align: center;
}
.pin-view:not(hide) {
z-index: 200;
}
.pin-top {
/*font-style: italic;*/
height: 7.3em;
}
.pin-input {
text-align: center;
margin: 35px 0px 30px;
}
.pin-input > div {
border-radius: 50%;
display: inline-block;
width: 14px;
height: 14px;
border: 1.5px solid #ccc;
vertical-align: baseline;
margin: 0px 5px;
}
.pin-input > div.pin-digit-entered {
background: linear-gradient(to bottom, #f4f4f4 0%,#333333 100%);
border: 1.5px solid #333;
}
.pin-keypad {
display: table;
text-align: center;
border-collapse: collapse;
margin: 0px 0px 25px 0px;
}
.pin-keypad-row {
border-width: 0px 0px 1px 0px;
border-style: solid;
border-color: transparent;
/*border-image: linear-gradient(45deg, #f4f4f4, #ccc, #f4f4f4) 1;*/
border-image: linear-gradient(to right, #f4f4f4 0%,#cccccc 30%,#cccccc 70%,#f4f4f4 100%) 1;
}
.pin-keypad-row:last-child {
border: none;
}
.pin-key {
display: table-cell;
width: 2.7em;
height: 2.7em;
vertical-align: middle;
border-right: 1px solid #ccc;
font-size: 1.7em;
cursor: pointer;
}
.pin-key.clear-key::after {
content: "clear";
font-size: 0.5em;
vertical-align: 35%;
}
.pin-key:active {
color: #F97C17;
/*background-color: #ccc;*/
}
.pin-key.gaia-icon::before {
position: relative;
font-size: 1em;
}
.pin-key.icon-clearcancel-cross::before {
font-size: 1.7em;
}
.pin-keypad-row:first-child .pin-key {
background: linear-gradient(to bottom, #f4f4f4, #ccc);
background-origin: border-box;
border-right: 1px solid transparent;
box-shadow: inset -999px 0 0 #f4f4f4;
}
.pin-keypad-row:last-child .pin-key {
background: linear-gradient(to top, #f4f4f4, #ccc);
background-origin: border-box;
border-right: 1px solid transparent;
box-shadow: inset -999px 0 0 #f4f4f4;
}
.pin-keypad-row .pin-key:last-child {
border: none;
}
.pin-warning {
margin-bottom: -39px;
position: relative;
top: -13px;
font-size: 0.85em;
text-align: center;
}
.pin-enable-warning {
margin-top: 1em;
}
.error-pin-enable {
background-image: url(../img/errors/pin-enable-fail.png);
}
.error-locked {
background-image: url(../img/errors/locked.png);
}

View file

@ -0,0 +1,172 @@
#settings {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: -1;
opacity: 1;
transition: all 0.6s ease;
background-color: #F4F4F4;
transform: translateY(100%);
}
#settings.edit {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 100;
opacity: 1;
transition: all 0.6s ease;
transform: translateY(0);
}
.settings-subpage {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 101;
opacity: 1;
background-color: #F4F4F4;
transition: transform 0.6s ease;
transform: translateX(100%);
}
.settings-subpage.slide-in {
transition: transform 0.6s ease;
transform: translateX(0);
}
.settings-disabled {
pointer-events: none;
color: #ccc;
}
.settings-disabled .gaia-icon::before {
color: #ccc;
}
.settings-disclaimer {
font-size: 0.6em;
padding: 0px 15px 10px 15px;
line-height: 1.5em;
}
.settings-forward div {
width: 100%;
margin-left: 15px;
}
.settings-forward .gaia-icon {
text-align: right;
color: #868692;
}
.settings-forward .gaia-icon::before {
position: relative;
font-size: 1.5rem;
}
#settings-status {
opacity: 0;
transition: opacity 600ms ease 0s;
}
#settings-status.visible {
opacity: 1;
transition: opacity 1000ms ease 0s;
}
#settings-status p{
text-align: center;
}
#settings-about section > div {
text-align: center;
border-bottom: 1px solid #E7E7E7;
padding: 10px;
margin: 0px 15px;
}
#settings-about div:last-child {
border: none;
}
#settings-about div:first-child {
padding-top: 0px;
}
.about-logo img {
max-width: 9em;
}
.about-logo p {
line-height: 1.3em;
}
.about-logo p:first-child {
font-size: 1.1em;
}
.about-logo p:nth-child(2) {
font-size: 1.5em;
}
.about-logo p:nth-child(4) {
font-size: 1em;
}
.about-authors p, .about-contributors p {
font-size: 0.8em;
color: #a6a6a6;
line-height: 1.5em;
}
.about-authors strong, .about-contributors strong {
color: #333;
font-weight: normal;
}
.about-authors p {
text-align: left;
}
.about-authors strong {
float: right;
}
.about-contributors div {
margin-bottom: 0.5em;
}
.about-contributors h3 {
font-size: 0.8em;
margin-bottom: 2px;
margin-top: 1px;
font-weight: 500;
}
.about-contributors div p:nth-child(2) {
line-height: 1em;
margin: 5px 0px;
}
.about-contributors div p:nth-child(3) {
line-height: 1em;
font-size: 0.6em;
color: #333;
}
/* ugly hacks to override header.css, TODO migrate to proper gaia header */
section[role="region"].settings-subpage > header:first-child h1:nth-child(2) {
margin: -1px;
}
section.skin-organic.settings-subpage[role="region"] > header:first-child .gaia-icon {
color: #868692;
background: none;
}

View file

@ -0,0 +1,70 @@
ul.swipeable {
white-space: nowrap;
overflow: hidden;
font-size: 0px;
}
ul.swipeable > li {
display: inline-block;
width: 260px;
height: 206px;
overflow: hidden;
}
ul.swipeable > li > img, .listview-element-img {
width: 240px;
padding: 20px 10px 25px;
margin-top: -35px;
position: relative;
}
ul.swipeable > li:first-child {
margin-left: 3rem;
}
.swipeable-container {
z-index: 2;
background-color: #f4f4f4;
border-bottom: 1px solid #FBFBFB;
box-shadow: 0px 2px 2px 0px rgba(33, 33, 33, 0.1);
}
.swipeable-progress {
text-align: center;
height: 1.6rem;
position: relative;
z-index: 1;
}
.swipeable-progress div{
border-radius: 50%;
display: inline-block;
width: 6px;
height: 6px;
border: 2px solid #aeaeae;
vertical-align: baseline;
margin: 0px 2px;
}
.swipeable-progress div.swipeable-progress-selected {
background: #aeaeae;
}
.swipeable-progress div.swipeable-progress-active {
/* background-color: #e20074; */
border: 2px solid #F97C17;
}
.swipeable-progress div.swipeable-progress-active.swipeable-progress-selected {
background: #F97C17;
}
@media (min-width: 360px) {
ul.swipeable > li:first-child {
margin-left: 5rem;
}
.swipeable-container {
padding-top: 0.5rem;
}
}