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,36 @@
/*
* This file contains styles for Inbox view edit mode. They complement styles
* from views/shared/style/edit-mode.css that are applied as well.
* View edit mode is activated via Options -> Select threads.
*/
.bb-tablist > li button[data-action="mark-as-read"] {
background-image: url("images/icons/ico_in_markasread_30x30.png");
}
.bb-tablist > li button[data-action="mark-as-unread"] {
background-image: url("images/icons/ico_in_markasunread_30x30.png");
}
.edit #threads-container[data-type="list"] {
height: calc(100% - 10rem);
}
html[dir="ltr"] .edit [data-type="list"] li > a > aside.icon-unread {
transform: translateX(5rem);
}
html[dir="rtl"] .edit [data-type="list"] li > a > aside.icon-unread {
transform: translateX(-5rem);
}
.edit #threads-container aside.pack-end {
margin-inline-start: 4rem;
}
html[dir="ltr"] .edit #threads-container[data-type="list"] aside.pack-end span {
transform: translateX(1.5rem);
}
html[dir="rtl"] .edit #threads-container[data-type="list"] aside.pack-end span {
transform: translateX(-1.5rem);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,022 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

View file

@ -0,0 +1,191 @@
#sticky {
position: absolute;
/* The sticky element is positioned at the beginning of the list. */
top: 5rem;
/* The width is not 100% so the scrollbar is visible. */
width: calc(100% - 2rem);
/* The height needs to be kept in sync with the header height. */
height: 3.1rem;
/* Leaving 1rem margin for both side to makes scrollbar visible in LTR/RTL */
margin: 0 1rem;
/* The sticky element needs to be above the list. */
z-index: 2;
/* Hide sticky header when content is not ready */
visibility: hidden;
/* Those style will affect the backgroundImage: -moz-element. */
background: white no-repeat center top;
}
#sticky.has-content {
/* Set sticky header visible only when content is ready */
visibility: visible;
}
#threads-container[data-type="list"] header {
background: #fff;
}
#threads-container[data-type="list"] ul {
padding: 0 1.0rem;
background-color: #fff;
}
#threads-container[data-type="list"] .mms-icon {
display: none;
font-size: 1.5rem;
color: #ff6622;
}
#threads-container[data-type="list"] [data-last-message-type="mms"] .mms-icon {
display: inline;
}
#threads-container[data-type="list"] [data-last-message-type="mms"] .body-text {
display: none;
}
.threadlist-item-picture {
display: none;
}
.threadlist-item-picture.has-picture {
display: block;
}
.threadlist-item .default-picture > span[data-type=img],
.threadlist-item .group-picture > span[data-type=img] {
/* Please keep this image in sync with what is used in js/inbox.js */
background: url('images/default_contact_image.png') top left; /* BiDi proof: CSS sprites */
}
.threadlist-item:nth-child(even) .default-picture > span[data-type=img],
.threadlist-item:nth-child(even) .group-picture > span[data-type=img] {
background-position: bottom right; /* BiDi proof: CSS sprites */
}
.threadlist-item:nth-child(3n+1) .default-picture > span[data-type=img],
.threadlist-item:nth-child(3n+1) .group-picture > span[data-type=img] {
background-position: top right; /* BiDi proof: CSS sprites */
}
.threadlist-item:nth-child(4n+4) .default-picture > span[data-type=img],
.threadlist-item:nth-child(4n+4) .group-picture > span[data-type=img] {
background-position: center center;
}
.threadlist-item-picture.group-picture > span[data-type=img] {
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 2.5rem;
}
/**
* Bug 967878, 979018 -[Messages] Background doesn't
* scroll with the threads causing expensive over-invalidation
*/
#threads-container > div {
background-color: #fff;
}
[data-type="list"] aside.icon-unread {
margin: 0;
width: 1.9rem;
visibility: hidden;
}
[data-type="list"] .unread aside.icon-unread {
background: url("images/unread.png") no-repeat;
background-size: 1rem;
visibility: visible;
}
[data-type="list"] .threadlist-item a * {
pointer-events: none;
}
[data-type="list"] .summary {
display: flex;
}
[data-type="list"] .draft .icon-draft {
background: url("images/draft.png") no-repeat;
background-size: 1.2rem;
visibility: visible;
}
[data-type="list"] .is-draft .pack-end {
opacity: 0.5;
}
[data-type="list"] .is-draft .threadlist-item-title {
font-style: italic;
color: #5f5f5f;
}
/* Override time margin for flex layout */
[data-type="list"] .summary time {
display: inline-block;
margin-inline-end: 1rem;
}
[data-type="list"] .unread .summary time {
color: #1D8399;
}
/* Empty Inbox layout */
#threads-no-messages {
background: url("images/SMS_200x200_bubble.png")
no-repeat center;
background-size: 20rem;
overflow-y: auto;
overflow-x: hidden;
height: calc(100% - 5rem);
width: 100%;
}
#no-result-message {
position: relative;
top: 50%;
width: 27rem;
padding: 2rem 0.5rem;
margin: -8rem auto;
border-top: .1rem solid rgba(96,96,96,.5);
line-height: 3rem;
text-align: start;
font-weight: 300;
font-size: 2.2rem;
color: #606060;
}
#threads-no-messages, .threadlist-is-empty #threads-container {
display: none;
}
/* Using !important to override scoped style in gaia-header component. */
#threads-settings-button, .threadlist-is-empty #threads-options-button {
display: none !important;
}
/* Using flex to center the content. */
.threadlist-is-empty #threads-settings-button {
display: flex !important;
}
.threadlist-is-empty #threads-no-messages {
display: block;
}