Zalo Dark

Dark Theme for Zalo, making your eyes feel comfortable when you work, especially at night.

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name     Zalo Dark
// @name:vi  Zalo Dark (Nền Tối)
// @description   Dark Theme for Zalo, making your eyes feel comfortable when you work, especially at night.
// @description:vi Dark Theme cho Zalo, giúp bạn thoải mái hơn trong việc làm việc với zalo, đặc biệt là vào buổi tối.
// @include  https://*.zalo.me/*
// @grant    GM_addStyle
// @run-at   document-start
// @version  0.0.6
// @namespace    f97
// @author       f97
// @homepageURL https://f97.xyz
// @license MIT
// ==/UserScript==

GM_addStyle ( `
html:root {
	--white-700: rgba(51, 51, 51, 0.1);
	--white-600: rgba(51, 51, 51, 0.25);
	--white-500: rgba(51, 51, 51, 0.5);
	--white-400: rgba(51, 51, 51, 0.75);
	--white-300: #18191a;
	--white-base: #18191a;
	--neutral-700: #4f5051;
	--neutral-600: #747576;
	--neutral-500: #999a9a;
	--neutral-400: #bebfbf;
	--neutral-300: #e3e3e3;
	--neutral-200: #f6f6f6;
	--neutral-100: #ffffff;
	--neutral-base: #e3e3e3;
	--grey-700: #232525;
	--grey-600: #2a2b2c;
	--grey-500: #313233;
	--grey-400: #38393a;
	--grey-300: #3d3e3f;
	--grey-base: #3d3e3f;
	--dark-grey-700: var(--grey-700);
	--dark-grey-600: var(--grey-600);
	--dark-grey-500: var(--grey-500);
	--dark-grey-400: var(--grey-400);
	--dark-grey-300: var(--grey-300);
	--dark-grey-base: var(--grey-base);
	--black-700: rgba(0, 0, 0, 0.1);
	--black-600: rgba(0, 0, 0, 0.25);
	--black-500: rgba(0, 0, 0, 0.5);
	--black-400: rgba(0, 0, 0, 0.75);
	--black-300: #fff;
	--black-base: #fff;
	--blue-700: #0f2345;
	--blue-650: #0e2d5b;
	--blue-600: #0b3a7e;
	--blue-500: #074bad;
	--blue-400: #035bdc;
	--blue-300: #3989ff;
	--blue-base: #3989ff;
	--dark-blue-200: #004bb9;
	--dark-blue-base: #004bb9;
	--red-700: #431418;
	--red-600: #58181c;
	--red-500: #791a1f;
	--red-400: #a61d24;
	--red-300: #d32029;
	--red-base: #d32029;
	--orange-700: #432716;
	--orange-600: #58351c;
	--orange-500: #794620;
	--orange-400: #a65c26;
	--orange-300: #d3722b;
	--orange-base: #d3722b;
	--green-700: #1d3712;
	--green-600: #274916;
	--green-500: #306317;
	--green-400: #3c8618;
	--green-300: #49aa19;
	--green-base: #49aa19;
	--yellow-700: #443b11;
	--yellow-600: #595014;
	--yellow-500: #7c6e14;
	--yellow-400: #aa9514;
	--yellow-300: #d8bd14;
	--yellow-200: #e8d639;
	--yellow-100: #e8d639;
	--yellow-base: #d8bd14;
	--purple-700: #24163a;
	--purple-600: #301c4d;
	--purple-500: #3e2069;
	--purple-400: #51258f;
	--purple-300: #642ab5;
	--purple-base: #642ab5;
	--pink-700: #40162f;
	--pink-600: #551c3b;
	--pink-500: #75204f;
	--pink-400: #a02669;
	--pink-300: #cb2b83;
	--pink-base: #cb2b83;
	--teal-700: #113536;
	--teal-600: #144848;
	--teal-500: #146262;
	--teal-400: #138585;
	--teal-300: #13a8a8;
	--teal-base: #13a8a8;
	--gradient-blue: linear-gradient(45deg, #408dfd, #0068ff);
	--gradient-sky-blue: linear-gradient(225deg, #00bac0, #72abff);
	--gradient-pink: linear-gradient(225deg, #ea87ff, #f2bdff);
	--gradient-orange: linear-gradient(225deg, #db342e 100%, #f5832f 0);
	--gradient-green: linear-gradient(225deg, #ffda39, #49bb82);
	--gradient-red-pink: linear-gradient(199deg, #eb8e8b, #f2bdff);
	--gradient-light-pink: linear-gradient(199deg, #ea87ff, #f2bdff);
	--gradient-purple-pink: linear-gradient(199deg, #b3a8e9, #f2bdff);
	--gradient-light-purple: linear-gradient(199deg, #7562d8, #b3a8e9);
	--gradient-purple-blue: linear-gradient(199deg, #7562d8, #0068ff);
	--gradient-light-blue: linear-gradient(199deg, #72abff, #0068ff);
	--gradient-teal-blue: linear-gradient(199deg, #00bac0, #0068ff);
	--gradient-teal-green: linear-gradient(199deg, #00bac0, #15a85f);
	--gradient-light-green: linear-gradient(199deg, #15a85f, #49bb82);
	--gradient-yellow-green: linear-gradient(199deg, #ffda39, #49bb82);
	--gradient-orange-yellow: linear-gradient(199deg, #f5832f, #ffd000);
	--gradient-red-orange: linear-gradient(199deg, #db342e, #f5832f);
	--shades-left-bar: var(--grey-700);
	--shades-left-bar-active: var(--grey-500);
	--shades-photo-bg: #545454;
	--box-input: rgba(0, 133, 255, 0.25);
	--box-input2: rgba(24, 144, 255, 0.2);
	--box-grey: rgba(0, 0, 0, 0.02);
	--box-notif: rgba(0, 26, 51, 0.1);
	--box-popover: rgba(0, 0, 0, 0.18);
	--transparent-blue08: rgba(0, 104, 255, 0.8);
	--border: var(--grey-300);
	--card-me-btn-bg: var(--blue-650);
	--card-me-btn-border: var(--blue-600);
	--message-view-gradient: linear-gradient(to top, #000, #121212);
	--brand-base: #0068ff;
}
html[data-dark-theme="dark_dimmed"]:root {
	--white-700: rgba(69, 69, 69, 0.1);
	--white-600: rgba(69, 69, 69, 0.25);
	--white-500: rgba(69, 69, 69, 0.5);
	--white-400: rgba(69, 69, 69, 0.75);
	--white-300: #232526;
	--white-base: #232526;
	--neutral-700: #58595a;
	--neutral-600: #7b7c7d;
	--neutral-500: #9e9f9f;
	--neutral-400: #c1c2c2;
	--neutral-300: #e5e5e5;
	--neutral-200: #f6f6f6;
	--neutral-100: #ffffff;
	--neutral-base: #e5e5e5;
	--grey-700: #2d3031;
	--grey-600: #343637;
	--grey-500: #3a3d3e;
	--grey-400: #424444;
	--grey-300: #464849;
	--grey-base: #464849;
	--message-view-gradient: linear-gradient(to top, #141414, #18191a);
}
html div::-webkit-scrollbar-thumb {
	background: var(--grey-300);
}
html ::selection {
	background: var(--brand-base);
}
html body {
	background: var(--white-300);
	-webkit-font-smoothing: auto;
}
html body #main-tab {
	border-right: 1px solid var(--border);
}
html body .chat-info-link__title {
	color: var(--neutral-base);
}
html body .chat-info-general__item:after {
	border-color: var(--border);
}
html body .chat-info-general__item--title--sub {
	color: var(--neutral-500);
}
html body .setting-menu,
  html body .setting-section {
	border-color: var(--border);
}
html body .app-info__header {
	align-items: center;
	color: #fff;
	background-color: var(--brand-base);
}
html body .app-info__section {
	padding: 16px;
}
html body .message-view__blur__overlay, html body .message-view__blur__overlay_noavatar {
	background: var(--message-view-gradient);
}
html body .media-tabs__main {
	border-bottom-color: var(--border);
}
html body .media-tabs__main.active {
	background-color: var(--white-300);
	border-color: transparent var(--border);
}
html body .emoji-tabs {
	background-color: var(--white-300);
}
html body .z--btn--fill--primary {
	color: var(--black-300);
	background: var(--gradient-blue);
}
html body .z--btn--fill--secondary-red.--disabled {
	color: var(--red-300);
	opacity: 0.5;
}
html body .z--btn--fill--danger {
	color: var(--black-300);
}
html body .reaction-emoji-list {
	color: var(--white-400);
	border: 0.5px solid var(--grey-400);
}
html body .leftbar-tab {
	color: var(--neutral-base);
}
html body .leftbar-tab:hover {
	background-color: var(--shades-left-bar-active);
}
html body .leftbar-unread {
	color: #fff !important;
}
html body .user-status-footer .footer-text {
	color: #fff;
}
html body .file-sidebar__option:hover {
	background-color: var(--grey-700);
}
html body .file-sidebar__option.chat-message.first-selected > .file-sidebar__option__title,
  html body .file-sidebar__option.chat-message.last-selected > .file-sidebar__option__title,
  html body .file-sidebar__option.selected > .file-sidebar__option__title {
	color: var(--neutral-300);
}
html body .file-sidebar__option.chat-message.first-selected .file-sidebar__option__icon,
  html body .file-sidebar__option.chat-message.last-selected .file-sidebar__option__icon,
  html body .file-sidebar__option.selected .file-sidebar__option__icon {
	color: var(--neutral-300);
}
html body .file-sidebar__option__icon.fa-file-icon-drive {
	color: #fff !important;
}
html body .file-sidebar__option__icon.fa-file-icon-dropbox {
	color: #fff !important;
}
html body .chat-onboard,
  html body .friend-center-main.subtract-title {
	height: 100vh;
}
html body .chips--choice.--active {
	color: #fff;
}
html body .chat-date {
	color: var(--neutral-300);
}
html body .chat-date > span {
	background: var(--white-500);
}
html body #contact-search-input {
	color: var(--neutral-base);
}
html body .phone-i-input {
	color: var(--neutral-base);
	background-color: var(--white-300);
}
html body .input {
	color: var(--neutral-base);
	background-color: var(--white-300);
}
html body .chat-input__content.highlight {
	border-color: var(--brand-base);
}
html body .chat-message .extra-btn {
	padding: 6px 16px;
	background-color: var(--white-300);
	color: var(--neutral-300);
	transition: all 250ms ease-in-out;
}
html body .chat-message .extra-btn:hover {
	color: #fff;
}
html body .chat-group-topic__item {
	min-height: 56px;
}
html body .chat-group-topic__item .icon-container {
	height: 56px;
}
html body .chat-group-topic-outer {
	min-height: 58px;
}
html body .group-board-page .virtualized-scroll {
	background: var(--white-base);
}
html body .cb-info-file-item__actions-container > div {
	background: transparent !important;
}
html body #info-links-container .library-media > div {
	background: transparent !important;
}
html body #group-creator .create-group__item__link-icon {
	color: #fff;
}
html body div[data-id="div_TabCT_FrdReqList"],
  html body div[data-id="div_TabCT_JoinedGrpList"] {
	background: var(--message-view-gradient) !important;
}
html body .chat-message.highlighted .card:not(.card--group-photo) {
	background-color: var(--blue-700);
}
html body .chat-message.highlighted .card:not(.card--group-photo):hover {
	background-color: var(--blue-650);
}
html body .sticker-selector__menu {
	height: 48px;
}
html body #stickerSelector {
	background-color: var(--white-300) !important;
}
html body .media-dock-tabs:not(.docked) {
	height: 48px;
	border-bottom: 0;
}
html body .gradient-border.left .fa-sendtome-image,
  html body .gradient-border.right .message-view__guide__item__sign .fa-sendtome-image {
	color: #fff;
}
html body .card-send-time {
	color: var(--neutral-500);
}
html body .card-send-time.me {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .chat-message {
	line-height: 1.5;
}
html body .file-message__container .file-progress-no {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .file-message__container .file-progress__track {
	background-color: var(--grey-600);
}
html body .card {
	border: 1px solid var(--grey-600);
}
html body .card.card--oa, html body .card.card--oa.admin, html body .card.card--picture, html body .card.card--picture.admin, html body .card.card--video, html body .card.card--video.admin, html body .card.card--sticker, html body .card.card--sticker.admin, html body .card.card--group-photo, html body .card.card--group-photo.admin {
	border: 0;
}
html body .card.admin {
	border: 1px solid var(--neutral-700);
}
html body .card.me {
	border-color: transparent;
}
html body .card.me .quote-name-container {
	color: var(--blue-300);
}
html body .card.me .quote-banner-content .quote-text {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .card.me .file-message__container .file-message__actions-icon {
	border-color: var(--card-me-btn-border);
	background-color: var(--card-me-btn-bg);
}
html body .card.me .file-message__container .file-progress__track {
	background-color: var(--blue-650);
}
html body .card.me.card--link .card-content > .card--link__sub {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .card.me.card--business .card-content div {
	color: #fff !important;
}
html body .card.me.card--business .msg-contact-footer {
	border-top: 1px solid var(--blue-600);
}
html body .card.me .msg-urgency-indicator {
	padding: 4px 8px;
	border-radius: 4px;
	border: 1px solid var(--red-300);
	color: var(--red-300);
}
html body .card.card--undo {
	opacity: 0.75;
	filter: blur(1px);
}
html body .card.card--undo > span {
	color: var(--neutral-300);
}
html body .message-reaction-container.me .reacts-list,
  html body .message-reaction-container.me .msg-reaction-icon {
	border-color: var(--card-me-btn-border);
	background-color: var(--card-me-btn-bg);
}
html body .message-reaction-container.me .msg-reaction-icon .default-react-icon-thumb {
	filter: brightness(2);
}
html body .tipv2-content {
	color: var(--neutral-300);
}
html body .tipv2 .tip-close-button {
	color: var(--neutral-300);
}
html body .qu-ba {
	background: var(--white-base);
}
html body .qrsc {
	background: var(--white-300);
}
html body .qri {
	background-color: var(--white-300);
}
html body .conv-action__unread .conv-unread {
	color: #fff !important;
}
html body .conv-item:hover {
	background-color: var(--grey-700);
}
html body .conv-item .conv-message.progress-bar .progress-track {
	background-color: var(--grey-400) !important;
}
html body .message-view__guide__item__sign {
	color: var(--neutral-300);
}
html body .msg-info-popup .quote-banner-content .quote-text {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .msg-info-popup .rl-msg .quote-banner {
	margin-bottom: 10px !important;
}
html body .msg-info-popup .rl-msg .msg-from-me .rl-username {
	color: var(--blue-base);
}
html body .msg-info-popup .rl-msg .msg-from-me .rl-msg-time {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .multi-select-mode-selected .card {
	border-color: var(--blue-base);
}
html body .multi-select-mode-selected .card.card--text.show-sender > .card-sender-name {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .multi-select-mode-selected .card-send-time {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .multi-select-mode-selected .quote-name-container .quote-name {
	color: var(--neutral-300);
}
html body .multi-select-mode-selected .quote-banner-content .quote-text {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .multi-select-mode-selected .message-reaction-container .reacts-list,
  html body .multi-select-mode-selected .message-reaction-container .msg-reaction-icon {
	border-color: var(--blue-500);
	background-color: var(--blue-600);
}
html body .multi-select-mode-selected .message-reaction-container .msg-reaction-icon .default-react-icon-thumb {
	filter: brightness(2);
}
html body .call-msg.--callee {
	background-color: var(--white-300);
}
html body .call-msg__separator {
	border-bottom: 1px solid var(--border);
}
html body .chat-message.me .call-msg {
	border-color: var(--blue-500);
}
html body .chat-message.me .call-msg__separator {
	border-bottom: 1px solid var(--blue-500);
}
html body .chat-message.me .call-msg__content__txt > span {
	color: var(--neutral-300);
	opacity: 0.5;
}
html body .pin-input__item {
	background: var(--white-300);
	color: var(--neutral-300);
}
html body .zl-avatar {
	--white-base: #fff;
	--neutral-500: #000;
}
html body .chat-date .line {
	border-top: 1px solid var(--grey-700);
}
html body .zavi-clock__date, html body .zavi-clock__time {
	color: var(--neutral-300);
}
html body .zavi-btn > .fa-icn-createmeeting {
	color: var(--neutral-300);
}
html body .btn-play {
	color: var(--neutral-300);
}
html body .conv-item.chat-message.first-selected,
  html body .conv-item.chat-message.last-selected,
  html body .conv-item.selected,
  html body .zavi-sidebar-list-item.chat-message.first-selected,
  html body .zavi-sidebar-list-item.chat-message.last-selected,
  html body .zavi-sidebar-list-item.selected
.contact-list-item.chat-message.first-selected,
  html body .contact-list-item.chat-message.last-selected,
  html body .contact-list-item.selected,
  html body .file-sidebar__option.chat-message.first-selected,
  html body .file-sidebar__option.chat-message.last-selected,
  html body .file-sidebar__option.selected {
	background: var(--grey-700);
}
html body .contact-list.web {
	top: 71px;
	height: calc(100% - 71px);
}
html body .image-show__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 32px;
	color: var(--neutral-base);
}
html body .image-show__title > .fl-l {
	margin: 3px 10px 3px 0px !important;
}
html body .image-show__bottom__sender__info {
	color: var(--neutral-base);
}
html body .image-show__bottom__ctrl > .btn,
  html body .image-show__bottom__ctrl > a > .btn {
	color: var(--neutral-base);
}
html body .image-show__icon-fullscreen {
	color: var(--neutral-base);
}
html body .image-show .image-show__reaction .msg-reaction-icon {
	background: var(--neutral-base);
}
html body .image-show__thumb__legend {
	color: var(--neutral-base);
}
html body .timeline-slider__handle {
	background: var(--neutral-base);
}
html body .image-show__close > .fa-close,
  html body .image-show__close > .quote-base__close-icon {
	color: var(--neutral-base);
}
html body .image-show__thumb-container .btn-play {
	color: var(--neutral-base);
}
html body .image-show__caption {
	color: var(--neutral-base);
}
html body .friend-profile__addfriend__msg {
	background: transparent;
}
html body .overlay__video__duration {
	color: var(--neutral-300);
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	font-weight: 500;
}
html body .overlay__video i {
	color: var(--neutral-base);
}
html body .toast {
	color: var(--neutral-300);
	background-color: var(--grey-700);
	border: 1px solid var(--grey-base);
	box-shadow: 4px 4px 12px var(--black-500);
	padding: 16px 24px;
}
html body .app-lock__main__input {
	display: flex;
	align-items: center;
}
html body .app-lock__main__input input {
	height: 40px;
	padding: 0px 16px;
	border-right: 0;
	color: var(--neutral-base);
}
html body .app-lock__main__input a {
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0px 16px;
	border: 1px solid var(--blue-300);
	background: var(--gradient-blue);
	color: var(--neutral-300);
}
html body .chat-input__img-preview__thumb__title {
	color: var(--neutral-300);
	background-color: var(--black-400);
}
html body #scroll-vertical > div {
	background-color: var(--neutral-500) !important;
	opacity: 0.5;
}
html body .file-icon__ext-text {
	color: #fff;
}
` );