diff --git a/files/assets/css/classic.css b/files/assets/css/classic.css deleted file mode 100644 index 131cf6c7f..000000000 --- a/files/assets/css/classic.css +++ /dev/null @@ -1,524 +0,0 @@ -:root { - --white: #f1f1f1 !important; - --black1: #888 !important; - --black2: #222222 !important; - --black3: #4f4f4f !important; - --grey : #ccc !important; - --red: #b40457 !important; - --blue: #369 !important; - --upvote: #ff8b60 !important; - --downvote: #9393ff !important; - --sticky: #228822 !important; - - --primary: var(--black1) !important; - --bg1: url('../images/classic1.webp') !important; - --bg2: url('../images/classic2.webp') !important; -} - -/*navbar*/ -.navbar-light, .navbar .container-fluid, #mobile-bottom-navigation-bar { - background-color: var(--white) !important; -} - -.form-inline.search input { - background-color: white !important; -} - -.nav.settings-nav { - background-color: var(--red); -} - -.nav-link.active { - color: var(--white) !important; - box-shadow: inset 0 -2px 0 var(--white) !important; -} - -.nav-link { - color: var(--grey) !important; -} - -/*common*/ -body, .card, #main-content-row { - background-color: var(--white) !important; - background-image: var(--bg2) !important; - color: var(--black1); -} - -.posts .card { - border-color: var(--grey) !important; -} - -.btn-primary, .btn-secondary { - background-color: var(--red) !important; - color: white !important; - border-color: transparent; -} - -.score-up, .active.arrow-up::before, .arrow-up::after, .arrow-up:hover::before { - color: var(--upvote) !important; -} - -.score-down, .active.arrow-down::before, .arrow-down::after, .arrow-down:hover::before { - color: var(--downvote) !important; -} - -.arrow-up::before, .arrow-down::before, .score { - color: var(--black1); -} - -/*.controversial { - color: var(--red) !important; -}*/ - -a { - color: var(--blue); -} - -.post-title a { - color: var(--blue) !important; -} - -.fa-thumbtack.text-admin, .card.stickied .post-title a { - color: var(--sticky) !important; -} - -.flaggers, .flaggers a { - background-color: white !important; - color: var(--black3) !important; - border-color: var(--grey); -} - -.dropdown-menu, .dropdown-menu a { - color: var(--black3); - background-color: white; -} - -.popover, .pop-username, .pop-bio, .popover-user-profile, .popover-user-profile * { - background-color: var(--white); - color: var(--black3); - border-color: var(--black1) !important; -} - -.text-muted { - color: var(--grey) !important; -} - -/*frontpage*/ -#frontpage .container { - max-width: 2160px; - padding-left: 20px; - padding-right: 20px; -} - -#frontpage .d-lg-flex, -#frontpage .font-weight-bold.py-3 { - display: none !important; -} - -#frontpage .sidebar { - background-color: white !important; - color: black; -} - -#frontpage .col.h-100.custom-gutters .row .col { - background-image: var(--bg1) !important; -} - -#frontpage .dropdown .btn { - background-color:transparent !important; - color:yellow; - text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black !important; - border-color: transparent; - font-size: 1.3rem; -} - -#frontpage .dropdown-toggle, #frontpage i.fas.mr-1 { - color:yellow !important; -} - -/*post*/ -.post-meta, .post-actions a, .post-actions button, .nav-link .fas, label, small, .comment-actions * { - color: var(--black1) !important; -} - -.comment, .comment-text, .comment-section, .comment-body, .post-body { - background-color: white; - color: var(--black2) !important; -} - -#post-text { - margin: 15px; -} - -.anchor.comment { - border-left: 2px dotted var(--black1) !important; -} - -.comment-collapse-desktop { - border-left: none !important; -} - -blockquote { - border-left: 2px solid #c5c1ad !important; - background-color: white !important; - color: #4f4f4f !important; -} - -.form-control, .comment-box.form-control.rounded { - background-color: white !important; - color: var(--black2) !important; -} - -.comment-box, .form-control{ - border-color: var(--black1) !important; -} - -.text-info.new-comments { - color: #ff4500 !important; -} - -#thread #dropdownMenuButton { - background-color: var(--red) !important; - color: white !important; - border-color: transparent; -} - -.btn.format { - background-color: transparent !important; - color: var(--black1) !important; - border-color: transparent !important; -} - -/*userpage*/ -#userpage .nav.settings-nav { - background-color: transparent; -} - -#userpage .nav-link { - color: var(--red) !important; -} - -#userpage .nav-link.active { - box-shadow: inset 0 -2px 0 var(--red) !important; -} - -/*leaderboard*/ -#settings2 .container, #settings2 .container-fluid { - background-color: transparent !important; -} - -#settings2 .bg-white { - background-color: var(--white) !important; -} - -#settings2 .text-muted { - color: var(--black1) !important; -} - -#settings2 .nav.settings-nav { - margin: auto !important; -} - -#settings2 .table { - color: var(--black1); -} - -/*shop*/ -#message .container { - background-color: transparent !important; -} - -#message .table { - color: var(--black1); -} - -/*submit*/ -#submit .container { - background-color: transparent !important -} - -#submit .text-muted { - color: var(--black1) !important; -} - -#submit #create_button { - background-color: var(--red) !important; - color: white !important; - border-color: transparent; -} - -#submit .btn.format { - background-color: transparent !important; - color: var(--black1) !important; - border-color: transparent !important; -} - -#submit .row.fixed-bottom { - background-color: var(--white) !important -} - -/*settings*/ -#settings .text-small, #settings .text-small-extra { - color: var(--black1) !important; -} - -#settings .custom-control-label::before { - background-color: var(--grey) !important; -} - -#settings .custom-control-input:checked ~ .custom-control-label::before { - opacity: 1; - background-color: var(--black1) !important; - border: var(--blue) solid 0.1px; -} - -/*assorted patches I don't feel like categorizing*/ -#followers-table td { - color: var(--black3); -} - -.btn-danger { - border-color: #E53E3E !important; - color: red !important; -} - -.btn.caction .score-up { - color: var(--upvote) !important; -} - -.btn.caction .score-down { - color: var(--downvote) !important; -} - -.user-info .text-muted { - color: var(--black1) !important; -} - -.shop .btn { - background-color: var(--black1) !important; -} - -#mobile-bottom-navigation-bar .text-primary { - color: var(--red) !important; -} - -#mobile-bottom-navigation-bar .text-muted { - color: var(--black1) !important; -} - -#settings2 .nav-link.active .fas { - color: var(--white) !important; -} - -#navbarResponsive .nav-link { - color: var(--black1) !important; -} - -.mobile-nav-icon { - color: var(--black1); -} - -/*patch*/ -#frontpage .container { - margin-top: -5px -} - -.table { - color: var(--black3) -} - -:root { - --gold: #f59e0b !important; - --pink: #ec72de !important; - --purple: #9333ea !important; - --bluecheck: #1DA1F2 !important; - --red-hover: #d2106c !important -} - -#settings2 .text-muted { - color: var(--black3)!important; -} - -.fa-robot { - color: var(--purple) !important; -} - -.fa-broom { - color: var(--sticky) !important; -} - -.post-title span.patron { - background-color: var(--purple) -} - -.btn-primary:hover, .btn-secondary:hover { - background-color: var(--red-hover) !important; - color: white!important; - border-color: var(--red-hover) -} - -.dropdown-menu a:hover { - color: var(--red); - background-color: #fff; - font-weight: bold; -} - -#frontpage .card-header div { - z-index: 2 !important; -} - -#navbarResponsive .nav-link:hover i { - color: var(--red) !important; -} - -.btn-secondary:focus, .btn-secondary.focus { - box-shadow: none; - background-color: white!important; - color: var(--red)!important; - border-color: var(--red); -} - -.shop .btn { - border-color: var(--grey) !important; - background-color: var(--red) !important; -} - -.nav-link.active { - font-weight: bold; -} - -a.text-danger, button.text-danger { - color: #dc3545 !important -} - -a.text-info, button.text-info { - color: var(--sticky) !important -} - -label.custom-control-label::after, label.custom-control-label::before { - background-color: var(--black1) !important -} - -.custom-control-input:checked ~ .custom-control-label::after { - background-color: var(--grey) !important; -} - -#settings .sticky { - top: 70px; -} - -.border-bottom { - border-bottom: 1px solid var(--grey) !important; -} - -a.nav-link:hover { - color: white !important -} - -.nav.settings-nav { - border: 1px solid var(--red-hover) -} - -#thread .anchor.comment { - border-left: 2px solid var(--grey)!important; -} - -.anchor.comment.mt-0 { - border-left: none !important; -} - -.notifs .anchor.comment { - border-left: none !important; -} - -.notifs .comment-collapse-desktop { - border-left: 2px solid var(--grey)!important; -} - -#userpage .nav.settings-nav { - border:none; -} - -#userpage .btn-danger { - background-color:red !important; - color: white !important; - border-color: var(--gold) !important -} - -#userpage .btn-success { - background-color: var(--sticky) !important; - color: white !important; - border-color: var(--gold) !important -} - -#userpage .container-fluid.pb-0.text-center.bg-white.d-md-none { - margin-top: -32px !important; -} - -#userpage .profile-pic-65 { - border-radius: 0; - border-color: transparent !important; -} - -#settings2 .nav.settings-nav .fas { - color: var(--grey) !important -} - -#settings2 .nav-link.active .fas { - color: white !important -} - -#settings2 .btn .fas { - color: white !important -} - -#frontpage .settings .d-lg-flex { - display: block !important; -} - -#frontpage .container .col-lg-8 { - background-image: none !important; -} - -#post-text a, #post-text img { - margin-left: 0px; - margin-right: 0px; - margin-top: 0px; -} - -.tooltip { - color:black !important; -} - -#frontpage .btn.btn-secondary.text-small-m { - color: #ff0 !important; - text-shadow: -1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000 !important; - background: transparent !important; -} - - -.d-flex.justify-content-between.align-items-center.pt-3.pb-2.sorting { - float: left !important; - padding-top: 0 !important; -} - -.sorting { - padding-bottom: 0 !important; -} - -.comment-anchor:target, .unread { - background: #88888833 !important; - padding: 12px; -} - -#chat-window { - background-color: white !important; -} - -.chat-message { - color: var(--black2) !important; -} - -#frontpage .post-title a:visited, .visited { - color: #6e6e6e !important; -} diff --git a/files/assets/css/classic_dark.css b/files/assets/css/classic_dark.css deleted file mode 100644 index 96b3471ae..000000000 --- a/files/assets/css/classic_dark.css +++ /dev/null @@ -1,206 +0,0 @@ -@import 'classic.css?v=55'; - -/*navbar*/ -.navbar-light, .navbar .container-fluid, #mobile-bottom-navigation-bar { - background-color: var(--black2) !important; -} - -.form-inline.search input { - background-color: var(--black1) !important; -} - -.nav-link.active { - color: var(--white) !important; - box-shadow: inset 0 -2px 0 var(--white) !important; -} - -.nav-link { - color: var(--grey) !important; -} - -/*common*/ -body, .card, #main-content-row { - background-color: var(--black2) !important; - /*background-image: var(--bg2);*/ - color: var(--white); -} - -.posts .card { - border-color: var(--black3) !important; -} - -.arrow-up::before, .arrow-down::before, .score { - color: var(--black1); -} - -.post-title a { - color: var(--grey) !important; -} - -.flaggers, .flaggers a { - background-color: var(--black2) !important; - color: var(--black1) !important; - border-color: var(--grey); -} - -.dropdown-menu, .dropdown-menu a { - color: var(--grey); - background-color: var(--black2); -} - -.popover, .pop-username, .pop-bio, .popover-user-profile, .popover-user-profile * { - background-color: var(--black2); - color: var(--grey); - border-color: var(--black1) !important; -} - -.text-muted { - color: var(--grey) !important; -} - -/*frontpage*/ -#frontpage .sidebar { - background-color: var(--black2) !important; - color: var(--grey); -} - -#frontpage .dropdown .btn { - background-color:transparent !important; - color:yellow; - text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black !important; - border-color: transparent; - font-size: 1.3rem; -} - -#frontpage .dropdown-toggle, #frontpage i.fas.mr-1 { - color:yellow !important; -} - -/*post*/ -.post-meta, .post-actions a, .post-actions button, .nav-link .fas, label, small, .comment-actions * { - color: var(--grey) !important; -} - -.comment, .comment-text, .comment-section, .comment-body, .post-body { - background-color: var(--black2); - color: var(--grey) !important; -} - -blockquote { - border-left: 2px solid #c5c1ad !important; - background-color: var(--black3) !important; - color: var(--grey) !important; -} - -.form-control, .comment-box.form-control.rounded { - background-color: var(--black2) !important; - color: var(--black1) !important; -} - -#thread #dropdownMenuButton { - background-color: var(--red) !important; - color: white !important; - border-color: transparent; -} - -.btn.format { - background-color: transparent !important; - color: var(--black1) !important; - border-color: transparent !important; -} - -/*leaderboard*/ -#settings2 .bg-white { - background-color: var(--black2) !important; -} - -/*submit*/ -#submit .row.fixed-bottom { - background-color: var(--black2) !important -} - -/*assorted patches I don't feel like categorizing*/ -#followers-table td { - color: var(--black1); -} - -#mobile-bottom-navigation-bar .text-primary { - color: var(--red) !important; -} - -#mobile-bottom-navigation-bar .text-muted { - color: var(--black1) !important; -} - -#settings2 .nav-link.active .fas { - color: var(--grey) !important; -} - -#navbarResponsive .nav-link { - color: var(--black1) !important; -} - -.mobile-nav-icon { - color: var(--black1); -} - -/*patch*/ -#settings2 .text-muted { - color: var(--black3)!important; -} - -.btn-primary:hover, .btn-secondary:hover { - background-color: var(--red-hover) !important; - color: white!important; - border-color: var(--red-hover) -} - -.dropdown-menu a:hover { - color: var(--red); - background-color: #fff; - font-weight: bold; -} - -#navbarResponsive .nav-link:hover i { - color: var(--red) !important; -} - -.btn-secondary:focus, .btn-secondary.focus { - box-shadow: none; - background-color: white!important; - color: var(--red)!important; - border-color: var(--red); -} - -a.nav-link:hover { - color: white !important -} - -.nav.settings-nav { - border: 1px solid var(--red-hover) -} - -#thread .anchor.comment { - border-left: 2px solid var(--black1)!important; -} - -.notifs .comment-collapse-desktop { - border-left: 2px solid var(--black1)!important; -} - -.srd { - background-color: var(--black3) !important -} - -#navbar .form-control.w-100 { - color: var(--white) !important; -} - -/*chat*/ -.chat-message { - color: var(--white) !important; -} - -#frontpage .post-title a:visited, .visited { - color: #6e6e6e !important; -} diff --git a/files/helpers/const.py b/files/helpers/const.py index 0429a6f65..d3fdb3dc1 100644 --- a/files/helpers/const.py +++ b/files/helpers/const.py @@ -33,6 +33,9 @@ BUG_THREAD = 0 WELCOME_MSG = f"Welcome to {SITE_TITLE}! Please read [the rules](/rules) first. Then [read some of our current conversations](/) and feel free to comment or post!\n\nWe encourage people to comment even if they aren't sure they fit in; as long as your comment follows [community rules](/rules), we are happy to have posters from all backgrounds, education levels, and specialties." ROLES={} +THEMES = {"TheMotte", "dramblr", "reddit", "transparent", "win98", "dark", + "light", "coffee", "tron", "4chan", "midnight"} + IMGUR_KEY = environ.get("IMGUR_KEY").strip() PUSHER_ID = environ.get("PUSHER_ID", "").strip() PUSHER_KEY = environ.get("PUSHER_KEY", "").strip() diff --git a/files/helpers/jinja2.py b/files/helpers/jinja2.py index d3dff24b1..b96f4f848 100644 --- a/files/helpers/jinja2.py +++ b/files/helpers/jinja2.py @@ -64,4 +64,5 @@ def inject_constants(): "config":app.config.get, "DEFAULT_COLOR":DEFAULT_COLOR, "COLORS":COLORS, + "THEMES":THEMES, } diff --git a/files/routes/settings.py b/files/routes/settings.py index a76416b68..95e2a6ec3 100644 --- a/files/routes/settings.py +++ b/files/routes/settings.py @@ -240,9 +240,7 @@ def settings_profile_post(v): theme = request.values.get("theme") if theme: - if theme in {"TheMotte", "dramblr", "reddit", "classic", "classic_dark", - "transparent", "win98", "dark", "light", "coffee", "tron", "4chan", - "midnight"}: + if theme in THEMES: if theme == "transparent" and not v.background: return {"error": "You need to set a background to use the transparent theme!"} v.theme = theme diff --git a/files/templates/settings_profile.html b/files/templates/settings_profile.html index 2e45cafe1..2a8b13cba 100644 --- a/files/templates/settings_profile.html +++ b/files/templates/settings_profile.html @@ -76,10 +76,7 @@
Change the theme for the website.