mirror of
https://github.com/bitwarden/browser
synced 2025-12-19 09:43:23 +00:00
Dark Theme (#1017)
* Stylesheets * Theme Configuration * Options Area * swal2 style * Icon styling * Fix theme not saving * Update English * Update messages.json * dropdown and login logo * btn-link and totp fix * Organisation Styling * Update webauthn-fallback.ts * Fix contrast issues * Add Paypal Container and Loading svg file * Password Generator contrast fix * Dark Mode Fix buttons and foreground * Fix button hover * Fix Styles after rebase * Add hover on nav dropdown-item * Disable Theme Preview * Options Fix for Default Theme Changes * Updated Colour Scheme * Toast fix * Button and Text Styling * Options Update and Messages Fix * Added Search Icon and Fixed Callout styling * Add theme styling to Stripe * Refactor logic for setting color * Reorder logic to avoid race condition * PayPal Loading and Misc Fix * text-state bug fix * Badge Colour Fix * Remove PayPal Tagline The colour cannot be styled so it's not visible on a dark theme * Adding the Styling from #1131 * Update to New Design * Form and Nav restyle * Modal Opacity and Callout * Nav Colours * Missing Borders * Light theme fix * Improved border for listgroup * Change Org Nav Colour * Save theme to localStorage for persistence * Undo change to Wired image * !Important removal and tweaks * Fix regression with navbar * Light theme by default * Refactor to use getEffectiveTheme * Refactor theme constants to use enum * Set theme in index.html before app loads * Use scss selector to set logo image * Export Sass to TS * Update jslib Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
This commit is contained in:
283
src/scss/pages.scss
Normal file
283
src/scss/pages.scss
Normal file
@@ -0,0 +1,283 @@
|
||||
.password-wrapper {
|
||||
min-width: 0;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.password-row {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.password-letter {
|
||||
@include themify($themes) {
|
||||
color: themed('pwLetter');
|
||||
}
|
||||
}
|
||||
|
||||
.password-number {
|
||||
@include themify($themes) {
|
||||
color: themed('pwNumber');
|
||||
}
|
||||
}
|
||||
|
||||
.password-special {
|
||||
@include themify($themes) {
|
||||
color: themed('pwSpecial');
|
||||
}
|
||||
}
|
||||
|
||||
app-vault-groupings, app-org-vault-groupings, .groupings {
|
||||
.card {
|
||||
#search {
|
||||
margin-bottom: 1rem;
|
||||
@include themify($themes) {
|
||||
background-color: themed('inputBackgroundColor');
|
||||
border-color: themed('inputBorderColor');
|
||||
color: themed('inputTextColor');
|
||||
}
|
||||
|
||||
&::placeholder {
|
||||
@include themify($themes) {
|
||||
color: themed('inputPlaceholderColor');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-weight: normal;
|
||||
text-transform: uppercase;
|
||||
@include themify($themes) {
|
||||
color: themed('textMuted');
|
||||
}
|
||||
}
|
||||
|
||||
ul:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.card-body a {
|
||||
@include themify($themes) {
|
||||
color: themed('headingColor');
|
||||
font-weight: themed('linkWeight');
|
||||
}
|
||||
|
||||
&:hover {
|
||||
&.text-muted {
|
||||
@include themify($themes) {
|
||||
color: themed('iconHover') !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.show-active {
|
||||
display: none;
|
||||
}
|
||||
|
||||
li {
|
||||
> .fa, > div > .fa {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
li.active {
|
||||
> .show-active, > div .show-active {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
|
||||
li.active {
|
||||
> a:first-of-type, > div a:first-of-type {
|
||||
font-weight: bold;
|
||||
@include themify($themes) {
|
||||
color: themed('linkColor');
|
||||
}
|
||||
}
|
||||
|
||||
> .fa, > div > .fa {
|
||||
@include themify($themes) {
|
||||
color: themed('linkColor');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
app-password-generator {
|
||||
#lengthRange {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.card-password {
|
||||
.card-body {
|
||||
@include themify($themes) {
|
||||
background: themed('foregroundColor');
|
||||
}
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
font-family: $font-family-monospace;
|
||||
font-size: $font-size-lg;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
app-password-generator-history {
|
||||
.list-group-item {
|
||||
line-height: 1;
|
||||
@include themify($themes) {
|
||||
background: themed('backgroundColor');
|
||||
}
|
||||
|
||||
.password {
|
||||
font-family: $font-family-monospace;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
app-import {
|
||||
textarea {
|
||||
height: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
app-avatar {
|
||||
img {
|
||||
@extend .rounded;
|
||||
}
|
||||
}
|
||||
|
||||
app-user-billing {
|
||||
.progress {
|
||||
height: 20px;
|
||||
|
||||
.progress-bar {
|
||||
min-width: 50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Register Layout Page - Exempt from themify */
|
||||
body.theme_light_force {
|
||||
background-color: #ECF0F5;
|
||||
a, .btn-link {
|
||||
color: #175DDC;
|
||||
&:hover {
|
||||
color: #104097;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-outline-secondary {
|
||||
color: #6c757d;
|
||||
&:hover {
|
||||
color: #212529;
|
||||
}
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color: #6C757D !important;
|
||||
}
|
||||
|
||||
.card, .card-body {
|
||||
background-color: #FFFFFF;
|
||||
border-color: rgba(0,0,0,.125);
|
||||
}
|
||||
|
||||
.form-control {
|
||||
background-color: #FBFBFB;
|
||||
border: 1px solid #CED4DA;
|
||||
color: #495057;
|
||||
}
|
||||
|
||||
label {
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
&.small {
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
hr {
|
||||
border-top: 1px solid rgba(0,0,0,.1)
|
||||
}
|
||||
.progress {
|
||||
background-color: #E9ECEF;
|
||||
}
|
||||
.bg-primary {
|
||||
background-color: #175DDC !important;
|
||||
}
|
||||
.bg-success {
|
||||
background-color: #00A65A !important;
|
||||
}
|
||||
.bg-warning {
|
||||
background-color: #BF7E16 !important;
|
||||
}
|
||||
.bg-danger {
|
||||
background-color: #DD4B39 !important;
|
||||
}
|
||||
|
||||
.layout {
|
||||
&.enterprise2 {
|
||||
header {
|
||||
background: #175DDC;
|
||||
color: #CED4DA;
|
||||
|
||||
&:before {
|
||||
background: #175DDC;
|
||||
content: "";
|
||||
height: 416px;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: -76px;
|
||||
transform: skewY(-3deg);
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
}
|
||||
img.logo {
|
||||
margin: 12px 0 0;
|
||||
max-width: 284px;
|
||||
height: 57px;
|
||||
width: 284px;
|
||||
}
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #FFFFFF;
|
||||
font-size: 1.8rem;
|
||||
margin: 100px 0 150px 0;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.4rem;
|
||||
margin: 20px 0 40px 0;
|
||||
|
||||
&:before {
|
||||
content: "/";
|
||||
padding-right: 12px;
|
||||
}
|
||||
&:not(.highlight) {
|
||||
&:before {
|
||||
color: #1252A3;
|
||||
}
|
||||
}
|
||||
|
||||
b {
|
||||
&:after {
|
||||
content: "⟶";
|
||||
font-size: 2rem;
|
||||
padding-left: 6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
blockquote {
|
||||
font-size: 1.4rem;
|
||||
margin: 20px 0 0 0;
|
||||
padding-right: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user