MediaWiki:Vector-darkmode.less/interface.less

From Old School Near-Reality Wiki
Jump to navigation Jump to search

//

/* ==============================
     skin stuff outside mw-body
   ============================== */

// sidebar headers
.vector-menu-portal .vector-menu-heading {
    color: @dark-text;
}

// tabs
.vector-menu-tabs {
	ul li {
		background: @cloud-burst;
	}

// selected tab
	.selected {
		background: @dark-page;
		a,
		a:visited {
			color: @dark-text;
		}
	}
}

// tab hover
.vector-menu-tabs ul li:not(.selected):hover,
// "More" dropdown
#p-cactions:hover #p-cactions-label {
    background: lighten( @cloud-burst, 4% );
}

// "More" dropdown
.vector-menu-dropdown {
	.vector-menu-heading {
		background: @cloud-burst;

		span {
	        color: @dark-links;
	    }


		// downward arrow
	    &:after {
	    	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 12 12%22%3E %3Cpath d=%22M11.05 3.996l-.965-1.053-4.035 3.86-3.947-3.86L1.05 3.996l5 5 5-5%22 fill=%22%238cabe6%22/%3E %3C/svg%3E");
	    }
	}
    
    // dropdown box
    .vector-menu-content {
		border: none;
		background-color: @cloud-burst;
	}
	
	.selected {
		a,
		a:visited {
			color: @dark-text;
		}
	}

}

// top links
#p-personal {
	background: fade( @dark-body, 50% );
	top: 0;
	right: 0;
	border-radius: 0 0 0 .3em;
	
	ul {
		list-style-image: none;
	}

}

#pt-skin-toggles .oo-ui-icon-advanced {
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%23ccd9f4' fill-rule='evenodd'/%3E%3C/svg%3E");
}

#pt-notifications-alert,
#pt-notifications-notice {
	.mw-echo-notifications-badge.mw-echo-notifications-badge-all-read,
	.mw-echo-notifications-badge {
		opacity: 1;
	}
}

// bell icon
#pt-notifications-alert .mw-echo-notifications-badge {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E bell %3C/title%3E%3Cpath fill='%23ccd9f4' d='M16 7a5.38 5.38 0 0 0-4.46-4.85C11.6 1.46 11.53 0 10 0S8.4 1.46 8.46 2.15A5.38 5.38 0 0 0 4 7v6l-2 2v1h16v-1l-2-2zm-6 13a3 3 0 0 0 3-3H7a3 3 0 0 0 3 3z'/%3E%3C/svg%3E");
}

// inbox icon
#pt-notifications-notice .mw-echo-notifications-badge {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E tray %3C/title%3E%3Cpath fill='%23ccd9f4' d='M17 1H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 12h-4l-1 2H8l-1-2H3V3h14z'/%3E%3C/svg%3E");
}

// person icon has a fill for each path - you need to change both
.vector-user-menu-legacy {
	#pt-userpage a,
	#pt-anonuserpage {
		background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%23ccd9f4' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%23ccd9f4' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E");
	}
}

// "Not logged in" text for anons
#pt-anonuserpage {
	color: @dark-text;
}

// search bar
.vector-search-box-inner {
	background: @pickled-bluewood;
}

.vector-search-box-input {
	color: @dark-text;
	
	// border comes from /elements.less
	border: none;
	
	&::placeholder {
		color: @dark-text;
		opacity: .6;
	}
}

// magnifying glass
.searchButton {
	// border comes from /elements.less
	border: none !important;
	
	&[name='go'] {
		background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213%22%3E %3Cg fill=%22none%22 stroke=%22%238cabe6%22 stroke-width=%222%22%3E %3Cpath d=%22M11.29 11.71l-4-4%22/%3E %3Ccircle cx=%225%22 cy=%225%22 r=%224%22/%3E %3C/g%3E %3C/svg%3E");
	}
}

// search suggestions dropdown
.suggestions {
	&-results,
	&-special {
		background-color: @pickled-bluewood;
		border-color: @waikawa-grey;
	}

	&-result,
	&-special .special-query {
		color: @dark-text;
	}

	&-special .special-label {
		color: @portage;
	}

	&-result-current {
		background-color: #2a4b8d; // default
		color: @dark-text;
		& .special-label,
		& .special-query {
			color: @dark-text;
		}
	}
}

// notify bubbles
.mw-notification {
	background-color: @pickled-bluewood;
	border: 1px solid @waikawa-grey;
	color: @dark-text;
}

// footer
#footer ul {
	list-style: none none;
	li {
		color: @dark-text;
	}
}

// Replacing footer icons. Since MW inserts img tags instead of divs in 36
// we need to do a work around where we set images to display none and add a
// pseudo element with the image to get high def images (and dark mode).
#footer-copyrightico img {
	display: none;
}

#footer-copyrightico a:before {
	background: url(/images/thumb/Creative_Commons_footer_dark.png/88px-Creative_Commons_footer_dark.png?e796d) no-repeat 0 0;
	background-size: 88px;
    content: "";
    width: 88px;
    height: 31px;
    display: inline-block;	
    @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        background-image: url(/images/Creative_Commons_footer_dark.png?e796d);
    }
}

