Greasy Fork is available in English.

Zalo Dark (Nền Tối)

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.

// ==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;
}
` );