diff --git a/.env.example b/.env.example index cc70644c..d44f9555 100644 --- a/.env.example +++ b/.env.example @@ -5,7 +5,7 @@ QUART_DEBUG=true HOST=127.0.0.1 PORT=5000 -LNBITS_SITE_TITLE=LNbits + LNBITS_ALLOWED_USERS="" LNBITS_DEFAULT_WALLET_NAME="LNbits wallet" LNBITS_DATA_FOLDER="./data" @@ -13,6 +13,10 @@ LNBITS_DISABLED_EXTENSIONS="amilk" LNBITS_FORCE_HTTPS=true LNBITS_SERVICE_FEE="0.0" +# Change theme +LNBITS_SITE_TITLE=LNbits +LNBITS_THEME_OPTIONS="classic,green,orange" + # Choose from LNPayWallet, OpenNodeWallet, LntxbotWallet, LndWallet (gRPC), # LndRestWallet, CLightningWallet, LNbitsWallet, SparkWallet LNBITS_BACKEND_WALLET_CLASS=VoidWallet diff --git a/lnbits/core/templates/core/extensions.html b/lnbits/core/templates/core/extensions.html index ced46ee1..daeb660f 100644 --- a/lnbits/core/templates/core/extensions.html +++ b/lnbits/core/templates/core/extensions.html @@ -24,7 +24,7 @@
Open diff --git a/lnbits/core/templates/core/index.html b/lnbits/core/templates/core/index.html index 7ca61a3a..14842e92 100644 --- a/lnbits/core/templates/core/index.html +++ b/lnbits/core/templates/core/index.html @@ -8,7 +8,7 @@ {% if lnurl %} Add a new wallet
- +
diff --git a/lnbits/core/templates/core/wallet.html b/lnbits/core/templates/core/wallet.html index d127b6f9..2856f253 100644 --- a/lnbits/core/templates/core/wallet.html +++ b/lnbits/core/templates/core/wallet.html @@ -22,7 +22,7 @@
Paste Request Create Invoice scan @@ -342,7 +342,7 @@
@@ -355,7 +355,7 @@
@@ -395,7 +395,7 @@

{% endraw %}
- Pay + Pay Cancel
@@ -423,7 +423,7 @@ {{ parse.lnurlauth.pubkey }}

