// ==UserScript==
// @name Dark VK Theme
// @description Тёмная тема для VK
// @author DygDyg
// @homepage http://dygdyg.ddns.net
// @include https://vk.com/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @require https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js
// @require https://greasyfork.org/scripts/395908-bootstrap/code/bootstrap.js?version=769157
// @resource bootstrapCSS https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css
// @icon https://vk.com/images/icons/favicons/fav_logo.ico
// @version 0.0.11.03
// @run-at document-start
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_addStyle
// @grant GM_info
// @grant GM_unregisterMenuCommand
// @grant GM_registerMenuCommand
// @grant GM_openInTab
// @grant GM_getResourceText
// @namespace https://greasyfork.org/users/303755
// ==/UserScript==
var $ = window.jQuery;
/*{
"enable": true,
"names": "[\"пример1\",\"пример2\",\"пример3\",\"пример4\",\"пример5\" ]"
}*/
if (GM_getValue('enable', null) == null) GM_setValue('enable', false);
if (GM_getValue('names', null) == null) GM_setValue('names', JSON.stringify([]));
GM_addStyle(`.dark-theme-box { position: fixed; white-space: nowrap; z-index: 200; height: 42px; top: 0; left: 0; padding: 0 5px 0 10px; line-height: 42px; } .dark-theme-box a {color: red}`);
let darkStyle = GM_addStyle(`
.ui_rmenu_item,
.olist_item_name,
.app_widget_list_row,
.flat_button.ui_load_more_btn,
.audio_subscribe_promo__text,
a,
.web_cam_photo,
.ui_rmenu_subitem,
.reply_submit_hint_opts .radiobtn,
.gtop_complex_message .gtop_content .gtop_header
{
color: #afc6dc !important;
}
.ui_rmenu_item:hover,
.ui_rmenu_subitem:hover,
.ui_rmenu_item_sel,
.ui_rmenu_item_sel:hover,
.olist_item_wrap:hover,
.box_title_wrap.box_grey
{
background-color: #4a76a8 !important;
}
#top_profile_menu,
.thumbed_link__label,
textarea,
.mv_info,
.media_link__label
.online.mobile:after,
.media_link__label,
.im-mess.im-mess_light,
.nim-dialog:not(.nim-dialog_deleted).nim-dialog_unread.nim-dialog_classic,
div.fc_tab_txt,
#wk_box,
.pv_cont .pv_comments_header,
.Button--mobile:hover,
.ListItem--active,
.EditableLabel:hover .EditableLabel__text,
.ListItem--can-be-hovered.ListItem--selectable:hover,
.result_list ul li.active,
.emoji_tab:hover,
.ui_actions_menu,
.nim-dialog:not(.nim-dialog_deleted):hover,
div.wdd,
.ListItem--active,
.ListItem--border:before,
.wddi_over,
.photos_choose_upload_area:hover,
.web_cam_photo:hover,
.mail_box_cont,
.flat_button.secondary,
.info_msg
{
background: #2f2f2f !important;
box-shadow: 2px 7px 3px rgba(0,0,0,.1);
}
.deep_active .replies .reply_fakebox,
.ui_tabs.ui_tabs_box,
.prefix_input_wrap,
.audio_row:hover:not(.audio_row__current) .audio_row_content,
.audio_page__shuffle_all .audio_page__shuffle_all_button:hover,
.audio_layer_container .audio_friend:hover,
.ui_search_sugg_list .ui_search_suggestion_selected,
.top_notify_cont .feedback_row:not(.dld):hover,
.feedback_row_clickable:not(.feedback_row_touched):hover,
.audio_row.audio_row__current .audio_row_content,
.page_actions_item:hover:not(.grey_hoverable),
.nim-dialog.nim-dialog_classic.nim-dialog_unread-out .nim-dialog--inner-text,
.fc_tab,
.tabbed_box .summary_tab_sel .summary_tab2,
.feedback_row_wrap.unread:not(.feedback_row_touched),
.tabbed_box .summary_tab a:hover,
.blst_last:hover,
.tabbed_box .summary_tab .summary_tab3:hover,
.photos_container .photos_row,
.ms_items_more,
.sticker_hints_tt,
.box_msg,
.box_msg_gray,
.msg,
.tabbed_box .summary_tab_sel .summary_tab3:hover,
.my_current_info:hover,
.audio_pl_snippet2,
.im_msg_audiomsg .audio-msg-track:not(.audio-msg-player):hover,
.photo_upload_separator
{
background-color: #2f2f2f !important;
box-shadow: 2px 7px 3px rgba(0,0,0,.1);
}
body::-webkit-scrollbar
{
-webkit-appearance: none;
width: 11px;
}
body::-webkit-scrollbar-thumb,
.ui_scroll_default_theme>.ui_scroll_bar_container>.ui_scroll_bar_outer>.ui_scroll_bar_inner
{
border-radius: 3px;
background-color: #4a76a8;
transition: background-color 200ms linear, width 150ms linear;
}
#side_bar ol li .left_row,
body,
.ui_rmenu_subitem,
._im_to_unread.im-page--dialogs-filter-wrap a,
.top_notify_cont,
.wddi_text,
.module_header .header_top,
.page_actions_item,
input,
textarea,
.tabbed_box .summary_tab_sel .summary_tab3,
.ChatSettingsInfo__title,
.result_list ul li.active,
.im-aside-notice-promo.group-messages-notify-block .im-aside-notice--title,
.im-aside-notice,
.search_filter_main,
.result_list ul li,
.search_filter_shut,
.im-fwd.im-fwd_msg .im-fwd--messages,
.links-list__title,
#mv_pl_tt .mv_tt_playlist,
.wide_column .topics_module .topic_title,
.topics_module .topic_inner_link,
.ui_search_fltr,
.ui_search_fltr_label,
.post_author_data .post_author_data_title,
.im-chat-input--editing-head,
.page_market_item_narrow_price,
.audio_subscribe_promo__title,
.top_profile_mrow
{
color: #cacaca !important;
}
#side_bar ol li .left_row:hover
{
color: #292929 !important;
background: #909090 !important;
box-shadow: 2px 7px 3px rgba(0,0,0,.1);
}
.eltt,
.pv_author_block,
.pv_cont .narrow_column,
.wall_module .reply_form,
.top_notify_show_all,
.ui_tabs_header,
.box_body,
input,
.wall_module .reply_fakebox_wrap,
.pv_cont .narrow_column,
.wall_module .reply_box,
.mention_tt_actions,
.group_l_row,
.group_tokens_row,
.groups_edit_event_log_page .groups_edit_event_log_controls,
.ui_search_sugg_list,
.links-list__item:hover,
.online.mobile:after,
.stl_active.over_fast #stl_bg,
.profile_info_header,
.profile_info_edit,
#mv_pl_tt .mv_tt_add_playlist,
.emoji_tt_wrap,
.fc_msgs,
.deep_active .replies .reply_box_inner_wrap.fixed,
#groups_menu_items .groups_edit_menu_items .group_apps_list_row_drag_wrapper,
.audio_pl_snippet2 .audio_shuffle_all_button:hover,
#group_apps_list .group_apps_list_rows.group_apps_list_rows_multi .group_apps_list_row_drag_wrapper,
.box_controls
{
background-color: #272727 !important;
}
.page_block,
.ui_search,
.im-page--toolsw,
.im-chat-input,
div[contenteditable=true],
.im-page .im-page--dialogs-footer.ui_grey_block,
.audio_page_layout .audio_friends_list,
#top_notify_wrap,
.tt_default,
.wddi,
.im-chat-input .im-chat-input--txt-wrap,
.im-page--chat-header,
.wpost_post,
.submit_post,
.im-mess.im-mess_unread+.im-mess:before,
.im-page_classic.im-page .im-page--dcontent,
.im-mess.im-mess_selected+.im-mess:before,
.page_block_header,
.settings_block_footer,
.page_actions_wrap,
.im-page_classic.im-page .im-page--chat-body-wrap-inner,
.im-page .im-page--mess-search,
.ChatSettings__content,
.gedit_block_footer,
.selector_container,
.result_list ul,
.List,
.im-dropbox,
.im-create .im-create--tabs,
.im-create,
.emoji_tabs_l_s,
.emoji_tabs_r_s,
.im-aside-notice,
.emoji_tab_sel,
.emoji_tab_sel:hover,
.emoji_cat_title,
.im-page.im-page_classic.im-page_group .im-group-online .im-group-online--inner,
.im-page.im-page_classic.im-page_group .im-group-online,
.emoji_tabs,
.Button--mobile,
.ChatSettingsMembersWidget,
.ui_grey_block,
.ChatSettingsInfo,
.ui_search_fltr,
.emoji_sticker_item:hover,
.photos_choose_upload_area,
.web_cam_photo,
.pv_white_bg,
.im-audio-message-input,
.MessageForward__content
{
background: #272727d4 !important;
}
.im-page .im-page--center-empty
{
filter: invert(0.845) grayscale(100) !important;
}
.nim-dialog .nim-dialog--name .nim-dialog--name-w,
.im-page .im-search-results-head,
.im-popular--name,
.ui_actions_menu_item,
.im-page--title-main-inner,
.feedback_header b,
.ui_tabs .ui_tab_sel,
.page_block_header,
.settings_block_footer,
h2,
#groups_menu_promo .apps_group_catalog_promo_header,
input.dark,
.nim-dialog.nim-dialog_typing .nim-dialog--typing,
.im-page .im-page--mess-search,
.mail_box_group_first_message,
.page_name, h1.page_name,
.audio_pl_snippet2 .audio_shuffle_all_button,
.audio_pl_item2 .audio_pl__subtitle>a
{
color: #ffff !important;
}
.nim-dialog .nim-dialog--date,
div[contenteditable=true],
.nim-dialog .nim-dialog--who,
.ms_items_more._more_items a,
.im-replied--text,
.im-page .im-page--history-new-bar>span,
.audio_page_player2 .audio_page_player_title_song,
.ui_tab_default .ui_tab_plain,
.mv_title,
.mv_comments_summary,
.emoji_cat_title,
.mv_recom_block_title,
#group_section_menu .module_body .ui_gallery .ui_gallery_item .groups_menu_item .groups_menu_item_title
{
color: #e6e6e6 !important;
}
.nim-dialog .nim-dialog--preview,
.top_notify_header,
.top_notify_cont .feedback_header,
.feedback_header,
.Tabs__item--active>*,
.audio_page_layout .audio_item__title
{
color: #949494 !important;
}
.ui_actions_menu_item:hover,
.media_selector .ms_items_more .ms_item:hover,
.profile_more_info_link:hover
{
background-color: #a3a6a9 !important;
color: #000000 !important;
}
.nim-dialog:not(.nim-dialog_deleted).nim-dialog_selected,
.nim-dialog:not(.nim-dialog_deleted).nim-dialog_hovered
{
background: #3d5877 !important;
}
.page_counter .count,
.subheader, h4.subheader,
.tt_w,
.Entity__title,
.audio_page__shuffle_all .audio_page__shuffle_all_button
{
color: #eceff3 !important;
}
.im-mess.im-mess_unread:not(.im-mess_light),
.im-mess.im-mess_selected:last-child:before,
.im-mess.im-mess_unread:last-child:before,
.page_actions_header,
.im-mess.im-mess_selected:not(.im-mess_is_editing),
.ts_cont_wrap
{
background: #252a31 !important;
}
#side_bar .more_div,
.nim-dialog .nim-dialog--content,
.im-chat-input,
.ui_rmenu_sep,
.wall_module .replies_list,
#ads_left.ads_left_empty+.left_menu_nav_wrap,
.pv_comments,
.deep_active .replies .replies_wrap_deep,
.deep_active .post_replies_header,
.wddi,
.wall_module .reply_box,
.submit_post,
.mention_tt_actions,
.im-page .im-page--dialogs-footer,
.wide_column .topics_module .topic_row,
.flat_button.ui_load_more_btn,
.gedit_block_footer,
.top_profile_sep,
.nim-dialog:not(.nim-dialog_deleted):hover+.nim-dialog,
.nim-dialog:not(.nim-dialog_deleted).nim-dialog:hover,
.page_actions_separator,
.ui_actions_menu_sep,
.audio_subscribe_promo,
.ui_search_sugg_list,
.top_notify_show_all,
.feedback_row,
.wall_module .reply~.reply .reply_wrap,
.page_actions_inner,
div.fc_tab_txt,
.olist_item_wrap:hover,
.profile_info_block,
.ui_grey_block,
.nim-dialog:not(.nim-dialog_deleted).nim-dialog_selected+.nim-dialog,
.im-page .im-page--mess-search,
.search_sep,
.search_row,
.bp_post,
.friends_user_row,
.feed_row~.feed_row .feedback_row_clickable:not(.feedback_row_touched):hover,
.im-audio-message-input,
.counts_module
{
border-top-color: #464748 !important;
}
.deep_active .replies .reply_field_wrap .reply_field,
.deep_active .replies .reply_fakebox,
.wdd_list,
div.wdd,
.wpost_post,
.ui_search_new .ui_search_input_inner,
.module,
#top_profile_menu,
.ms_items_more,
.ui_actions_menu,
.eltt,
.ui_search_sugg_list,
#top_notify_wrap,
.page_actions_wrap,
.fc_msgs,
.fc_tab,
div[contenteditable=true],
.tt_default,
.im-chat-input .im-chat-input--txt-wrap
{
border-color:#2f2f2f !important;
}
/*.page_block
{
box-shadow: 0 0 0 0 #d7d8db, 0 0 0 0px #e3e4e8 !important;
}*/
.ui_search,
.im-page--toolsw,
input.BlockSearchInput,
.ui_tabs,
.wide_column .page_top,
.group_l_row,
.group_edit_row_sep,
.page_block_header,
.group_tokens_row,
.group_list_row,
.pv_author_block,
.mv_actions_block,
.im-page .im-page--mess-search,
.olist_item_wrap,
.Tabs,
.im-page_classic.im-page .im-page--chat-input,
.feed_new_posts,
.feedback_row_clickable:not(.feedback_row_touched):hover,
.audio_layer_container .audio_page_player_wrap,
.bt_header,
.gifts_box_rows .post,
.blst_row,
.mv_comments_summary
{
border-bottom-color: #2f2f2f !important;
}
.mv_info_narrow_column,
.mv_recom_block_title,
.im-page_classic.im-page .im-page--header,
.wall_module .copy_quote
{
border-left-color: #272727 !important;
}
.audio_page_layout .has_friends_block .audio_page__rows_wrap,
.im-page_classic.im-page .im-page--header
{
border-right-color:#272727 !important;
}
.chat_onl_inner
{ /* убираем «быстрые диалоги» */
display:none !important;
}
.page_photos_module
{
padding: 15px 15px 15px !important;
}
#page_header_cont .back,
.page_avatar_img,
.stl_active.over_fast #stl_bg,
#profile_message_send,
.stories_feed_preview_item,
.post_img,
.page_post_sized_thumbs,
.im-page--header-more .ui_actions_menu,
.nim-dialog:not(.nim-dialog_deleted).nim-dialog:hover,
.im-chat-input .ms_items_more,
.button_blue button,
.button_gray button,
.button_light_gray button,
.emoji_tt_wrap,
.fc_tab,
.info_msg,
.im-aside-notice,
.List--border,
.page_block,
.online:after,
.im-page.im-page_classic.im-page_group .im-group-online .im-group-online--inner
{
box-shadow: 7px 7px 3px 3px rgba(0,0,0,.1) !important;
}
.online:after {
border: 0px solid #ffffff !important;
box-shadow: 1px 3px 2px 2px rgba(0,0,0,.1);
}
.module_body {
padding: 12px 14px 15px !important;
}
.im-page_classic.im-page .im-page--dialogs-search,
.im-page_classic .im-page--chat-header-in,
.im-chat-input.im-chat-input_classic,
.nim-dialog.nim-dialog_unread .nim-dialog--unread,
.ChatSettingsInfo,
.ChatSettingsMembersWidget,
.List--border,
.Button--mobile,
.im-page_classic.im-page .im-page--chat-body-abs
{
box-shadow: 2px 7px 3px rgba(0,0,0,.1) !important;
}
.im-page_classic .im-page--chat-header,
.im-page_classic.im-page .im-page--chat-input,
.nim-dialog:not(.nim-dialog_deleted).nim-dialog.nim-dialog_classic.nim-dialog_unread,
.nim-dialog:not(.nim-dialog_deleted).nim-dialog_unread.nim-dialog_classic+.nim-dialog,
.ui_tabs.ui_tabs_box,
.ListItem--active,
.ListItem--can-be-hovered.ListItem--selectable:hover,
.like_cont,
.emoji_tt_wrap,
.photos_container .photos_row,
.info_msg,
.bp_post,
.ListItem--active,
.group_friends_image,
.ui_search_fltr,
.emoji_tt_wrap.tt_down:after,
.emoji_tt_wrap.tt_down:before,
#mv_pl_tt .mv_tt_private_only+.mv_tt_playlists,
#mv_pl_tt .mv_tt_add_playlist,
.like_share_ava.wdd_imgs .wdd_img_full,
.like_share_ava.wdd_imgs .wdd_img_half,
.like_share_ava.wdd_imgs .wdd_img_tiny,
.sticker_hints_tt,
.Avatar--online:after,
.box_controls,
.online:after,
.sticker_hints_arrow,
.im-page_classic.im-page .im-page--header
{
border-top-color: #ffffff00 !important;
border-color: #ffffff00 !important;
border-bottom-color: #ffffff00 !important;
border-left-color: #ffffff00 !important;
border-right-color: #ffffff00 !important;
}
.im-page--back-btn:hover
{
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="9" height="16" viewBox="0 0 9 16" fill="rgb(128,141,153)"><path fill="curentCollor" d="M8 15.9c-.2 0-.4-.1-.6-.3l-7-7c-.3-.3-.3-.9 0-1.2l7-7c.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2l-6.4 6.4 6.4 6.4c.3.3.3.9 0 1.2-.2.2-.4.3-.6.3z" opacity=".7"/></svg>') 15px 16px no-repeat, linear-gradient(90deg, #2f2f2f 50%, #272727) !important;
}
.olist_checkbox,
.wall_post_source_icon
{
filter: invert(83%);
}
.bp_post.bp_selected.bp_animated
{
background-color: transparent !important;
border-color: transparent !important;
}
.bp_post.bp_selected
{
background-color: #4872a3 !important;
transition: background-color 5000ms linear, border-color 5000ms linear !important;
}
.emoji_sprite,
.ui_scroll_default_theme.ui_scroll_emoji_theme>.ui_scroll_overflow>.ui_scroll_shadow_top,
.ui_scroll_default_theme.ui_scroll_emoji_theme>.ui_scroll_overflow>.ui_scroll_shadow_bottom
{
filter: invert(90%) !important;
}
.sticker_hints_arrow
{
background: #272727 url(/images/icons/stickers_hints_arrow.png) no-repeat 50% 50% !important;
}
.wddi,
.wddi_over,
.post_actions_btns,
.submit_post
{
border-top-color: #2f2f2f !important;
}
.nim-peer .nim-peer--photo .im_grid>img,
.nim-peer .nim-peer--photo>img,
.nim-peer .nim-peer--photo-w,
.post_img,
.wall_module .copy_post_img,
.module_body .people_cell_img,
.page_list_module .thumb,
.wall_module .reply_img,
.post_field_user_image,
.top_profile_img,
.ow_ava.ow_ava_comm,
.friends_photo_img,
.right_list_img,
.group_row_photo,
.group_row_img,
.page_square_photo,
.page_avatar_img
{
border-radius: 10px !important;
}
.left_menu_nav_wrap,
#side_bar ol
{
box-shadow: 7px 7px 3px 3px rgba(0,0,0,.1) !important;
padding: 6px 2px !important;
background-color: #27272785 !important;
border-radius: 5px !important;
}
.im-page .im-page--history-new-bar>span,
.im-page .im-page--history-new-bar
{
background: #ffffff00 !important;
}
`);
GM_registerMenuCommand('Задать фон', () => {
var background_url = prompt("Задать ссылку на фон/Оставить пустым для серого фона.", GM_getValue('background'));
GM_setValue('background', background_url);
window.location.reload();
});
GM_addStyle(`
body
{
background: url(`+ GM_getValue('background')+`) #2f2f2f;
background-attachment: fixed;
background-size: 100%;
}
`);
$(document).ready(function () {
let names = JSON.parse(GM_getValue('names')).map(v => v.toLowerCase());
let userName = $('.top_profile_name').text();
if (names.indexOf(userName.toLowerCase()) > -1) {
if (darkStyle && darkStyle.id) {
$(`#${darkStyle.id}`).remove();
}
}
$('#side_bar_inner ol').append($('<div>', { class: 'more_div' })).append($('<li>', { id: 'l_bt' }).append($('<a>', { class: 'left_row' }).on("click", () => { window.open('https://greasyfork.org/ru/scripts/392169-dark-vk-theme')}).append($('<span>', {
class: 'left_fixer', html: [
$('<span>', { class: 'left_count_wrap fl_r left_void' }).append($('<span>', { class: 'inl_bl left_count_sign' })),
$('<span>', { class: 'left_icon fl_l' }),
$('<span>', { class: 'left_label inl_bl', text: `Версия: ${GM_info.script.version}` })
]
}))))
$('#side_bar_inner ol').append($('<li>', { id: 'l_bt' }).append($('<a>', { class: 'left_row' }).on("click", () => { window.open('https://vk.com/dygdyg') }).append($('<span>', {
class: 'left_fixer', html: [
$('<span>', { class: 'left_count_wrap fl_r left_void' }).append($('<span>', { class: 'inl_bl left_count_sign' })),
$('<span>', { class: 'left_icon fl_l' }),
$('<span>', { class: 'left_label inl_bl', text: `Автор темы: DygDyg` })
]
}))))
$('#side_bar_inner ol').append($('<li>', { id: 'l_bt' }).append($('<a>', { class: 'left_row' }).on("click", () => { window.open('https://vk.com/topic-109462867_43703182') }).append($('<span>', {
class: 'left_fixer', html: [
$('<span>', { class: 'left_count_wrap fl_r left_void' }).append($('<span>', { class: 'inl_bl left_count_sign' })),
$('<span>', { class: 'left_icon fl_l' }),
$('<span>', { class: 'left_label inl_bl', text: `Нашли баг?` })
]
}))))
});