// ==UserScript==
// @name Craigslist dark theme
// @namespace http://tampermonkey.net/
// @version 1.9.5
// @description Craigslist is so bright! Let's turn down the dimmer.
// @author https://greasyfork.org/en/users/810921-guywmustang
// @match http*://*.craigslist.org/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=craigslist.org
// @grant GM_addStyle
// @run-at document-end
// @license MIT
// ==/UserScript==
(function() {
'use strict';
function addInitialStyle() {
console.log("addInitialStyle...");
GM_addStyle(`
:root {
--darkgray: #252525;
--white-text: #DDDDDD;
--dim-white: #BBBBBB;
--light-blue: #84d7ff;
--dark-gray-blue: #4D6174;
--nearly-black: #2A2F35;
--bright-blue: #268def;
--medium-gray: #444444;
--darker-yellow: #898931;
--black-color: #000000;
--purple-logo: #9d4de7;
}
body, body.dayTheme, ul, footer {
color: var(--white-text) !important;
background-color: var(--nearly-black);
}
a, a:visited {
color: var(--white-text);
}
.homepage #logo a {
color: var(--white-text);
}
.homepage #logo>a:before {
color: var(--purple-logo);
}
.homepage .leftlinks > *,
.homepage .leftlinks li a,
.homepage li a#post:before,
.homepage #postlks a#post,
.homepage #postlks {
color: var(--white-text);
background-color: var(--darkgray);
}
.homepage .emoji {
margin-bottom: 0px;
}
.bd-anchor span.label {
color: var(--black-color);
}
.cl-app-anchor.cl-goto-home span, .cl-app-anchor.cl-goto-home span:visited,
a.cl-thumb-anchor span.icon, button.cl-thumb-button span.icon
.cl-app-anchor.cl-goto-home, .cl-app-anchor.cl-goto-home:visited {
color: var(--white-text);
text-decoration: none;
text-line-decoration: none;
}
/* Account icon color */
a.cl-thumb-anchor.cl-goto-account span.icom-:after {
color: var(--white-text);
}
`);
}
function addStyle() {
console.log("addStyle...");
GM_addStyle(`
:root {
--darkgray: #252525;
--white-text: #DDDDDD;
--dim-white: #BBBBBB;
--light-blue: #84d7ff;
--dark-gray-blue: #4D6174;
--nearly-black: #2A2F35;
--bright-blue: #268def;
--medium-gray: #444444;
--darker-yellow: #898931;
--black-color: #000000;
--purple-logo: #9d4de7;
}
body, body.dayTheme, ul, footer {
color: var(--white-text) !important;
background-color: var(--nearly-black);
}
a, a:visited {
color: var(--white-text);
}
.homepage #logo a {
color: var(--white-text);
}
.homepage #logo>a:before {
color: var(--purple-logo);
}
.homepage .leftlinks > *,
.homepage .leftlinks li a,
.homepage li a#post:before,
.homepage #postlks a#post,
.homepage #postlks {
color: var(--white-text);
background-color: var(--darkgray);
}
.homepage .emoji {
margin-bottom: 0px;
}
.bd-anchor span.label {
color: var(--black-color);
}
.cl-app-anchor.cl-goto-home span, .cl-app-anchor.cl-goto-home span:visited,
a.cl-thumb-anchor span.icon, button.cl-thumb-button span.icon
.cl-app-anchor.cl-goto-home, .cl-app-anchor.cl-goto-home:visited {
color: var(--white-text);
text-decoration: none;
text-line-decoration: none;
}
/* Account icon color */
a.cl-thumb-anchor.cl-goto-account span.icom-:after {
color: var(--white-text);
}
`);
GM_addStyle(`
a,
#leftbar .leftlinks a:visited {
color: var(--light-blue);
font-weight: 500;
}
/* Top bar city banner */
.cl-location-picker-homepage-link a, .cl-location-picker-homepage-link a:visited, .cl-location-picker-homepage-link a:active {
color: var(--light-blue) !important;
}
.bd-can-hover .cl-location-picker-homepage-link a:hover {
color: var(--white-text) !important;
}
.managestatus a {
color: var(--bright-blue) !important;
}
aside#loginWidget a, #loginWidget, #loginWidget a {
border: none;
color: var(--white-text) !important;
background-color: var(--black-color) !important;
}
/* bar graph text colors */
.avg-text, text.tick, line.tickmark, line.arrowhead,
.cl-bar-chart-control .chart-container .xaxis .arrowhead,
.cl-bar-chart-control .chart-container .xaxis .abs-max-price {
stroke: var(--white-text);
font-size: 10px;
font-weight: 100;
}
`);
GM_addStyle(` span.result-price {
color: var(--light-blue) !important;
font-weight: 700 !important;
}
`);
GM_addStyle(` body.dayTheme, nav, ul, aside, section.page-container,
.cl-content,
div.querybox, div.content,
div.form-tab, section.page-container, div.querybox, div.form-tab,
div.search-options-container, div.search-options, .hasPic, .tsb,
.cl-search-query .cl-query-bar,
.ban .bantext, table.cal, .cal td,
div.wrapper {
background-color: var(--nearly-black);
}
.clfooter .desktop a,
.clfooter .desktop a:visited,
.cl-search-result .posting-title .label,
.cl-homepage-action-links a.cl-thumb-anchor .cl-label {
color: var(--white-text);
}
header:has(.cl-area-serach),
header:not(.dateReplyBar),
div.cl-content header,
header.cl-header .bd-button.link-like,
header.cl-header .bd-button.link-like:hover
{
color: var(--white-text) !important;
background-color: var(--black-color) !important;
border-color: var(--black-color) !important;
padding: 0 0 !important;
text-decoration: none !important;
}
header.cl-header .bd-button.link-like,
header.cl-header .bd-button.link-like:hover {
color: var(--white-text) !important;
background-color: var(--black-color) !important;
border-color: var(--black-color) !important;
text-decoration: none !important;
padding: 0 0 !important;
}
div.cl-jsonform-filters-panel span,
div.cl-jsonform-filters-panel button span {
color: var(--white-text) !important;
}
div.cl-jsonform-filters-panel button {
text-decoration: none !important;
}
div.cl-jsonform-filters-panel button:hover {
font-weight: bold;
text-decoration: none !important;
}
.cal td.today {
background-color: var(--darker-yellow) !important;
}
/* Left bar for sale styles */
.cl-search-filters-panel {
background-color: var(--nearly-black);
}
.cl-search-filters-panel .cl-title-bar,
.cl-search-filters-panel .cl-title-bar .back-and-title-links h1,
.cl-jsonform-category-picker div.show-all, .bd-button, .bd-button:hover,
.cl-search-filters-panel a, .cl-search-filters-panel a:visited,
.cl-psa span.label,
.cl-other-cats .category .cat-label > span.label,
a.cl-thumb-anchor span.cl-label, button.cl-thumb-button span.cl-label,
.cl-jsonform-category-picker div.show-all,
.cl-jsonform-category-picker div.hide-some {
color: var(--white-text) !important;
text-decoration: none !important;
}
/* Dropdown button text color */
span.label, span.icon {
color: var(--medium-gray);
}
/* Show contact info "button" */
.posting #postingbody a:hover {
color: var(--white-text) !important;
text-decoration: none !important;
border-color: initial !important;
}
/* Related Searches dropdown/text */
.related-searches span,
.related-searches .label {
color: var(--white-text);
}
`);
// the result boxes
GM_addStyle(`
li.result-row,
div.search-suggs,
.gallery-card,
.cl-search-result.cl-search-view-mode-gallery .gallery-card .titlestring {
background-color: var(--dark-gray-blue);
color: var(--white-text);
}
.cl-result-info .supertitle {
color: var(--dim-white) !important;
}
/* date & location text on tiles */
.cl-search-result.cl-search-view-mode-gallery .gallery-card .meta {
color: var(--dim-white) !important;
}
/* Result tile visited text */
.cl-result-info .title-blob .titlestring:visited,
.cl-search-result a:visited {
color: var(--dim-white) !important;
}
/* Services links */
a.titlestring, a.titlestring:visited {
color: var(--white-text);
}
/* search region text */
.cl-search-result.cl-search-view-mode-thumb .result-node .result-info .supertitle {
color: var(--dim-white);
}
`);
// Updated search button format
GM_addStyle(` .resetsearch .searchlink.changed_input {
color: var(--nearly-black) !important;
font-weight: bold !important;
}
`);
// The 'see also' bar
GM_addStyle(`
/* filter buttons below search box */
.cl-horiz-scroller {
color: var(--white-text) !important;
background-color: var(--nearly-black) !important;
}
div.hub-links > a, .linklike, .search-suggs .prompt, .result-date,
div.cl-hub-links, .cl-hub-links-content, .cl-hub-links-content > a > *, .cl-hub-links-content > h2 {
color: var(--white-text) !important;
background-color: var(--black-color) !important;
}
/* Gallery dropdown & search order dropdown */
.cl-results-toolbar {
color: var(--white-text) !important;
background-color: var(--black-color) !important;
}
`);
GM_addStyle(` header.global-header, .global-header.wide .userlinks,
.to-banish-page, .user-favs-discards,
.header-logo, ul.breadcrumbs, nav.breadcrumbs-container {
color: var(--white-text);
background-color: var(--black-color) !important;
}
/* top bar - hidden, post, account */
.header-logo, .header-logo:visited,
nav.breadcrumbs-container a,
nav.breadcrumbs-container a:visited,
.user-favs-discards a,
ul.user-actions,
ul.user-actions li.user.post a,
ul.user-actions li.user.post a:visited,
ul.user-actions li.user.account a,
ul.user-actions li.user.account a:visited {
color: var(--white-text);
background-color: var(--black-color) !important;
}
`);
GM_addStyle(` .purveyor a:visited, li.button > a,
.buttongroup .button.sel,
.buttongroup, .buttongroup sel, .button.sel, li.button,
.paginator,
a.next, a.backtotop {
color: var(--black-color) !important;
background-color: var(--white-text) !important;
}
.remuneration .sel a, .purveyor .sel a {
color: var(--nearly-black) !important;
}
`);
// Listing page styles
GM_addStyle(` .posting .attrgroup span,
div.prevnext-sec > div > a.next {
color: var(--white-text) !important;
background-color: var(--nearly-black) !important;
border: 0 !important;
}
`);
GM_addStyle(` a.show-contact, .actions-combo .action .action-label {
color: var(--white-text) !important;
}
`);
// Home page styles
GM_addStyle(`
/* Main left bar styles */
.leftbar, #leftbar {
margin: 2px 0px;
background-color: var(--darkgray);
color: var(--white-text);
border: 1px var(--dark-gray-blue) solid;
}
.rightbar, .homepage #rightbar, #rightbar {
background-color: var(--darkgray) !important;
color: var(--white-text) !important;
border: 1px var(--dark-gray-blue) solid !important;
}
#center, field,
.homepage .col ul,
.homepage footer,
.desktop footer,
footer .clfooter li a, footer .clfooter li a:visited,
#topban .sublinks a,
#topban .sublinks a:visited,
#topban .sublinks li,
.cl-filter-buttons,
.cl-component.location-picker-homepage-link a {
margin: 2px 0px;
background-color: var(--nearly-black) !important;
color: var(--white-text) !important!;
}
#center h3 {
padding: 0px;
background-color: var(--dark-gray-blue);
color: var(--white-text);
border: 1px var(--dark-gray-blue) solid;
}
.ban {
font-weight: normal;
}
/* Brighter colors for column header backgrounds */
.ban a, .ban a:visited,
.homepage .ban a, .homepage .ban a:visited {
padding: 0px;
background-color: var(--darkgray);
color: var(--white-text);
border: none;
}
/* Top location bar */
#topban {
background-color: var(--darkgray) !important;
border: 1px var(--dark-gray-blue) solid;
border-top: initial;
border-bottom: initial;
color: var(--white-text);
}
#topban .regular-area {
background-color: var(--darkgray);
color: var(--white-text);
margin-left: 0px;
padding-left: 10px;
}
.homepage h3 .txt {
font-weight: 700;
}
/* center page listing links (ie: for sale -> antiques) */
.homepage .col ul li a {
padding: 0px;
background-color: var(--nearly-black);
color: var(--white-text);
border-bottom: 1px solid var(--dark-gray-blue);
}
/* Home page link hover style */
.homepage .col ul li a:hover,
.homepage .col ul li a:hover span,
.homepage .ban a:hover span,
.homepage .ban a:hover {
padding: 0px;
background-color: var(--white-text);
color: var(--bright-blue);
}
.homepage #rightbar h5 {
color: var(--bright-blue) !important;
}
#rightbar ul.menu li.s a:hover,
#leftbar a:hover,
.homepage a:hover {
color: var(--bright-blue);
}
#rightbar ul.menu li.s a:visited {
color: var(--white-text);
}
/* background color for all/owner/dealer */
.cl-jsonform-select.segmented div button.sel {
background-color: var(--bright-blue);
}
`);
// create a posting link style
GM_addStyle(`
.homepage #postlks #post, #postlks a:visited {
background-color: var(--darkgray);
color: var(--bright-blue);
}
`);
// my account page style
GM_addStyle(`
.accountform-banner, .account-header, #account-homepage, #searchfieldset, #paginator, .account fieldset.homepage_label, .account .accountsettings .setting_name {
background-color: var(--nearly-black);
color: var(--bright-blue);
}
.account .filterbtn {
color: var(--bright-blue);
}
#onetime {
color: var(--black-color);
}
`);
GM_addStyle(`
.managestatus {
background-color: var(--nearly-black);
color: var(--bright-blue);
}
`);
GM_addStyle(`
/* Create post page */
.post .selection-list label,
.post .selection-list label:hover,
div.json-form span.option-label,
div.json-form span.option-label:hover,
div.json-form label.radio-option,
div.json-form label.radio-option:hover,
.json-form .json-form-item.req .label,
.json-form .row .label,
.json-form .boolean .label,
.json-form .json-form-item.disabled .label,
fieldset {
background-color: var(--dark-gray) !important;
color: var(--white-text) !important;
}
.json-form .numeric label.input>*:first-child {
color: var(--darkgray);
}
.json-form .json-form-item.req label.input,
.json-form .json-form-item.req textarea,
.json-form .json-form-item.req select {
border: 1px solid var(--dark-gray-blue) !important;
}
section.body a {
color: var(--bright-blue);
}
/* Actual create page */
.page-container {
background-color: var(--nearly-black);
color: var(--white-text);
}
/* Posting details block */
.json-form .label {
color: var(--dim-white);
}
/* Ignore texts requesting... */
.json-form .json-form-item.phone-warning {
color: var(--nearly-black);
}
`);
GM_addStyle(`
/* Feedback sidebar */
.cl-feedback-tool .banner {
background-color: var(--darkgray);
color: var(--white-text);
}
`);
}
addInitialStyle();
window.onload = function() { addStyle(); }
})();