#footer-poweredbyico img {
    display: none;
}

#footer-poweredbyico a:before {
	background: url(/images/thumb/Weird_Gloop_footer_dark.png/88px-Weird_Gloop_footer_dark.png?e796d) no-repeat 0 0;
	background-size: 88px;
    content: "";
    width: 88px;
    height: 31px;
    display: inline-block;
    @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
        background-image: url(/images/Weird_Gloop_footer_dark.png?e796d);
    }
}

/* ========================
       mediawiki things
   ======================== */

// category bar
.catlinks {
    background: @pickled-bluewood;
    border-color: transparent;

    // dividing pipe between cats
    li {
        border-color: @waikawa-grey;
    }

}

// [edit] brackets
.client-js & .mw-content-ltr .mw-editsection-bracket:first-of-type,
.client-js & .mw-content-rtl .mw-editsection-bracket:not(:first-of-type),
.client-js & .mw-content-rtl .mw-editsection-bracket:first-of-type,
.client-js & .mw-content-ltr .mw-editsection-bracket:not(:first-of-type) {
    color: @dark-text;
}

// when VE is turned on
.mw-editsection-divider {
	color: @dark-text;
}

// "redirected from" text
#contentSub,
#contentSub2 {
    color: #99aad0;
}

// contribs footer 
#sp-contributions-footer {
    background-color: @dark-wikitable-background;
    border: none;
}

// anchor marker next to headings
.mw-headline:target {
	color: @lima;
}

// page previews
.mwe-popups {
	background: @pickled-bluewood;
}

.mwe-popups .mwe-popups-container {
	background: @pickled-bluewood;

	// arrow pointing to link
	// seems to be a different class for each possible position and img combination
	&.flipped-x-y:before,
	&.flipped-y:before {
		border-top: none;
	}

	&.mwe-popups-no-image-tri:before {
		border-bottom: none;
	}

	&.flipped-x-y:after,
	&.flipped-y:after {
		border-top-color: @pickled-bluewood;
	}

	&.mwe-popups-no-image-tri:after {
		border-bottom-color: @pickled-bluewood;
	}
	
	// text section
	.mwe-popups-extract {
		color: @dark-text;
	}
	
	// fade for text overflow
	.mwe-popups-extract[dir='ltr']:after {
		background-image: linear-gradient(to right, rgba(49, 62, 89, 0), @pickled-bluewood 50%);
	}
	
	.mwe-popups-settings-icon:hover {
		background-color: @ooui-normal--hover;
	}
}

// Anon preferences popup
.mwe-popups-overlay {
	background-color: var(--ooui-window-background);
}

#mwe-popups-settings {
	background: @ooui-interface;
	header {
		border-color: @ooui-interface-border;
	}
	
	main {
		p {
			color: @ooui-text;
		}
		// text beside radio button
		form label > span {
			color: @ooui-text;
		}
	}
}

// page histories
#pagehistory li.selected {
	border-color: @pickled-bluewood;
	background: @cloud-burst;
	color: @dark-text;
}

//Page history sticky compare
#mw-history-compare > div:first-of-type {
	background-color: @dark-page;
	border-color: @dark-interface-border;
}

// edit summaries
.autocomment,
.autocomment a,
.autocomment a:visited {
	color: @gray-chateau;
}

//Watch star
.vector-menu-tabs #ca-watch.icon a:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22%3E %3Cpath fill=%22transparent%22 stroke=%22%238cabe6%22 stroke-width=%22.99992%22 d=%22M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z%22/%3E %3C/svg%3E");

	&:hover,
	&:focus {
		background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22%3E %3Cpath fill=%22transparent%22 stroke=%22%23f7861b%22 stroke-width=%22.99992%22 d=%22M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z%22/%3E %3C/svg%3E");
	}

}

.vector-menu-tabs #ca-unwatch.icon a:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22%3E %3Cpath fill=%22%238cabe6%22 stroke=%22%238cabe6%22 stroke-width=%22.99992%22 d=%22M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z%22/%3E %3C/svg%3E");

	&:hover,
	&:focus {
		background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22%3E %3Cpath fill=%22%238cabe6%22 stroke=%22%23f7861b%22 stroke-width=%22.99992%22 d=%22M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z%22/%3E %3C/svg%3E");
	}

}

//Create an account page
#bodyContent .mw-number-text h3,
.mw-number-text {
    color: @dark-text;
}

//Dupe upload warning
.mw-destfile-warning {
    border: 4px solid @bold-red;
    color: @dark-text;
    background-color: @dark-wikitable-background;
}

//MU upload
ul.fileupload-results li.ful-success {
    background-color: @bold-green;
    border-color: @dark-interface-border;
}

// redirect arrow
.mw-content-ltr .redirectText li:first-child {
	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2247%22 height=%2220%22 viewBox=%220 0 47 20%22%3E %3Cpath fill=%22none%22 stroke=%22%23cbd9f4%22 stroke-width=%222%22 stroke-miterlimit=%2210%22 d=%22M14.98 2.5V11c0 1.04 1.02 1.98 2.02 1.98h6l3 .02%22/%3E %3Cpath fill=%22%23cbd9f4%22 d=%22M23.48 9.5l.02 7L30 13z%22/%3E %3C/svg%3E");
}