- Login + Login Cancel @@ -485,9 +485,7 @@
- Send satoshis + Send satoshis Cancel @@ -512,7 +510,7 @@
Read - New AMilk @@ -109,7 +109,7 @@ > Create amilk - Add Bleskomat @@ -150,14 +150,14 @@ Update Bleskomat - New captcha @@ -141,7 +141,7 @@ @@ -157,7 +157,7 @@
Create captcha {% raw %} - New copilot instance @@ -357,7 +354,7 @@ - New Product - New Indexer Frontend shop your stall will list its products in @@ -282,7 +282,7 @@ Update Product @@ -290,7 +290,7 @@ Update Indexer @@ -382,7 +382,7 @@ SubmitLink to your ticket! diff --git a/lnbits/extensions/events/templates/events/index.html b/lnbits/extensions/events/templates/events/index.html index 384cf630..5d3cc262 100644 --- a/lnbits/extensions/events/templates/events/index.html +++ b/lnbits/extensions/events/templates/events/index.html @@ -4,7 +4,7 @@
- New Event @@ -267,14 +267,14 @@ Update Event Create Event - Scan ticket diff --git a/lnbits/extensions/jukebox/templates/jukebox/index.html b/lnbits/extensions/jukebox/templates/jukebox/index.html index 0bdcc3f0..ee572111 100644 --- a/lnbits/extensions/jukebox/templates/jukebox/index.html +++ b/lnbits/extensions/jukebox/templates/jukebox/index.html @@ -6,7 +6,7 @@ Add Spotify Jukebox @@ -149,15 +149,15 @@
Continue - Continue + Continue
Cancel Submit keys - Submit keys
Cancel{% raw %}{{ locationcb }}{{ jukeboxDialog.data.sp_id }}{% endraw @@ -256,17 +256,17 @@
Authorise access - Authorise access
Cancel Create Jukebox - Create Jukebox + Create Jukebox
Cancel
{% raw %} - + {{ nextCurrentTrack && nextCurrentTrack === livestream.current_track ? 'Stop' : 'Set' }} current track @@ -46,7 +46,7 @@ >
- Set percent rate
@@ -61,7 +61,7 @@
Tracks
- Add new track
@@ -296,7 +296,7 @@
diff --git a/lnbits/extensions/lnticket/templates/lnticket/display.html b/lnbits/extensions/lnticket/templates/lnticket/display.html index b432ce9e..d570ad79 100644 --- a/lnbits/extensions/lnticket/templates/lnticket/display.html +++ b/lnbits/extensions/lnticket/templates/lnticket/display.html @@ -33,7 +33,7 @@
Submit - New Form @@ -217,7 +217,7 @@ Update Form @@ -225,7 +225,7 @@ Create Form - New pay link @@ -227,14 +227,14 @@ Update pay link Items
- Add new item
@@ -111,7 +111,7 @@ Print QR Codes @@ -123,7 +123,7 @@ @@ -151,7 +151,7 @@ > @@ -180,7 +180,7 @@ > @@ -199,7 +199,7 @@ @@ -308,7 +308,7 @@
diff --git a/lnbits/extensions/paywall/templates/paywall/display.html b/lnbits/extensions/paywall/templates/paywall/display.html index 391f4e84..7bc7d9b8 100644 --- a/lnbits/extensions/paywall/templates/paywall/display.html +++ b/lnbits/extensions/paywall/templates/paywall/display.html @@ -24,7 +24,7 @@ dense flat icon="check" - color="deep-purple" + color="primary" type="submit" @click="createInvoice" :disabled="userAmount < paywallAmount || paymentReq" diff --git a/lnbits/extensions/paywall/templates/paywall/index.html b/lnbits/extensions/paywall/templates/paywall/index.html index fdda6cf5..2fe7b4ea 100644 --- a/lnbits/extensions/paywall/templates/paywall/index.html +++ b/lnbits/extensions/paywall/templates/paywall/index.html @@ -4,7 +4,7 @@
- New paywall @@ -141,7 +141,7 @@ @@ -157,7 +157,7 @@
Create paywall {% raw %} - New charge @@ -265,7 +262,7 @@
- + Clear @@ -68,7 +68,7 @@ diff --git a/lnbits/extensions/subdomains/templates/subdomains/display.html b/lnbits/extensions/subdomains/templates/subdomains/display.html index e46228cd..e52ac73c 100644 --- a/lnbits/extensions/subdomains/templates/subdomains/display.html +++ b/lnbits/extensions/subdomains/templates/subdomains/display.html @@ -53,7 +53,7 @@
Submit - New Domain @@ -233,14 +233,14 @@ Update Form Create Domain - New TPoS @@ -119,7 +119,7 @@
Create TPoS - New User - New Wallet @@ -172,7 +172,7 @@ Create User Create Wallet {% raw %} - New wallet - +
Point to another Mempool {{ this.mempool.endpoint }} @@ -143,7 +143,7 @@
- Quick vouchers - Advanced withdraw link(s) @@ -197,7 +194,7 @@ @@ -216,14 +213,14 @@ Update withdraw link

diff --git a/lnbits/settings.py b/lnbits/settings.py index b42d06ec..8ce0ff3b 100644 --- a/lnbits/settings.py +++ b/lnbits/settings.py @@ -29,7 +29,9 @@ LNBITS_ALLOWED_USERS: List[str] = env.list( LNBITS_DISABLED_EXTENSIONS: List[str] = env.list( "LNBITS_DISABLED_EXTENSIONS", default=[], subcast=str ) + LNBITS_SITE_TITLE = env.str("LNBITS_SITE_TITLE", default="LNbits") +LNBITS_THEME_OPTIONS = env.str("LNBITS_THEME_OPTIONS", default="classic,green,orange") WALLET = wallet_class() DEFAULT_WALLET_NAME = env.str("LNBITS_DEFAULT_WALLET_NAME", default="LNbits wallet") diff --git a/lnbits/static/js/base.js b/lnbits/static/js/base.js index cebd5cfc..ca30dfef 100644 --- a/lnbits/static/js/base.js +++ b/lnbits/static/js/base.js @@ -311,7 +311,14 @@ window.windowMixin = { } } }, + methods: { + changeColor: function (newValue) { + document.body.setAttribute('data-theme', newValue) + console.log(document.body.getAttribute('data-theme')) + console.log(newValue) + this.$q.localStorage.set('lnbits.theme', newValue) + }, toggleDarkMode: function () { this.$q.dark.toggle() this.$q.localStorage.set('lnbits.darkMode', this.$q.dark.isActive) @@ -328,6 +335,12 @@ window.windowMixin = { }, created: function () { this.$q.dark.set(this.$q.localStorage.getItem('lnbits.darkMode')) + if (this.$q.localStorage.getItem('lnbits.theme')) { + document.body.setAttribute( + 'data-theme', + this.$q.localStorage.getItem('lnbits.theme') + ) + } if (window.user) { this.g.user = Object.freeze(window.LNbits.map.user(window.user)) } diff --git a/lnbits/static/js/components.js b/lnbits/static/js/components.js index e1faf2fe..0845b555 100644 --- a/lnbits/static/js/components.js +++ b/lnbits/static/js/components.js @@ -35,7 +35,7 @@ Vue.component('lnbits-wallet-list', { @@ -118,7 +118,7 @@ Vue.component('lnbits-extension-list', { @@ -219,7 +219,7 @@ Vue.component('lnbits-payment-details', {
- + extra {{ entry.key }}: diff --git a/lnbits/static/scss/base.scss b/lnbits/static/scss/base.scss index 2af63bab..3766d164 100644 --- a/lnbits/static/scss/base.scss +++ b/lnbits/static/scss/base.scss @@ -1,34 +1,86 @@ -$dark-background: #1f2234; -$dark-card-background: #333646; +$themes: ( + 'classic': ( + primary: #673ab7, + secondary: #9c27b0, + dark: #1f2234, + info: #333646, + marginal-bg: #1f2234, + marginal-text: #fff + ), + 'mint': ( + primary: #3ab77d, + secondary: #27b065, + dark: #1f342b, + info: #334642, + marginal-bg: #1f342b, + marginal-text: #fff + ), + 'autumn': ( + primary: #b7763a, + secondary: #b07927, + dark: #34291f, + info: #463f33, + marginal-bg: #342a1f, + marginal-text: rgb(255, 255, 255) + ), + 'flamingo': ( + primary: #d11d53, + secondary: #db3e6d, + dark: #e75480, + info: #ec7599, + marginal-bg: #e75480, + marginal-text: rgb(255, 255, 255) + ), + 'monochrome': ( + primary: #494949, + secondary: #6b6b6b, + dark: #000, + info: rgb(39, 39, 39), + marginal-bg: #000, + marginal-text: rgb(255, 255, 255) + ) +); +[data-theme='quasar'] .q-drawer--dark { + background: #121212 !important; +} + +@each $theme, $colors in $themes { + @each $name, $color in $colors { + @if $name == 'dark' { + [data-theme='#{$theme}'] .q-drawer--dark, + body[data-theme='#{$theme}'].body--dark, + [data-theme='#{$theme}'] .q-menu--dark { + background: $color !important; + } + } + @if $name == 'info' { + [data-theme='#{$theme}'] .q-card--dark, + [data-theme='#{$theme}'] .q-stepper--dark { + background: $color !important; + } + } + } + [data-theme='#{$theme}'] { + @each $name, $color in $colors { + .bg-#{$name} { + background: $color !important; + } + .text-#{$name} { + color: $color !important; + } + } + } +} [v-cloak] { display: none; } -.bg-lnbits-dark { - background-color: $dark-background; -} - -body.body--dark, -body.body--dark .q-drawer--dark, -body.body--dark .q-menu--dark { - background: $dark-background; -} - -body.body--dark .q-card--dark { - background: $dark-card-background; -} - body.body--dark .q-table--dark { background: transparent; } -body.body--light, -body.body--light .q-drawer { - background: whitesmoke; -} - body.body--dark .q-field--error { .text-negative, .q-field__messages { diff --git a/lnbits/templates/base.html b/lnbits/templates/base.html index 1e39b608..78bbd5d5 100644 --- a/lnbits/templates/base.html +++ b/lnbits/templates/base.html @@ -7,6 +7,7 @@ {% endfor %} + {% block styles %}{% endblock %} {% block title %}{{ SITE_TITLE }}{% endblock %} @@ -19,9 +20,9 @@ {% block head_scripts %}{% endblock %} - - - + + + {% block drawer_toggle %} {% endblock %} + +
+ classic mint autumn + + flamingo + + monochrome + + quasar + +
+
+ Toggle Dark Mode @@ -93,7 +157,7 @@