diff --git a/scripts/userstyles.yml b/scripts/userstyles.yml index 6c2850dce8..8af15ba1f1 100644 --- a/scripts/userstyles.yml +++ b/scripts/userstyles.yml @@ -1,4 +1,5 @@ collaborators: + - &doughkit doughkit - &nik-rev nik-rev - &AlwaysNur AlwaysNur - &AnubisNekhet AnubisNekhet @@ -903,6 +904,12 @@ userstyles: note: This theme only changes how the colors appear on the tldraw canvas. Exported graphics **will not be Catppuccin-themed**. current-maintainers: [*NekoDrone] past-maintainers: [*GenShibe, *uncenter] + toyhouse: + name: Toyhouse + link: https://toyhou.se + categories: [social_networking, discussion_forum] + color: lavender + current-maintainers: [*doughkit] trinket: name: Trinket link: https://trinket.io diff --git a/styles/toyhouse/catppuccin.user.less b/styles/toyhouse/catppuccin.user.less new file mode 100644 index 0000000000..4be8fcf560 --- /dev/null +++ b/styles/toyhouse/catppuccin.user.less @@ -0,0 +1,385 @@ +/* ==UserStyle== +@name Toyhouse Catppuccin +@namespace github.com/catppuccin/userstyles/styles/toyhouse +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/toyhouse +@version 2000.01.01 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/toyhouse/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atoyhouse +@description Soothing pastel theme for Toyhouse +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/lib.less"; + +@-moz-document domain("toyhou.se") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + body, + .modal-content { + accent-color: @accent; + background: @mantle; + color: @text; + a { + color: @accent; + } + .side-nav { + li.divider { + border-color: @surface0; + } + li.subheader { + background: fade(@accent, 25%); + color: @accent; + a { + color: @accent; + } + } + li.header { + background: @accent; + color: @crust; + a { + color: @crust; + } + } + li.active > a { + &, + &:focus, + &:hover, + &:link { + background: fade(@accent, 10%); + } + } + } + .navbar { + background: @base; + .dropdown-menu { + background: @base; + border-color: @surface1; + a:hover { + background: @surface1; + } + .dropdown-divider, + hr { + background: @surface1; + border-top-color: @surface1; + } + .dropdown-header { + color: @subtext0; + } + } + } + .navbar-inverse .navbar-nav .nav-link { + color: @subtext0; + } + .page-link { + background-color: @surface0; + border-color: @surface2; + color: @accent; + } + .page-item.disabled .page-link { + background-color: @surface1; + color: @subtext0; + } + .pagination .page-jumper { + background-color: @surface0; + border-color: @surface2; + small { + color: @subtext0; + } + } + .btn { + &.btn-primary { + background: @accent; + border-color: @accent; + color: @crust; + &:hover, + &:focus { + background: @crust; + border-color: @accent; + color: @accent; + } + } + } + .bg-faded, + .sidebar { + background: @base; + } + .footer { + background: @surface0; + } + .card { + background: @mantle; + border-color: fade(@accent, 25%); + } + [th-toggle].btn-secondary::before { + background: fade(@accent, 25%); + border-color: @subtext0; + } + .navbar .dropdown-menu .dropdown-divider, + hr { + background: @surface1; + border-top-color: @surface1; + } + .text-muted, + .thumb-character-stat, + .comment .forum-post-post .forum-post-actions .post-action, + .forum-post .forum-post-post .forum-post-actions .post-action, + .comment .forum-post-post .forum-post-footer .forum-post-time, + .forum-post .forum-post-post .forum-post-footer .forum-post-time { + color: @subtext0 !important; + } + .breadcrumb-item + .breadcrumb-item::before { + color: @subtext0; + } + .btn.btn-secondary, + .form-control, + .breadcrumb, + .btn.btn-default, + .img-thumbnail, + .fr-view table th, + ul.tagit.ui-widget, + .nav-mobile-menu, + .list-group-item { + background: @surface0; + border-color: @surface2; + color: @text; + } + .form-control, + .btn.btn-secondary { + color: @text; + &:disabled, + &[readonly] { + background: @surface1; + color: @overlay2 !important; + } + &:not(:disabled):hover { + background: @surface1; + border-color: @overlay0; + } + } + .alert-warning { + background: @yellow; + border-color: @peach; + color: @base; + } + .forum-category-wrapper { + border-color: @surface2; + .forum-category-forum { + background: @base; + border-color: @surface2; + border-width: 0; + &:not(:first-child) { + border-top-width: 1px; + } + } + } + .forum-category-table-wrapper .forum-thread-row.sticky, + .forum-view-table-wrapper .forum-thread-row.sticky { + background: fade(@accent, 10%); + } + .table, + .table thead th { + border-color: @surface2; + } + .custom-radio .custom-control-input:checked ~ .custom-control-indicator, + .custom-checkbox + .custom-control-input:checked + ~ .custom-control-indicator { + fill: @crust !important; + } + .custom-control-indicator { + background-color: @crust; + border-color: @surface2; + } + .custom-control-input:checked ~ .custom-control-indicator { + background-color: @accent; + } + + ul.tagit.ui-widget li.tagit-choice { + &, + &:hover { + background-color: @base; + border-color: @surface2; + color: @text; + .tagit-label:not(a), + a.tagLabel:hover, + a.tagit-close .text-icon:hover { + color: @text; + } + } + } + ul.tagit .ui-widget-content.ui-autocomplete-input, + ul.tagit input[type="text"] { + color: @text; + } + ul.tagit li.tagit-choice .tagit-close .text-icon { + color: @subtext0; + } + .vue-tags-input { + --input-background-color: @surface0; + --input-color: @subtext0; + --color-primary: @accent; + --btn-color-primary: @crust; + .ti-input { + border-color: @surface2; + } + } + + .form-control:focus { + border-color: @accent; + box-shadow: 0 0 0 0.2rem fade(@accent, 25%); + } + .table-bordered, + .table-bordered td, + .table-bordered th { + border-color: @surface2; + } + .table-striped tbody tr:nth-of-type(2n+1) { + background-color: @base; + } + .mfp-wrap .mfp-content .mfp-figure figcaption .mfp-bottom-bar { + border-top-color: @overlay0; + } + [class*="image-"][class*="-bar"] { + background-color: @base; + color: @text; + h2 { + border-bottom-color: @surface2; + } + .image-collapsed .row > div, + .image-left-bar { + border-right-color: @surface2; + } + } + + .badge, + .alert, + [class*="table-"], + [class*="text-"], + [class*="list-group-item-"], + .btn:not([class*="btn-outline"]) { + &[class*="-primary"].badge { + background-color: @accent; + border-color: @accent; + color: @crust; + a { + color: darken(@accent, 50%); + } + } + &[class*="-success"] { + background-color: @green; + border-color: @green; + color: @crust; + a { + color: darken(@green, 50%); + } + } + &[class*="-danger"] { + background-color: @red; + border-color: @red; + color: @crust; + a { + color: darken(@red, 50%); + } + } + &[class*="-warning"] { + background-color: @peach; + border-color: @peach; + color: @crust; + a { + color: darken(@peach, 50%); + } + } + &[class*="-info"] { + background-color: @blue; + border-color: @blue; + color: @crust; + a { + color: darken(@blue, 50%); + } + } + &[class*="-default"]:not(.btn) { + background-color: @subtext0; + border-color: @subtext0; + color: @crust; + a { + color: darken(@subtext0, 50%); + } + } + } + .link-panel::before { + border-color: @surface1; + } + @media (min-width: 992px) { + .link-right .link-panel::before { + border-right-color: transparent; + border-top-color: transparent; + } + .link-left .link-panel::before { + border-left-color: transparent; + border-top-color: transparent; + } + } + @media (max-width: 991.98px) { + .link-right .link-panel::before { + border-bottom-color: transparent; + border-left-color: transparent; + } + .link-left .link-panel::before { + border-right-color: transparent; + border-top-color: transparent; + } + } + .navbar-inverse .navbar-brand, .navbar-inverse .navbar-toggler { + &, &:focus, &:hover { + color: @text; + } + } + .modal-header { + border-bottom-color: @surface2; + } + .modal-footer { + border-top-color: @surface2; + } + } + + .site-wrapper { + color: @subtext0; + box-shadow: inset 0 0 100px @crust; + background: @base; + h2 { + color: @subtext1; + } + .row-icon { + filter: @accent-filter; + } + .row-header { + background-color: fade(@mantle, 50%); + } + .lead { + color: @subtext0; + } + .row-white { + background-color: @surface0; + } + .cover-heading { + color: @text; + text-shadow: 0 0 5px @text; + } + } + } +}