// MediaViewer extension
.mw-mmv-overlay {
	background-color: @black-pearl;
}

// transparency grid
.mw-mmv-image img {
	&.gif,
	&.svg,
	&.png,
	&.tiff,
	&.tif {
		background-image: url('filepath://Dark_mode_checkered_transparency.png');
	}
}

.mw-mmv-post-image.mw-mmv-untruncated,
.jq-fullscreened .mw-mmv-post-image {
	box-shadow: 0 -4px 10px rgba(0,0,0,0.3);
}

.mw-mmv-image-links li {
	color: inherit;
}

.mw-mmv-post-image {
	color: @dark-text;
	background-color: @cloud-burst;
}

.mw-mmv-image-metadata {
	color: @dark-text;
	background-color: @pickled-bluewood;
	border-top: none;
}

.mw-mmv-dialog,
.mw-mmv-dialog .mw-mmv-dialog-down-arrow,
.mw-mmv-options-dialog .mw-mmv-dialog-down-arrow {
	background-color: @pickled-bluewood;
	box-shadow: none;
}

// others
.mw-mmv-options-text-header,
.mw-mmv-options-text-body {
	color: @dark-text;
}

// Enabling box
.mw-mmv-disable-confirmation,
// Disabling box
.mw-mmv-enable-confirmation& {
	.mw-mmv-options-dialog-header {
		color: @dark-text;
	}
}

// Disabled/enabled box
.mw-mmv-options-dialog {
	.mw-mmv-disable-confirmation .mw-mmv-options-text-header,
	.mw-mmv-enable-confirmation .mw-mmv-options-dialog-header,
	.mw-mmv-enable-confirmation .mw-mmv-options-text-header {
		color: @dark-text;
	}
}

.mw-mmv-options-enable-alert {
	background-color: @pickled-bluewood;
	color: @dark-text;
}

.mw-mmv-dialog .mw-mmv-dialog-warning {
	background-color: @cloud-burst;
	color: @dark-text;
}

.mw-mmv-download-pane {
	.mw-mmv-download-attribution {
		background-color: @ooui-normal;
		color: @dark-text;
		
		&:hover {
			background-color: @ooui-normal--hover;
			color: @dark-text;
		}
	}
	
	.mw-mmv-download-attribution-cta-invite {
		color: @dark-text;
	}
	
	.mw-mmv-download-area .mw-mmv-download-preview-link {
		color: @dark-links;
	}
}

.mw-mmv-shareembed-explanation {
	color: @dark-text;
}

//Warning box
.warningbox,
.errorbox {
	color: @bridesmaid;
	background-color: #95271b;
	border-color: transparent;
}

#mw-search-top-table .results-info {
	color: inherit;
	opacity: 0.6;
}

//Special:ProtectedPages
.mw-protectedpages-unknown {
	color: @dark-text;
}

//Soft redirect page arrow
.soft-redirect > div:nth-child(1) > img:nth-child(1) {
	filter: invert(1);
}

.mw-abusefilter-history-changed {
	background: transparent;
}

//Revision slider
.mw-revslider-container {
	border-color: @waikawa-grey;
}

.mw-revslider-slider-wrapper {
	border-top-color: @waikawa-grey;
}

//general mw ui mimicking ooui
//e.g. Special:Browse/page history/MediaViewer
.mw-ui {
	&-button {
		background-color: @ooui-normal;
		border-color: @ooui-normal-border;
		color: @ooui-text;
		&:not(:disabled) {
			&:hover {
				background-color: @ooui-normal--hover;
				border-color: @ooui-normal-border--hover;
				color: lighten( @ooui-text, 4% );
			}
			&:focus {
				background-color: @ooui-normal--hover;
				color: @ooui-text;
			}
			// there's an override for it
			&:visited {
				color: @ooui-text;
			}
		}
		&:disabled {
			background-color: @ooui-disabled;
			border-color: @ooui-disabled;
		}
	}
	
	&-progressive {
		// progressive colours get overriden by above
		&:not(:disabled):hover {
			background-color: @ooui-progressive--hover;
			border-color: @ooui-progressive--hover;
		}
		&:disabled {
			background-color: @ooui-disabled;
			border-color: @ooui-disabled;
		}
	}
	
	&-input {
		background-color: @ooui-input;
		border-color: @ooui-input-border;
		&:hover {
			border-color: @ooui-input-border--hover;
		}
	}
	
	&-quiet {
		background-color: transparent;
		border-color: transparent;
		&:hover {
			border-color: transparent;
		}
		&:focus {
			color: @ooui-text;
		}
	}
}

.mw-ui-icon:before {
	filter: invert(1);
}

// BatchUpload only button?
span.fileinput-button {
	background-color: @ooui-normal;
	border-color: @ooui-normal-border;
    color: @ooui-text;
}