Merge branch 'main' of https://github.com/bulwarkmail/webmail
This commit is contained in:
@@ -40,6 +40,7 @@ export function EmailListItem({ email, selected, onClick, onDoubleClick, onConte
|
||||
const density = useSettingsStore((state) => state.density);
|
||||
const mailLayout = useSettingsStore((state) => state.mailLayout);
|
||||
const emailKeywords = useSettingsStore((state) => state.emailKeywords);
|
||||
const tintListRowsByTag = useSettingsStore((state) => state.tintListRowsByTag);
|
||||
const showAvatarsInJunk = useSettingsStore((state) => state.showAvatarsInJunk);
|
||||
const { identities } = useAuthStore();
|
||||
const isChecked = selectedEmailIds.has(email.id);
|
||||
@@ -68,7 +69,7 @@ export function EmailListItem({ email, selected, onClick, onDoubleClick, onConte
|
||||
const keywordDefs = colorTagIds.map(id => emailKeywords.find(k => k.id === id) ?? { id, label: id, color: 'gray' });
|
||||
// Use first tag for background coloring
|
||||
const keywordDef = keywordDefs[0] ?? null;
|
||||
const colorTag = keywordDef ? KEYWORD_PALETTE[keywordDef.color]?.bg ?? null : null;
|
||||
const colorTag = (tintListRowsByTag && keywordDef) ? KEYWORD_PALETTE[keywordDef.color]?.bg ?? null : null;
|
||||
|
||||
// Drag and drop functionality
|
||||
const { dragHandlers, isDragging } = useEmailDrag({
|
||||
|
||||
@@ -2117,6 +2117,12 @@ export function EmailViewer({
|
||||
fit - the latter wraps header text to one character per line, which reads
|
||||
as 90deg-rotated vertical headers (issue #409). */
|
||||
html { overflow: hidden; height: auto !important; }
|
||||
/* Some emails put height:100% on a full-bleed wrapper table/div (not html/body),
|
||||
which - with body's overflow:hidden - clips the content to a sliver, and the
|
||||
scrollHeight-based auto-resize then locks the iframe short (a Box.co.il
|
||||
verification email rendered as a logo-only 150px strip). Neutralise the
|
||||
full-height trick on any element so the body grows to its content. */
|
||||
[style*="height:100%"], [style*="height: 100%"] { height: auto !important; }
|
||||
body { margin: 0; padding: ${bodyPadding}; overflow-x: auto; overflow-y: hidden; height: auto !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 14px; line-height: 1.6; color: #1a1a1a; background: #ffffff; word-wrap: break-word; overflow-wrap: break-word; }
|
||||
@media (max-width: 640px) { body { padding-left: ${mobileBodyPaddingX}; padding-right: ${mobileBodyPaddingX}; } }
|
||||
img { max-width: 100% !important; height: auto !important; }
|
||||
@@ -2164,15 +2170,30 @@ export function EmailViewer({
|
||||
const doc = iframe.contentDocument;
|
||||
if (doc?.body) {
|
||||
// Auto-resize iframe to fit content
|
||||
const resizeObserver = new ResizeObserver(() => {
|
||||
const height = doc.documentElement.scrollHeight;
|
||||
// Measure max(documentElement, body): a height:100% wrapper can leave
|
||||
// documentElement.scrollHeight short while the real content lives in body.
|
||||
const applyHeight = () => {
|
||||
if (iframe.contentDocument !== doc) return; // navigated away; stale
|
||||
const height = Math.max(doc.documentElement.scrollHeight, doc.body.scrollHeight);
|
||||
iframe.style.height = height + 'px';
|
||||
lastBodyHeightRef.current = height;
|
||||
});
|
||||
};
|
||||
const resizeObserver = new ResizeObserver(applyHeight);
|
||||
resizeObserver.observe(doc.body);
|
||||
const initialHeight = doc.documentElement.scrollHeight;
|
||||
iframe.style.height = initialHeight + 'px';
|
||||
lastBodyHeightRef.current = initialHeight;
|
||||
applyHeight();
|
||||
// The ResizeObserver only fires on body's border box; a content overflow
|
||||
// that grows scrollHeight without resizing that box (e.g. a height:100%
|
||||
// wrapper, or images that reflow the layout after onload) is otherwise
|
||||
// missed and the iframe stays short. Re-measure on a fixed cadence over a
|
||||
// short settle window, then stop — a self-clearing catch-all that does
|
||||
// not depend on image load/error events firing (blocked images may fire
|
||||
// neither). Cheap: ~12 scrollHeight reads, no early-stop heuristic to
|
||||
// mis-trigger on a brief-stable-then-grow reflow.
|
||||
const poll = window.setInterval(() => {
|
||||
if (iframe.contentDocument !== doc) { window.clearInterval(poll); return; }
|
||||
applyHeight();
|
||||
}, 200);
|
||||
window.setTimeout(() => window.clearInterval(poll), 2400);
|
||||
setIframeReady(true);
|
||||
|
||||
// Hide images that fail to load (dead/mixed-content/unreachable external
|
||||
|
||||
@@ -90,6 +90,7 @@ const SingleEmailItem = React.forwardRef<HTMLDivElement, SingleEmailItemProps>(
|
||||
const showRecipient = currentMailboxRole === 'sent' || currentMailboxRole === 'drafts';
|
||||
const sender = showRecipient ? (email.to?.[0] ?? email.from?.[0]) : email.from?.[0];
|
||||
const emailKeywords = useSettingsStore((state) => state.emailKeywords);
|
||||
const tintListRowsByTag = useSettingsStore((state) => state.tintListRowsByTag);
|
||||
const density = useSettingsStore((state) => state.density);
|
||||
const mailLayout = useSettingsStore((state) => state.mailLayout);
|
||||
const timeFormat = useSettingsStore((state) => state.timeFormat);
|
||||
@@ -113,7 +114,7 @@ const SingleEmailItem = React.forwardRef<HTMLDivElement, SingleEmailItemProps>(
|
||||
const tagIds = getEmailColorTags(email.keywords);
|
||||
const resolvedKeywordDefs = tagIds.map(id => emailKeywords.find(k => k.id === id) ?? { id, label: id, color: 'gray' });
|
||||
const resolvedKeywordDef = resolvedKeywordDefs[0] ?? null;
|
||||
const resolvedColorTag = (() => {
|
||||
const resolvedColorTag = !tintListRowsByTag ? null : (() => {
|
||||
if (colorTag) return colorTag;
|
||||
return resolvedKeywordDef ? KEYWORD_PALETTE[resolvedKeywordDef.color]?.bg ?? null : null;
|
||||
})();
|
||||
@@ -494,8 +495,9 @@ export const ThreadListItem = React.forwardRef<HTMLDivElement, ThreadListItemPro
|
||||
|
||||
const threadColor = getThreadColorTag(thread.emails);
|
||||
const emailKeywordDefs = useSettingsStore((state) => state.emailKeywords);
|
||||
const tintListRowsByTag = useSettingsStore((state) => state.tintListRowsByTag);
|
||||
const keywordDef = threadColor ? (emailKeywordDefs.find(k => k.id === threadColor) ?? { id: threadColor, label: threadColor, color: 'gray' }) : null;
|
||||
const colorTag = keywordDef ? KEYWORD_PALETTE[keywordDef.color]?.bg ?? null : null;
|
||||
const colorTag = (tintListRowsByTag && keywordDef) ? KEYWORD_PALETTE[keywordDef.color]?.bg ?? null : null;
|
||||
|
||||
const isSelected = selectedEmailId === latestEmail.id ||
|
||||
thread.emails.some(e => e.id === selectedEmailId);
|
||||
|
||||
@@ -118,7 +118,7 @@ function MailLayoutPreview({
|
||||
export function LayoutSettings() {
|
||||
const t = useTranslations('settings.appearance');
|
||||
const tEmail = useTranslations('settings.email_behavior');
|
||||
const { toolbarPosition, showToolbarLabels, hideAccountSwitcher, showRailAccountList, enableUnifiedMailbox, includeGroupInUnified, enableAllMailView, allMailFolderIds, enableCrossUnreadView, enableCrossStarredView, enableCrossAllView, colorfulSidebarIcons, showFolderTotalCount, mailLayout, proInterface, updateSetting } = useSettingsStore();
|
||||
const { toolbarPosition, showToolbarLabels, hideAccountSwitcher, showRailAccountList, enableUnifiedMailbox, includeGroupInUnified, enableAllMailView, allMailFolderIds, enableCrossUnreadView, enableCrossStarredView, enableCrossAllView, colorfulSidebarIcons, tintListRowsByTag, showFolderTotalCount, mailLayout, proInterface, updateSetting } = useSettingsStore();
|
||||
const { isSettingLocked, isSettingHidden, isFeatureEnabled } = usePolicyStore();
|
||||
const accounts = useAccountStore(s => s.accounts);
|
||||
const activeAccountId = useAccountStore(s => s.activeAccountId);
|
||||
@@ -217,6 +217,13 @@ export function LayoutSettings() {
|
||||
/>
|
||||
</SettingItem>
|
||||
|
||||
<SettingItem label={t('tint_list_rows.label')} description={t('tint_list_rows.description')}>
|
||||
<ToggleSwitch
|
||||
checked={tintListRowsByTag}
|
||||
onChange={(checked) => updateSetting('tintListRowsByTag', checked)}
|
||||
/>
|
||||
</SettingItem>
|
||||
|
||||
<SettingItem label={t('show_folder_total_count.label')} description={t('show_folder_total_count.description')}>
|
||||
<ToggleSwitch
|
||||
checked={showFolderTotalCount}
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Barevné ikony postranního panelu",
|
||||
"description": "Obarví ikony složek a štítků podle typu (modré Doručené, červený Spam, zelené Odeslané atd.). Vypněte pro jednobarevný postranní panel."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Zobrazit celkový počet zpráv",
|
||||
"description": "Zobrazí celkový počet zpráv vedle složek a štítků spolu s počtem nepřečtených. Vypněte pro zobrazení pouze nepřečtených."
|
||||
|
||||
@@ -941,6 +941,10 @@
|
||||
"label": "Farverige sidepane-ikoner",
|
||||
"description": "Farvelæg mappe- og tag-ikoner efter type (blå indbakke, rød spam, grøn sendt osv.). Deaktivér for et monokromt sidepanel."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Vis samlet antal beskeder",
|
||||
"description": "Viser det samlede antal beskeder ud for mapper og tags sammen med antallet af ulæste. Slå fra for kun at vise ulæste."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Farbige Seitenleistensymbole",
|
||||
"description": "Ordner- und Tag-Symbole nach Typ einfärben (blauer Posteingang, roter Spam, grüner Gesendet usw.). Für eine monochrome Seitenleiste deaktivieren."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Gesamtzahl der Nachrichten anzeigen",
|
||||
"description": "Zeigt neben Ordnern und Tags die Gesamtzahl der Nachrichten zusätzlich zur Anzahl ungelesener Nachrichten an. Deaktivieren, um nur ungelesene Nachrichten anzuzeigen."
|
||||
|
||||
@@ -941,6 +941,10 @@
|
||||
"label": "Colorful Sidebar Icons",
|
||||
"description": "Tint folder and tag icons by type (blue Inbox, red Junk, green Sent, etc.). Disable for a monochrome sidebar."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Show Total Message Count",
|
||||
"description": "Show the total message count next to folders and tags, alongside the unread count. Disable to show only unread counts."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Iconos de barra lateral a color",
|
||||
"description": "Colorea los iconos de carpetas y etiquetas según su tipo (azul para Bandeja de entrada, rojo para Spam, verde para Enviados, etc.). Desactívalo para una barra lateral monocroma."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Mostrar el número total de mensajes",
|
||||
"description": "Muestra el número total de mensajes junto a las carpetas y etiquetas, además del número de mensajes no leídos. Desactívalo para mostrar solo los no leídos."
|
||||
|
||||
@@ -941,6 +941,10 @@
|
||||
"label": "آیکونهای رنگی نوار کناری",
|
||||
"description": "رنگآمیزی آیکونهای پوشه و برچسب بر اساس نوع"
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "نمایش تعداد کل پیامها",
|
||||
"description": "تعداد کل پیامها را در کنار پوشهها و برچسبها، همراه با تعداد خواندهنشدهها نمایش میدهد. برای نمایش فقط تعداد خواندهنشدهها غیرفعال کنید."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Icônes colorées dans la barre latérale",
|
||||
"description": "Colore les icônes de dossiers et d'étiquettes par type (Boîte de réception en bleu, Indésirable en rouge, Envoyés en vert, etc.). Désactivez pour une barre latérale monochrome."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Afficher le nombre total de messages",
|
||||
"description": "Affiche le nombre total de messages à côté des dossiers et des étiquettes, en plus du nombre de messages non lus. Désactivez pour n'afficher que les messages non lus."
|
||||
|
||||
@@ -941,6 +941,10 @@
|
||||
"label": "Színes oldalsáv ikonok",
|
||||
"description": "Mappa és címke ikonok színezése típus szerint (kék Beérkező, piros Spam, zöld Elküldött, stb.). Kapcsold ki az egyszínű oldalsávhoz."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Összes üzenet számának megjelenítése",
|
||||
"description": "Megjeleníti az üzenetek teljes számát a mappák és címkék mellett, az olvasatlanok számán túl. Kapcsolja ki, ha csak az olvasatlanok számát szeretné látni."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Icone colorate nella barra laterale",
|
||||
"description": "Colora le icone di cartelle ed etichette per tipo (Posta in arrivo blu, Spam rosso, Inviati verde, ecc.). Disattiva per una barra laterale monocromatica."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Mostra il numero totale di messaggi",
|
||||
"description": "Mostra il numero totale di messaggi accanto a cartelle ed etichette, insieme al conteggio dei non letti. Disattiva per mostrare solo i non letti."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "カラフルなサイドバーアイコン",
|
||||
"description": "フォルダーとタグのアイコンを種類別に色分けします(受信トレイは青、迷惑メールは赤、送信済みは緑など)。モノクロのサイドバーにするには無効にしてください。"
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "メッセージの総数を表示",
|
||||
"description": "フォルダーやタグの横に、未読数に加えてメッセージの総数を表示します。未読数のみを表示するには無効にします。"
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "컬러풀한 사이드바 아이콘",
|
||||
"description": "폴더와 태그 아이콘을 유형별로 색상 표시합니다(받은편지함 파란색, 스팸 빨간색, 보낸편지함 녹색 등). 모노크롬 사이드바를 원하면 비활성화하세요."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "전체 메시지 수 표시",
|
||||
"description": "읽지 않은 수와 함께 폴더 및 태그 옆에 전체 메시지 수를 표시합니다. 읽지 않은 수만 표시하려면 비활성화하세요."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Krāsainas sānjoslas ikonas",
|
||||
"description": "Iekrāsojiet mapju un birku ikonas pēc to veida (zila Iesūtne, sarkana Mēstules, zaļa Nosūtītie utt.). Atspējojiet, lai iegūtu vienkrāsainu sānjoslu."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Rādīt kopējo ziņojumu skaitu",
|
||||
"description": "Rāda kopējo ziņojumu skaitu blakus mapēm un tagiem, kā arī nelasīto ziņojumu skaitu. Atspējojiet, lai rādītu tikai nelasītos."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Gekleurde zijbalkpictogrammen",
|
||||
"description": "Kleur map- en tagpictogrammen op type (blauw Postvak IN, rood Spam, groen Verzonden, enz.). Schakel uit voor een monochrome zijbalk."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Totaal aantal berichten tonen",
|
||||
"description": "Toont het totale aantal berichten naast mappen en labels, naast het aantal ongelezen berichten. Schakel uit om alleen ongelezen aantallen te tonen."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Kolorowe ikony paska bocznego",
|
||||
"description": "Koloruj ikony folderów i tagów według typu (niebieska Skrzynka odbiorcza, czerwona Spam, zielona Wysłane itp.). Wyłącz, aby uzyskać monochromatyczny pasek boczny."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Pokaż łączną liczbę wiadomości",
|
||||
"description": "Pokazuje łączną liczbę wiadomości obok folderów i etykiet, obok liczby nieprzeczytanych. Wyłącz, aby pokazywać tylko nieprzeczytane."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Ícones coloridos na barra lateral",
|
||||
"description": "Colorir ícones de pastas e etiquetas por tipo (Caixa de entrada azul, Spam vermelho, Enviados verde, etc.). Desative para uma barra lateral monocromática."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Mostrar contagem total de mensagens",
|
||||
"description": "Mostra a contagem total de mensagens ao lado de pastas e etiquetas, além da contagem de não lidas. Desative para mostrar apenas as não lidas."
|
||||
|
||||
@@ -941,6 +941,10 @@
|
||||
"label": "Pictograme colorate în bara laterală",
|
||||
"description": "Colorați pictogramele folderelor și etichetelor în funcție de tip (albastru pentru „Inbox”, roșu pentru „Junk”, verde pentru „Sent” etc.). Dezactivați această opțiune pentru o bară laterală monocromă."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Afișează numărul total de mesaje",
|
||||
"description": "Afișează numărul total de mesaje lângă foldere și etichete, pe lângă numărul celor necitite. Dezactivează pentru a afișa doar mesajele necitite."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Цветные значки боковой панели",
|
||||
"description": "Окрашивать значки папок и тегов по типу (синий «Входящие», красный «Спам», зелёный «Отправленные» и т. д.). Отключите для монохромной боковой панели."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Показывать общее количество сообщений",
|
||||
"description": "Показывает общее количество сообщений рядом с папками и метками, наряду с количеством непрочитанных. Отключите, чтобы показывать только непрочитанные."
|
||||
|
||||
@@ -941,6 +941,10 @@
|
||||
"label": "Farebné ikony postranného panela",
|
||||
"description": "Ofarbí ikony priečinkov a štítkov podľa typu. Vypnite pre jednofarebný postranný panel."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Zobraziť celkový počet správ",
|
||||
"description": "Zobraziť celkový počet správ vedľa priečinkov a štítkov spolu s počtom neprečítaných."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Renkli Kenar Çubuğu Simgeleri",
|
||||
"description": "Klasör ve etiket simgelerini türe göre renklendir (mavi Gelen Kutusu, kırmızı İstem Dışı vb.). Tek renkli kenar çubuğu için kapatın."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Toplam mesaj sayısını göster",
|
||||
"description": "Klasörlerin ve etiketlerin yanında, okunmamış sayısının yanı sıra toplam mesaj sayısını gösterir. Yalnızca okunmamışları göstermek için devre dışı bırakın."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "Кольорові значки бічної панелі",
|
||||
"description": "Забарвлюйте значки папок і тегів за типом (синя «Вхідні», червоний «Спам», зелена «Надіслані» тощо). Вимкніть для монохромної бічної панелі."
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "Показувати загальну кількість повідомлень",
|
||||
"description": "Показує загальну кількість повідомлень поруч із теками та мітками, разом із кількістю непрочитаних. Вимкніть, щоб показувати лише непрочитані."
|
||||
|
||||
@@ -938,6 +938,10 @@
|
||||
"label": "彩色侧边栏图标",
|
||||
"description": "按类型为文件夹和标签图标着色(蓝色收件箱、红色垃圾邮件、绿色已发送等)。禁用以获得单色侧边栏。"
|
||||
},
|
||||
"tint_list_rows": {
|
||||
"label": "Tint List Rows by Tag Color",
|
||||
"description": "Shade each message row with its first tag color. Disable to keep rows plain; tag dots and chips still show the color."
|
||||
},
|
||||
"show_folder_total_count": {
|
||||
"label": "显示邮件总数",
|
||||
"description": "在文件夹和标签旁边显示邮件总数,以及未读数量。停用后仅显示未读数量。"
|
||||
|
||||
@@ -261,6 +261,7 @@ interface SettingsState {
|
||||
|
||||
// Sidebar
|
||||
colorfulSidebarIcons: boolean; // Tint folder icons by role (inbox blue, junk red, etc.)
|
||||
tintListRowsByTag: boolean; // Tint mail-list rows by the first tag color
|
||||
showFolderTotalCount: boolean; // Show total message count next to folders/tags (alongside unread)
|
||||
|
||||
// Folders
|
||||
@@ -458,6 +459,7 @@ const DEFAULT_SETTINGS = {
|
||||
|
||||
// Sidebar
|
||||
colorfulSidebarIcons: true,
|
||||
tintListRowsByTag: true,
|
||||
showFolderTotalCount: true,
|
||||
|
||||
// Folders
|
||||
@@ -634,6 +636,7 @@ export const useSettingsStore = create<SettingsState>()(
|
||||
senderFavicons: state.senderFavicons,
|
||||
showAvatarsInJunk: state.showAvatarsInJunk,
|
||||
colorfulSidebarIcons: state.colorfulSidebarIcons,
|
||||
tintListRowsByTag: state.tintListRowsByTag,
|
||||
showFolderTotalCount: state.showFolderTotalCount,
|
||||
folderIcons: state.folderIcons,
|
||||
emailKeywords: state.emailKeywords,
|
||||
|
||||
Reference in New Issue
Block a user